:root {
    --season-gold: #f3bd59;
    --season-ember: #ff7a2d;
    --season-ink: #08100f;
    --season-panel: rgba(9, 20, 19, .9);
    --season-line: rgba(239, 203, 133, .2);
}

body.season-open {
    overflow-x: hidden;
    background: #07100f;
    padding: 0;
}

body .bottom-nav .nav-tile {
    width: auto;
    min-width: 0;
    flex: 1 1 0;
    padding-inline: 2px;
}

.season-screen {
    position: relative;
    z-index: 20;
    min-height: 100vh;
    color: #f6f2e8;
    background:
        radial-gradient(circle at 50% -10%, rgba(161, 108, 45, .26), transparent 36%),
        linear-gradient(180deg, #101b18, #050908 70%);
    font-family: inherit;
    padding: 14px 12px 102px;
    box-sizing: border-box;
}

.season-shell {
    width: min(100%, 760px);
    margin: 0 auto;
}

.season-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 4px 14px;
}

.season-kicker {
    color: #aebbb5;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .15em;
}

.season-header h1 {
    margin: 4px 0 0;
    color: #fff5db;
    font-size: clamp(21px, 6vw, 34px);
    line-height: 1.05;
    text-shadow: 0 2px 18px rgba(0, 0, 0, .7);
}

.season-pool {
    flex: 0 0 auto;
    min-width: 106px;
    padding: 8px 10px;
    border: 1px solid rgba(243, 189, 89, .3);
    border-radius: 12px;
    background: rgba(4, 10, 9, .74);
    text-align: right;
    box-shadow: inset 0 0 18px rgba(243, 189, 89, .06);
}

.season-pool span,
.season-player-bar span,
.ranking-summary span {
    display: block;
    color: #96a59f;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
}

.season-pool strong {
    display: block;
    margin-top: 2px;
    color: var(--season-gold);
    font-size: 18px;
}

.season-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    margin-bottom: 10px;
    padding: 4px;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 14px;
    background: rgba(0, 0, 0, .32);
}

.season-tab {
    appearance: none;
    border: 0;
    border-radius: 10px;
    padding: 11px 10px;
    color: #9eaaa5;
    background: transparent;
    font-weight: 900;
    letter-spacing: .06em;
}

