/* Shared seasonal layers. The default keeps the original studio palette. */
[data-price], [data-price-unit] { font: inherit; font-weight: inherit; }
html[data-season="winter"] { --season-paper: #f3f0e9; --season-card: #fcfaf4; --season-wash: #e7e9df; --season-wine: #6d343c; --season-leaf: #819384; --season-glow: #dfc591; --season-line: #72827830; --season-muted: #827b71; }
html[data-season="autumn"] { --season-paper: #f4e9dc; --season-card: #fcf2e5; --season-wash: #ead5bf; --season-wine: #884638; --season-leaf: #bd8b5f; --season-glow: #d5ae77; --season-line: #9c745635; --season-muted: #8e715f; }
html[data-season="summer"] { --season-paper: #f7f2e4; --season-card: #fffaf0; --season-wash: #ece8ce; --season-wine: #85503d; --season-leaf: #8c9c6b; --season-glow: #ddba73; --season-line: #8c905630; --season-muted: #897c60; }
html[data-season="spring"] { --season-paper: #f7eeeb; --season-card: #fff8f3; --season-wash: #efdfda; --season-wine: #864b61; --season-leaf: #94a383; --season-glow: #d7a6ad; --season-line: #ad7c8730; --season-muted: #947a7c; }
html[data-season]:not([data-season="default"]) body {
  --paper: var(--season-paper); --wine: var(--season-wine); --muted: var(--season-muted); --line: var(--season-line);
  --tile: var(--season-card); --tile-peach: var(--season-wash); --tile-line: var(--season-line);
  --tools-paper: var(--season-card); --tools-wine: var(--season-wine); --tools-line: var(--season-line); --tools-field: var(--season-card); --tools-muted: var(--season-muted);
  background: var(--season-paper);
}
html[data-season]:not([data-season="default"]) :is(.mini-shell, .admin-tabs, .bottom-nav) { background: var(--season-paper); }
html[data-season]:not([data-season="default"]) :is(.admin-welcome, .mini-page-heading, .garden-income, .contact-address, .admin-form, .booking:not(.landing-booking), .approach:not(.landing-approach), .upload-box, .dashboard-toolbar) { background: linear-gradient(125deg, var(--season-wash), var(--season-paper)); border-color: var(--season-line); }
html[data-season]:not([data-season="default"]) :is(.lead-card, .material-group, .garden-tax, .mini-card, .mini-plan:not(.featured), .contact-socials, .login-form, .bulk-builder, .completed-homework, .lesson-history, .price-card:not(.featured), .admin-filters, .booking-dialog) { background: var(--season-card); border-color: var(--season-line); }
html[data-season]:not([data-season="default"]) :is(.admin-body input:not([type="checkbox"]), .admin-body select, .admin-body textarea, .admin-body .bulk-day, .admin-body .material-download, .admin-body #notification-fields label, .admin-body .admin-tabs > button[data-panel]:not(.active), .mini-body input, .mini-body textarea) { background: var(--season-card); border-color: var(--season-line); }
html[data-season]:not([data-season="default"]) :is(.admin-welcome h1 em, .garden-money, .welcome-note, .admin-body .dashboard-toolbar h2) { color: var(--season-wine); }
html[data-season]:not([data-season="default"]) :is(.studio-calendar, .admin-body .calendar-day-panel .slot-form) { background: var(--season-card); }
html[data-season]:not([data-season="default"]) :is(.calendar-day-panel, .lessons-next) { background: linear-gradient(125deg, var(--season-wash), var(--season-paper)); }
html[data-season]:not([data-season="default"]) :is(.calendar-arrow, .calendar-day:not([aria-pressed="true"])) { background: var(--season-wash); }
html[data-season]:not([data-season="default"]) :is(.offer-plans > span, .debt-note) { background: var(--season-wash); }
html[data-season]:not([data-season="default"]) .garden-canopy > path[fill]:not([fill="none"]) { fill: var(--season-leaf); }
html[data-season]:not([data-season="default"]) .garden-canopy > path[fill]:not([fill="none"]):nth-child(2n) { opacity: .82; }
.season-atmosphere { position: fixed; inset: 0; overflow: hidden; pointer-events: none; z-index: 8; contain: strict; }
.season-particle { position: absolute; left: var(--x); top: -25px; width: var(--size); height: var(--size); animation: season-fall var(--duration) var(--delay) linear infinite; will-change: transform; }
[data-season="winter"] .season-particle { background: #fffdf5; border-radius: 50%; box-shadow: 0 0 2px #a3a99e66; opacity: .7; }
[data-season="autumn"] .season-particle { background: #b78254; border-radius: 85% 0 85% 0; opacity: .22; }
[data-season="autumn"] .season-particle::after { content: ''; position: absolute; width: 1px; height: 90%; background: #f8eddb; left: 50%; transform: rotate(42deg); }
[data-season="spring"] .season-particle { background: #d7a6ad; border-radius: 80% 15% 65% 40%; opacity: .25; }
[data-season="summer"] .season-particle { background: #e2bc73; border-radius: 50%; opacity: .15; filter: blur(1px); animation-name: season-sun; }
@keyframes season-fall { 0% { transform: translate3d(0,-35px,0) rotate(0); } 50% { transform: translate3d(var(--drift),55vh,0) rotate(105deg); } 100% { transform: translate3d(0,calc(100dvh + 60px),0) rotate(230deg); } }
@keyframes season-sun { 0% { transform: translate3d(0,95vh,0); opacity: 0; } 25%,70% { opacity: .25; } 100% { transform: translate3d(var(--drift),15vh,0); opacity: 0; } }
.season-garland { display: none; pointer-events: none; }
.season-blossoms,.season-snowcap { display:none;pointer-events:none; }
[data-season="winter"] .season-snowcap { display:inline;fill:#fffcf5;opacity:.85; }
[data-season="spring"] .season-blossoms { display:inline; }
.season-flower ellipse { fill:#e1b5b7;stroke:#fff8ef;stroke-width:.45; }
.season-flower circle { fill:#c7a16e; }
.season-flower:nth-child(2n) ellipse { fill:#f0d0c5; }
[data-season="winter"] .season-garland { display: inline; }
.season-garland circle { fill: #f2d397; stroke: #fff0c1; stroke-width: .7; animation: season-light 5s ease-in-out infinite alternate; }
@keyframes season-light { from { opacity: .55; } to { opacity: 1; } }
.brand-bird > span, .wordmark { position: relative; }
html[data-season]:not([data-season="default"]) :is(.brand-bird > span, .wordmark)::after { content: ''; position: absolute; top: -13px; right: -9px; width: 24px; height: 24px; pointer-events: none; background: var(--season-glow); border-radius: 85% 0 85% 0; transform: rotate(-20deg); }
html[data-season][data-season="winter"] :is(.brand-bird > span, .wordmark)::after { width: 33px; height: 25px; top: -16px; right: -8px; border-radius: 0; transform: rotate(12deg); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 30'%3E%3Cpath d='M6 24Q8 7 21 2L33 13 24 11 28 24Z' fill='%2387474d'/%3E%3Cpath d='M5 23Q16 20 29 23L30 28H4Z' fill='%23fffaf0'/%3E%3Ccircle cx='33' cy='13' r='4' fill='%23fffaf0'/%3E%3C/svg%3E") center/contain no-repeat; }
html[data-season][data-season="summer"] :is(.brand-bird > span, .wordmark)::after { border-radius: 50%; width: 17px; height: 17px; box-shadow: 0 0 0 4px #ddba731c; }
html[data-season][data-season="spring"] :is(.brand-bird > span, .wordmark)::after { border-radius: 60% 45% 60% 45%; width: 19px; height: 19px; box-shadow: -5px 4px 0 #e7c3c0, 4px 5px 0 #e7c3c0; }
/* Quiet garland above the little welcome plant, even before the first payment. */
[data-season="winter"] .admin-welcome { background: radial-gradient(ellipse at 90% 0, #dfc59125, transparent 65%), var(--season-wash); }
[data-season="winter"] .welcome-illustration { filter: drop-shadow(0 0 8px #dfc59130); }
.season-paused .season-particle, .season-paused .season-garland circle { animation-play-state: paused; }

.admin-body .admin-tabs { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.appearance-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 26px 0; }
.appearance-options > button { position: relative; display: flex; flex-direction: column; align-items: flex-start; text-align: left; min-width: 0; border: 1px solid var(--tile-line); border-radius: 22px; padding: 15px 15px 20px; background: var(--tile); color: var(--wine); transition: background .2s, border-color .2s; }
.appearance-options > button:hover { border-color: #b18b70; }
.appearance-options > button[aria-pressed="true"] { border-color: var(--wine); background: var(--tile-peach); }
.appearance-preview { display: grid; place-items: center; width: 100%; height: 140px; border-radius: 14px; margin-bottom: 18px; background: #eee2d1; }
.appearance-preview svg { width: 120px; height: 85px; }
.preview-winter { background: #e4e8df; color: #8b9b8b; }
.preview-winter circle { fill: #d6b67d; }
.preview-autumn { background: #ead5bf; color: #89583e; }
.preview-summer { background: #eee9cc; color: #b29455; }
.preview-spring { background: #efdedb; color: #b38793; }
.preview-default { background: #efe2d1; color: #9a8467; }
.appearance-options strong { font: 400 29px/1.2 var(--serif); margin: 0 4px 8px; }
.appearance-options > button > span:not(.appearance-preview) { font: 11px/1.6 Arial,sans-serif; color: var(--muted); margin: 0 4px; }
.appearance-options small { margin: 14px 4px 0; font: 10px Arial,sans-serif; min-height: 12px; visibility: hidden; }
.appearance-options [aria-pressed="true"] small { visibility: visible; }
#appearance-result { min-height: 20px; color: var(--wine); }
@media (max-width: 1100px) { .admin-body .admin-tabs > button[data-panel] { flex-direction: column; gap: 6px; padding: 10px 4px; font-size: 11px; } }
@media (max-width: 700px) {
  .admin-body .admin-tabs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .admin-body .admin-tabs > button[data-panel] { flex-direction: column; font-size: 10px; padding: 8px 2px; }
  .appearance-options { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .appearance-options > button { padding: 10px 10px 16px; border-radius: 18px; }
  .appearance-preview { height: 112px; margin-bottom: 15px; }
  .appearance-options strong { font-size: 26px; }
  .appearance-options > button > span:not(.appearance-preview) { font-size: 10px; }
  .appearance-options > button:last-child { grid-column: 1 / -1; }
  .appearance-options > button:last-child .appearance-preview { height: 90px; }
}
@media (max-width: 360px) { .admin-body .admin-tabs > button[data-panel] { font-size: 9.5px; } }
@media (prefers-reduced-motion: reduce) {
  .season-atmosphere { display: none; }
  .season-garland circle { animation: none; }
  .appearance-options > button { transition: none; }
}

/* A little more winter and spring, while keeping the working surface quiet. */
.season-frame{position:fixed;inset:0;z-index:8;overflow:hidden;pointer-events:none;contain:strict}
.season-header-lights{position:absolute;width:max(100%,700px);height:48px;left:50%;top:-10px;transform:translateX(-50%);overflow:visible}
.season-header-bulb ellipse{fill:#f0cf91;stroke:#fff6d8;stroke-width:.7;filter:drop-shadow(0 0 3px #ebc37c);animation:season-light 4s ease-in-out infinite alternate}
.season-spring-branch{position:absolute;bottom:5%;width:150px;height:200px;opacity:.48}
.season-branch-left{left:-55px}.season-branch-right{right:-55px;transform:scaleX(-1)}
[data-season="winter"] .season-particle.particle-snowflake{background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2v20M3.3 7l17.4 10M3.3 17 20.7 7M8.5 5.5 12 9l3.5-3.5M8.5 18.5 12 15l3.5 3.5M3.7 11.2l4.8-1.3-1.3-4.8M16.8 18.9l-1.3-4.8 4.8-1.3M7.2 18.9l1.3-4.8-4.8-1.3M20.3 11.2l-4.8-1.3 1.3-4.8' fill='none' stroke='%239faea5' stroke-width='1' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;box-shadow:none;opacity:.5}
[data-season="spring"] .season-particle.particle-flower{background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'%3E%3Cg fill='%23dfb3b6'%3E%3Cellipse cx='13' cy='7' rx='4' ry='6'/%3E%3Cellipse cx='13' cy='7' rx='4' ry='6' transform='rotate(72 13 13)'/%3E%3Cellipse cx='13' cy='7' rx='4' ry='6' transform='rotate(144 13 13)'/%3E%3Cellipse cx='13' cy='7' rx='4' ry='6' transform='rotate(216 13 13)'/%3E%3Cellipse cx='13' cy='7' rx='4' ry='6' transform='rotate(288 13 13)'/%3E%3C/g%3E%3Ccircle cx='13' cy='13' r='2.6' fill='%23c8aa73'/%3E%3C/svg%3E") center/contain no-repeat;border-radius:0;opacity:.45}
[data-season="spring"] .season-particle:not(.particle-flower):nth-child(3n){background:#a8b698;opacity:.25;border-radius:90% 0 90% 0}
html[data-season="spring"] body{background:radial-gradient(ellipse at 0 15%,#dce5d63d,transparent 45%),radial-gradient(ellipse at 100% 50%,#f0cece38,transparent 50%),var(--season-paper)}
html[data-season="winter"] body{background:radial-gradient(ellipse at 100% 0,#e4e9e05c,transparent 45%),var(--season-paper)}
html[data-season]:not([data-season="default"]) :is(.finance-dialog,.subscription-dialog,.student-tools-dialog,.schedule-tools-dialog,.workspace-dialog,.admin-toolbox,.subscription-tile,.song-tools-card,.studio-report,.finance-debts,.finance-debt-card,.refund-calculation){background:linear-gradient(125deg,var(--season-wash),var(--season-card));border-color:var(--season-line)}
html[data-season]:not([data-season="default"]) :is(#subscription-tools-admin,#student-subscriptions,#student-songs,#student-tools-materials){background:linear-gradient(125deg,var(--season-wash),var(--season-card));border-color:var(--season-line)}
html[data-season]:not([data-season="default"]) :is(.admin-toolbox-body>#subscription-tools-admin,.admin-toolbox-body>.studio-report,.admin-toolbox-body>.schedule-tools){background:transparent}
html[data-season]:not([data-season="default"]) :is(.studio-report-metric,.studio-report-load,.subscription-badge,.song-tools-file,.refund-history-note){background:var(--season-wash);border-color:var(--season-line)}
.season-paused .season-header-bulb ellipse{animation-play-state:paused}
@media(max-width:650px){.season-spring-branch{display:none}.season-header-lights{top:-15px;height:44px}.season-particle:nth-child(n+19){display:none}}
@media(prefers-reduced-motion:reduce){.season-header-bulb ellipse{animation:none;opacity:.85}}
@media print{.season-frame,.season-atmosphere{display:none!important}}