.season-tab.active {
    color: #171007;
    background: linear-gradient(135deg, #ffe09a, #d99737);
    box-shadow: 0 5px 18px rgba(208, 139, 45, .26);
}

.season-panel { display: none; }
.season-panel.active { display: block; }

.season-empty {
    padding: 56px 24px;
    border: 1px solid var(--season-line);
    border-radius: 20px;
    background: var(--season-panel);
    text-align: center;
}

.season-empty-icon { font-size: 54px; }
.season-empty h2 { margin: 12px 0 8px; color: #fff0cb; }
.season-empty p { margin: 0; color: #aab5b0; line-height: 1.55; }

.boss-hud {
    position: relative;
    z-index: 4;
    margin: 0 8px -43px;
    padding: 10px 12px 12px;
    border: 1px solid rgba(244, 192, 93, .32);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(5, 12, 11, .94), rgba(8, 16, 14, .8));
    box-shadow: 0 10px 30px rgba(0, 0, 0, .38);
}

.boss-hud-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 10px;
}

.boss-label {
    display: block;
    color: #a0ada7;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .14em;
}

.boss-hud-row strong { color: #fff0d1; font-size: 15px; }
.boss-health-numbers { color: #cbd3cf; font-size: 11px; white-space: nowrap; }

.boss-health-track {
    height: 12px;
    margin-top: 8px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 999px;
    background: #1c1713;
    box-shadow: inset 0 2px 5px rgba(0, 0, 0, .7);
}

.boss-health-fill {
    width: 100%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #8f1814, #ef4f25 65%, #ffad45);
    box-shadow: 0 0 14px rgba(255, 83, 33, .55);
    transition: width .65s cubic-bezier(.2, .85, .2, 1);
}

.battle-stage {
    --boss-width: 51%;
    --boss-right: -8%;
    --boss-bottom: 17%;
    --hero-width: 44%;
    --hero-left: -1%;
    --hero-bottom: 13%;
    --pet-width: 29%;
    --pet-left: 27%;
    --pet-bottom: 11%;
    position: relative;
    width: 100%;
    aspect-ratio: 9 / 13.2;
    overflow: hidden;
    border: 1px solid rgba(235, 195, 119, .2);
    border-radius: 22px;
    background: #101817;
    box-shadow: 0 22px 55px rgba(0, 0, 0, .52);
    isolation: isolate;
}

.battle-background,
.battle-foreground,
.battle-vignette,
.battle-mist,
.battle-motes {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.battle-background {
    z-index: -5;
    object-fit: cover;
    transform: scale(1.03);
    animation: season-background-breathe 14s ease-in-out infinite alternate;
}

.battle-vignette {
    z-index: -3;
    background:
        linear-gradient(180deg, rgba(2, 7, 8, .25), transparent 22%, transparent 64%, rgba(2, 5, 4, .68)),
        radial-gradient(circle at 50% 46%, transparent 34%, rgba(0, 0, 0, .42) 100%);
    pointer-events: none;
}

.battle-foreground {
    z-index: 8;
    object-fit: cover;
    pointer-events: none;
}

.battle-mist {
    z-index: -1;
    top: auto;
    bottom: 8%;
    height: 30%;
    opacity: .22;
    filter: blur(12px);
    background: radial-gradient(ellipse at center, rgba(181, 210, 203, .65), transparent 67%);
    animation: season-mist 11s ease-in-out infinite alternate;
}

.battle-mist.mist-two {
    bottom: 18%;
    opacity: .13;
    animation-duration: 16s;
    animation-direction: alternate-reverse;
}

.battle-motes { z-index: 7; overflow: hidden; pointer-events: none; }
.battle-motes i {
    position: absolute;
    left: var(--x);
    bottom: -10px;
    width: var(--size);
    height: var(--size);
    border-radius: 50%;
    background: #ffb74f;
    box-shadow: 0 0 9px #ff8a22;
    opacity: 0;
    animation: season-mote var(--duration) linear var(--delay) infinite;
}

.battle-hero-group {
    position: absolute;
    z-index: 3;
    left: var(--hero-left);
    bottom: var(--hero-bottom);
    width: var(--hero-width);
    transform-origin: 50% 90%;
    filter: drop-shadow(0 12px 9px rgba(0, 0, 0, .65));
    animation: season-hero-idle 3.2s ease-in-out infinite;
}

.battle-hero,
.battle-weapon { display: block; width: 100%; height: auto; }
.battle-hero,
.battle-weapon { transform: none; }
.battle-weapon { position: absolute; inset: 0; }

.battle-pet {
    position: absolute;
    z-index: 4;
    left: var(--pet-left);
    bottom: var(--pet-bottom);
    width: var(--pet-width);
    height: auto;
    transform-origin: 50% 85%;
    transform: none;
    filter: drop-shadow(0 8px 7px rgba(0, 0, 0, .65));
    animation: season-pet-idle 2.5s ease-in-out infinite alternate;
}

.battle-boss {
    position: absolute;
    z-index: 2;
    right: var(--boss-right);
    bottom: var(--boss-bottom);
    width: var(--boss-width);
    height: auto;
    transform-origin: 58% 88%;
    filter: drop-shadow(0 18px 13px rgba(0, 0, 0, .72));
    animation: season-boss-idle 3.6s ease-in-out infinite;
    transition: filter .35s ease, opacity .35s ease;
}

.battle-boss.defeated {
    opacity: .76;
    filter: grayscale(.58) drop-shadow(0 15px 12px rgba(0, 0, 0, .75));
}

.battle-hero-group.is-attacking { animation: season-hero-attack 1.75s cubic-bezier(.2, .8, .2, 1) both; }
.battle-boss.is-hit { animation: season-boss-hit .52s ease-out both; }
.battle-stage.shake { animation: season-stage-shake .34s linear; }
.battle-stage.preparing .battle-hero-group { filter: drop-shadow(0 12px 9px rgba(0,0,0,.65)) drop-shadow(0 0 12px rgba(255,183,79,.4)); }

.battle-slash {
    position: absolute;
    z-index: 10;
    top: 43%;
    right: 24%;
    width: 34%;
    height: 4px;
    border-radius: 999px;
    opacity: 0;
    transform: rotate(17deg) scaleX(.2);
    transform-origin: 100% 50%;
    background: linear-gradient(90deg, transparent, #fff8cb 35%, #ff9a35 70%, transparent);
    box-shadow: 0 0 8px #fff, 0 0 22px #ff7b24;
    pointer-events: none;
}

.battle-slash.animate { animation: season-slash .5s ease-out both; }

.battle-impact {
    position: absolute;
    z-index: 9;
    top: 47%;
    right: 16%;
    width: 22%;
    aspect-ratio: 1;
    opacity: 0;
    border-radius: 50%;
    background: radial-gradient(circle, #fff 0 4%, #ffbc55 5% 12%, rgba(255, 86, 24, .75) 13% 24%, transparent 62%);
    filter: blur(.5px);
    pointer-events: none;
}

.battle-impact.animate { animation: season-impact .62s ease-out both; }

.battle-damage {
    position: absolute;
    z-index: 11;
    top: 43%;
    right: 16%;
    min-width: 90px;
    color: #fff2b9;
    font-size: clamp(29px, 10vw, 58px);
    font-weight: 1000;
    line-height: 1;
    text-align: center;
    text-shadow: 0 2px 0 #7d190e, 0 0 15px #ff6a22, 0 8px 22px rgba(0,0,0,.8);
    opacity: 0;
    pointer-events: none;
}

.battle-damage.animate { animation: season-damage 1.15s ease-out both; }

.battle-victory {
    position: absolute;
    z-index: 12;
    top: 16%;
    left: 50%;
    width: 78%;
    padding: 9px 12px;
    transform: translateX(-50%);
    border: 1px solid rgba(255, 218, 137, .42);
    border-radius: 12px;
    background: rgba(4, 12, 10, .83);
    text-align: center;
    box-shadow: 0 8px 26px rgba(0, 0, 0, .45);
}

.battle-victory strong { display: block; color: var(--season-gold); letter-spacing: .12em; }
.battle-victory span { display: block; margin-top: 2px; color: #bec9c3; font-size: 10px; }

.season-player-bar,
.ranking-summary {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
    margin-top: 10px;
}

.season-player-bar > div,
.ranking-summary > div {
    min-width: 0;
    padding: 9px 7px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 11px;
    background: rgba(10, 20, 18, .86);
    text-align: center;
}

.season-player-bar strong,
.ranking-summary strong {
    display: block;
    margin-top: 3px;
    overflow: hidden;
    color: #fff0ca;
    font-size: 14px;
    text-overflow: ellipsis;
}

.season-attack-button {
    position: relative;
    width: 100%;
    margin-top: 10px;
    overflow: hidden;
    border: 1px solid #ffd079;
    border-radius: 14px;
    padding: 14px 20px;
    color: #241205;
    background: linear-gradient(135deg, #ffe09a, #ed9e35 58%, #c66a20);
    font-size: 15px;
    font-weight: 1000;
    letter-spacing: .08em;
    box-shadow: 0 9px 25px rgba(227, 131, 34, .26), inset 0 1px 0 rgba(255,255,255,.55);
}

.season-attack-button:not(:disabled):active { transform: translateY(2px) scale(.995); }
.season-attack-button:disabled { filter: grayscale(.7); opacity: .52; box-shadow: none; }
.attack-button-icon { margin-right: 6px; }

.season-reset-timer { margin-top: 7px; color: #8f9c97; font-size: 10px; text-align: center; }
.season-message,
.ranking-message { min-height: 20px; margin-top: 8px; color: #b9c5bf; font-size: 12px; text-align: center; }
.season-message.error { color: #ff8f7a; }

.ranking-summary { margin: 0 0 12px; }
.ranking-podium { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; align-items: end; }

.podium-card,
.ranking-row {
    appearance: none;
    width: 100%;
    border: 1px solid rgba(255, 255, 255, .09);
    color: #edf3ef;
    background: rgba(10, 21, 19, .9);
    text-align: left;
}

.podium-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: center;
    padding: 12px 5px 10px;
    border-radius: 14px;
    text-align: center;
}

.podium-card.place-1 { min-height: 150px; border-color: rgba(255, 207, 92, .48); background: linear-gradient(180deg, rgba(100, 67, 19, .65), rgba(10,21,19,.94)); }
.podium-card.place-2 { min-height: 132px; }
.podium-card.place-3 { min-height: 118px; }
.podium-card .leader-rank { order: -2; color: var(--season-gold); font-size: 18px; }

.leader-avatar {
    display: grid;
    width: 46px;
    height: 46px;
    margin: 6px 0;
    overflow: hidden;
    place-items: center;
    border: 1px solid rgba(255, 220, 154, .35);
    border-radius: 50%;
    background: #192824;
    font-size: 24px;
}

.leader-avatar img { width: 100%; height: 100%; object-fit: cover; }
.leader-info { display: block; min-width: 0; }
.leader-info strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.leader-info small { display: block; margin-top: 3px; color: #95a49e; font-size: 9px; }

.ranking-list { display: grid; gap: 6px; margin-top: 10px; }
.ranking-row { display: grid; grid-template-columns: 38px 44px 1fr; gap: 8px; align-items: center; padding: 8px 10px; border-radius: 12px; }
.ranking-row .leader-rank { color: var(--season-gold); text-align: center; }
.ranking-row .leader-avatar { width: 38px; height: 38px; margin: 0; font-size: 19px; }

.public-profile-modal {
    position: fixed;
    z-index: 2000;
    inset: 0;
    display: grid;
    align-items: end;
}

.public-profile-modal[hidden] { display: none; }
.profile-modal-backdrop { position: absolute; inset: 0; border: 0; background: rgba(0, 0, 0, .74); backdrop-filter: blur(5px); }
.public-profile-card {
    position: relative;
    z-index: 1;
    width: min(100%, 620px);
    max-height: 82vh;
    margin: 0 auto;
    overflow-y: auto;
    box-sizing: border-box;
    padding: 22px 16px 28px;
    border: 1px solid rgba(247, 204, 119, .3);
    border-radius: 22px 22px 0 0;
    color: #eff5f1;
    background: linear-gradient(180deg, #15231f, #08100e);
    box-shadow: 0 -18px 50px rgba(0, 0, 0, .6);
}

.profile-close { position: absolute; z-index: 2; top: 10px; right: 12px; width: 34px; height: 34px; border: 0; border-radius: 50%; color: #d9e1dd; background: rgba(255,255,255,.08); font-size: 26px; }
.profile-loading { min-height: 180px; display: grid; place-items: center; color: #a8b5af; }
.public-profile-title { display: flex; align-items: center; gap: 12px; padding-right: 40px; }
.public-profile-title h2 { margin: 0; color: #fff0cd; }
.public-profile-title p { margin: 4px 0 0; color: var(--season-gold); }
.public-profile-avatar { display: grid; flex: 0 0 auto; width: 62px; height: 62px; overflow: hidden; place-items: center; border: 2px solid rgba(242, 188, 87, .45); border-radius: 50%; background: #1c2b26; font-size: 31px; }
.public-profile-avatar img { width: 100%; height: 100%; object-fit: cover; }
.public-profile-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 18px; }
.public-profile-stats > div { padding: 10px; border: 1px solid rgba(255,255,255,.08); border-radius: 11px; background: rgba(255,255,255,.035); }
.public-profile-stats span { display: block; color: #91a099; font-size: 10px; }
.public-profile-stats strong { display: block; margin-top: 3px; color: #eef4f0; font-size: 13px; }
.public-equipment { margin-top: 18px; }
.public-equipment h3 { margin: 0 0 8px; color: #f8deb0; }
.public-equipment p { color: #8f9d97; }
.public-equipment-row { margin-top: 6px; padding: 9px 10px; border-left: 3px solid #9ca9a3; border-radius: 7px; background: rgba(255,255,255,.045); }
.public-equipment-row.rarity-uncommon { border-color: #57c66e; }
.public-equipment-row.rarity-rare { border-color: #57a7ff; }
.public-equipment-row.rarity-epic { border-color: #b56eff; }
.public-equipment-row.rarity-legendary { border-color: #ffb548; }

@keyframes season-background-breathe { to { transform: scale(1.065) translate3d(-.5%, -.35%, 0); } }
@keyframes season-mist { from { transform: translateX(-10%) scaleX(1.1); } to { transform: translateX(10%) scaleX(1.25); } }
@keyframes season-mote { 0% { transform: translateY(0) scale(.5); opacity: 0; } 15% { opacity: .8; } 80% { opacity: .25; } 100% { transform: translateY(-480px) translateX(22px) scale(1.2); opacity: 0; } }
@keyframes season-hero-idle { 0%,100% { transform: translateY(0) rotate(-.3deg); } 50% { transform: translateY(-3px) rotate(.35deg); } }
@keyframes season-pet-idle { from { transform: translateY(0) scale(1); } to { transform: translateY(-3px) scale(1.012); } }
@keyframes season-boss-idle { 0%,100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-3px) scale(1.012); } }
@keyframes season-hero-attack { 0% { transform: translate(0,0) rotate(0); } 24% { transform: translate(-2%,1%) rotate(-.7deg); } 42% { transform: translate(2%,0) rotate(.8deg) scale(1.015); } 62% { transform: translate(-1%,0) rotate(-.3deg); } 100% { transform: translate(0,0) rotate(0); } }
@keyframes season-boss-hit { 0% { transform: translate(0,0) scale(1); filter: brightness(1); } 22% { transform: translate(4%,-1%) rotate(2deg) scale(.98); filter: brightness(2.3) saturate(1.8); } 55% { transform: translate(-1%,0) rotate(-1deg) scale(1.01); filter: brightness(.75) saturate(1.4); } 100% { transform: translate(0,0) scale(1); filter: brightness(1); } }
@keyframes season-stage-shake { 0%,100% { transform: translate(0); } 20% { transform: translate(-4px,2px); } 40% { transform: translate(4px,-2px); } 60% { transform: translate(-3px,-1px); } 80% { transform: translate(2px,1px); } }
@keyframes season-slash { 0% { opacity: 0; transform: rotate(17deg) scaleX(.2); } 28% { opacity: 1; } 100% { opacity: 0; transform: rotate(17deg) scaleX(1.35); } }
@keyframes season-impact { 0% { opacity: 0; transform: scale(.1); } 28% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: scale(1.8); } }
@keyframes season-damage { 0% { opacity: 0; transform: translateY(22px) scale(.55); } 24% { opacity: 1; transform: translateY(0) scale(1.18); } 55% { opacity: 1; transform: translateY(-12px) scale(1); } 100% { opacity: 0; transform: translateY(-48px) scale(.85); } }

@media (min-width: 620px) {
    .season-screen { padding-top: 22px; }
    .battle-stage { aspect-ratio: 9 / 11.8; }
}

@media (prefers-reduced-motion: reduce) {
    .battle-background,
    .battle-mist,
    .battle-motes i,
    .battle-hero-group,
    .battle-pet,
    .battle-boss { animation: none; }
    .battle-hero-group.is-attacking { animation-duration: .35s; }
}

/* Ручной режим подготовки сезонного события */
.season-combat-lock {
    position: absolute;
    inset: 0;
    z-index: 20;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 24px;
    text-align: center;
    color: #f4df9a;
    background:
        radial-gradient(circle at center, rgba(27, 31, 35, .74), rgba(4, 7, 9, .94)),
        rgba(4, 7, 9, .9);
    backdrop-filter: blur(3px);
}

.season-combat-lock[hidden] {
    display: none !important;
}
.season-combat-result{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-top:8px;padding:7px;border:1px solid rgba(213,166,77,.3);border-radius:10px;background:rgba(5,10,10,.76)}
.season-combat-result[hidden]{display:none}
.combat-result-item{display:grid;gap:2px;min-width:0;padding:5px 3px;border-radius:7px;background:rgba(255,255,255,.025);text-align:center}
.combat-result-item span{overflow:hidden;color:#817d74;font-size:6px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}
.combat-result-item strong{color:#c6bfae;font-size:9px}
.combat-result-item.active strong{color:#ffcf67}.combat-result-item.triggered{background:rgba(238,179,55,.13);box-shadow:inset 0 0 10px rgba(238,179,55,.12)}
.combat-result-item.triggered strong{color:#ffd963}.combat-result-item.total strong{color:#74e6b8;font-size:11px}

.season-combat-lock .season-lock-icon {
    font-size: 42px;
    filter: drop-shadow(0 0 12px rgba(255, 190, 65, .55));
}

.season-combat-lock strong {
    font-size: 17px;
    letter-spacing: 1.4px;
}

.season-combat-lock span {
    max-width: 310px;
    color: rgba(255, 255, 255, .78);
    font-size: 12px;
    line-height: 1.45;
}
.season-pet-reward{display:flex;align-items:center;gap:12px;margin:0 0 12px;padding:10px 12px;border:1px solid rgba(196,156,224,.45);border-radius:14px;background:linear-gradient(135deg,rgba(65,34,80,.62),rgba(15,20,24,.78))}.season-pet-reward[hidden]{display:none}.season-pet-reward img{width:58px;height:58px;object-fit:cover;border-radius:12px;border:1px solid rgba(211,177,232,.5)}.season-pet-reward span,.season-pet-reward strong,.season-pet-reward small{display:block}.season-pet-reward span{color:#c99ee5;font-size:9px;letter-spacing:.06em}.season-pet-reward strong{color:#f0dfc0;font:700 17px Georgia,serif;margin:3px 0}.season-pet-reward small{color:#c1b5c8;font-size:11px}
.season-admin-open{border:1px solid rgba(99,220,174,.42);border-radius:10px;background:rgba(12,70,56,.72);color:#8ff0c9;padding:8px 10px;font-size:10px;font-weight:800}.season-admin-modal{position:fixed;inset:0;z-index:10020}.season-admin-modal[hidden]{display:none}.season-admin-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(0,0,0,.78)}.season-admin-card{position:absolute;inset:12px 8px calc(72px + env(safe-area-inset-bottom)) 8px;overflow:auto;padding:14px;border:1px solid rgba(82,209,161,.4);border-radius:18px;background:#08110f;color:#d7e5df}.season-admin-card>header{display:flex;justify-content:space-between;align-items:start}.season-admin-card>header span{color:#58d7a7;font-size:9px;letter-spacing:.08em}.season-admin-card h2{margin:3px 0 12px;color:#f0dfc0;font:700 21px Georgia,serif}.season-admin-close{width:34px;height:34px;border:1px solid #355047;border-radius:9px;background:#101b18;color:#d8e4df;font-size:22px}.season-admin-reserve{padding:11px;border:1px solid #29483e;border-radius:12px;background:#0c1915}.season-admin-reserve span,.season-admin-reserve strong,.season-admin-reserve small{display:block}.season-admin-reserve span{font-size:9px;color:#7b9e91}.season-admin-reserve strong{font-size:20px;color:#7ee5bb}.season-admin-reserve small{font-size:9px;color:#788b84;margin-top:3px}.season-admin-form{display:grid;gap:9px;margin:12px 0}.season-admin-form label{display:grid;gap:4px;color:#9cb0a8;font-size:10px}.season-admin-form input,.season-admin-form select{box-sizing:border-box;width:100%;min-width:0;border:1px solid #2d473f;border-radius:9px;background:#0d1714;color:#e1ebe7;padding:10px;font-size:12px}.season-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.season-admin-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:8px}.season-admin-actions button,.season-admin-row button{border:1px solid #34765f;border-radius:9px;background:#123b2f;color:#87e7c0;padding:9px 7px;font-size:9px;font-weight:800}.season-admin-preview{display:grid;gap:3px;padding:10px;border-radius:10px;background:#121b18;color:#9fb1aa;font-size:10px}.season-admin-preview:empty{display:none}.season-admin-preview b{color:#e9ddbe;font-size:12px}.season-admin-preview span,.season-admin-preview em{display:block}.season-admin-preview em{color:#e09b84;font-style:normal}.season-admin-list-title{margin:15px 0 7px;color:#73bda1;font-size:10px;font-weight:800}.season-admin-list{display:grid;gap:8px}.season-admin-row{display:flex;justify-content:space-between;gap:8px;padding:10px;border:1px solid #243a33;border-radius:11px;background:#0b1512}.season-admin-row span,.season-admin-row b,.season-admin-row small{display:block}.season-admin-row span{color:#6dd6ad;font-size:9px}.season-admin-row b{color:#e8dabc;font:700 14px Georgia,serif;margin:2px 0}.season-admin-row small{color:#879991;font-size:9px}.season-admin-row>div:last-child{display:grid;align-content:center;gap:5px;min-width:88px}.season-admin-row button.danger{border-color:#71423d;background:#311c19;color:#e2a49b}.season-admin-message{min-height:18px;margin-top:9px;color:#76d7b1;font-size:11px}.season-admin-message.error{color:#ef9c91}.season-admin-empty{padding:15px;text-align:center;color:#74857e}
.season-header{flex-wrap:wrap}.season-admin-open{width:100%;margin-top:4px}.season-admin-card{padding-bottom:96px}.season-admin-actions{position:sticky;bottom:0;z-index:3;padding:8px 0;background:linear-gradient(180deg,rgba(8,17,15,0),#08110f 25%)}.season-admin-assets{display:grid;grid-template-columns:1fr 1fr;gap:8px}.season-admin-file{position:relative;overflow:hidden;padding:9px;border:1px dashed #3a5b50;border-radius:10px;background:#0b1713}.season-admin-file input{position:absolute;inset:0;opacity:0;cursor:pointer}.season-admin-file span{display:block;color:#77bda3;font-size:9px;margin-top:4px}.season-admin-file img{width:100%;height:72px;object-fit:cover;border-radius:7px;margin-top:7px}.season-admin-file img[hidden]{display:none}
.season-admin-actions{position:static;z-index:auto;padding:0;background:none}
.season-admin-reserve{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.season-admin-reserve>div{min-width:0}.season-admin-reserve strong{font-size:14px}.season-admin-reserve>small{grid-column:1/-1}.season-admin-reserve-ledger{display:grid;gap:5px;margin-top:7px}.season-admin-reserve-ledger:empty{display:none}.season-admin-reserve-ledger>div{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:7px 9px;border:1px solid #213931;border-radius:9px;background:#0a1512}.season-admin-reserve-ledger span,.season-admin-reserve-ledger b,.season-admin-reserve-ledger small{font-size:9px}.season-admin-reserve-ledger span{color:#8ea69d}.season-admin-reserve-ledger b{color:#80dfba}.season-admin-reserve-ledger small{grid-column:1/-1;color:#60776e}
.season-admin-forecast-input{display:grid;grid-template-columns:1fr 1.15fr;gap:8px;align-items:end}.season-admin-forecast-input small{color:#6f847c;font-size:8px}.season-admin-forecast-input button{min-height:38px;border:1px solid #8d7138;border-radius:9px;background:#2b2414;color:#efd27b;font-size:9px;font-weight:800}
