:root{color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Microsoft YaHei,sans-serif;--pink-50: #fff8fa;--pink-100: #ffeef3;--pink-200: #ffd9e3;--pink-300: #f7b6c8;--pink-400: #ee8eab;--pink-500: #dc6f91;--purple-100: #f2eaff;--purple-300: #cbb4ef;--purple-500: #9a76c7;--cream: #fffdf9;--ink: #3e3441;--muted: #8f828f;--line: rgba(117, 79, 102, .1);--success: #70b49b;--cancelled: #b7adb5;--danger: #cf627f;--card-shadow: 0 14px 40px rgba(160, 102, 128, .1);--soft-shadow: 0 8px 24px rgba(160, 102, 128, .08)}*{box-sizing:border-box}html,body,#dance-app{min-height:100%;margin:0}html{background:#fff9fb}body{min-width:320px;color:var(--ink);background:-webkit-radial-gradient(12% 8%,circle,rgba(255,213,227,.48),transparent 32%),-webkit-radial-gradient(92% 30%,circle,rgba(225,210,255,.42),transparent 30%),-webkit-linear-gradient(top,#fffafd 0%,#fffdfb 62%,#fbf6ff 100%);background:radial-gradient(circle at 12% 8%,rgba(255,213,227,.48),transparent 32%),radial-gradient(circle at 92% 30%,rgba(225,210,255,.42),transparent 30%),linear-gradient(180deg,#fffafd,#fffdfb 62%,#fbf6ff);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}body.modal-open{overflow:hidden}button,input,textarea{font:inherit}button{color:inherit}button,a,input,textarea{touch-action:manipulation}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(220,111,145,.25);outline-offset:2px}.dance-loading{display:grid;min-height:100vh;min-height:100dvh;place-content:center;color:var(--pink-500);text-align:center}.dance-loading span{font-size:44px;-webkit-animation:loading-float 1.4s ease-in-out infinite alternate;animation:loading-float 1.4s ease-in-out infinite alternate}.dance-loading p{margin:10px 0;font-weight:700;letter-spacing:.12em}@-webkit-keyframes loading-float{to{-webkit-transform:translateY(-8px) rotate(5deg);transform:translateY(-8px) rotate(5deg)}}@keyframes loading-float{to{-webkit-transform:translateY(-8px) rotate(5deg);transform:translateY(-8px) rotate(5deg)}}.dance-app-shell{position:relative;width:min(100%,620px);min-height:100vh;min-height:100dvh;margin:0 auto;overflow:hidden}.app-content{position:relative;z-index:1;min-height:100vh;padding-bottom:calc(94px + env(safe-area-inset-bottom))}.page-background-shape{position:fixed;z-index:0;border-radius:999px;-webkit-filter:blur(2px);filter:blur(2px);pointer-events:none}.shape-one{top:7%;right:max(-120px,calc((100vw - 620px)/2 - 120px));width:260px;height:260px;background:#ffd6e347}.shape-two{bottom:18%;left:max(-150px,calc((100vw - 620px)/2 - 150px));width:280px;height:280px;background:#dac9f93d}.view-page{width:100%;padding:calc(22px + env(safe-area-inset-top)) 18px 34px}.app-header,.simple-header{display:-webkit-box;display:-webkit-flex;display:flex;min-height:82px;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;margin-bottom:20px}.app-header h1,.simple-header h1{margin:3px 0 5px;color:#443548;font-family:Songti SC,STSong,serif;font-size:clamp(28px,8vw,36px);font-weight:800;letter-spacing:-.04em}.app-header>div>p:last-child{margin:0;color:var(--muted);font-size:13px}.eyebrow,.section-kicker{margin:0;color:var(--pink-500);font-size:10px;font-weight:800;letter-spacing:.18em}.brand-mark{display:grid;width:52px;height:52px;-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;place-items:center;border:1px solid rgba(255,255,255,.9);border-radius:18px 24px 19px 25px;color:#fff;background:-webkit-linear-gradient(305deg,#f7b4c8,#d99ee3);background:linear-gradient(145deg,#f7b4c8,#d99ee3);box-shadow:0 10px 24px #da85a645,inset 0 1px #ffffff80;font-size:25px;-webkit-transform:rotate(3deg);transform:rotate(3deg)}.brand-mark span{-webkit-transform:rotate(-3deg);transform:rotate(-3deg)}.brand-mark.large{width:76px;height:76px;margin:0 auto 18px;border-radius:27px 34px 25px 33px;font-size:36px}.header-sticker{display:grid;width:52px;height:52px;place-items:center;border:1px solid white;border-radius:50%;color:var(--pink-500);background:-webkit-linear-gradient(305deg,#fff,#ffe8f0);background:linear-gradient(145deg,#fff,#ffe8f0);box-shadow:var(--soft-shadow);font-size:25px}.hero-card,.income-hero{position:relative;overflow:hidden;padding:25px 24px 22px;border:1px solid rgba(255,255,255,.82);border-radius:28px;color:#fff;background:-webkit-radial-gradient(85% 0%,circle,rgba(255,255,255,.34),transparent 28%),-webkit-linear-gradient(315deg,#f5a8bd 0%,#e795b8 52%,#bd9bdf 100%);background:radial-gradient(circle at 85% 0%,rgba(255,255,255,.34),transparent 28%),linear-gradient(135deg,#f5a8bd,#e795b8 52%,#bd9bdf);box-shadow:0 18px 46px #c37a9d3b}.hero-card:after,.income-hero:after{position:absolute;right:-24px;bottom:-32px;width:150px;height:150px;border:22px solid rgba(255,255,255,.1);border-radius:50%;content:""}.hero-card>p,.income-hero>p{position:relative;z-index:1;margin:0 0 5px;font-size:13px;font-weight:600;opacity:.9}.hero-card>strong,.income-hero>strong{position:relative;z-index:1;display:block;font-size:clamp(42px,13vw,62px);font-weight:800;letter-spacing:-.055em;line-height:1.08}.hero-card>strong small,.income-hero>strong small{margin-right:5px;font-size:22px;font-weight:600}.hero-decoration{position:absolute;top:18px;right:22px;font-size:30px;opacity:.8;-webkit-transform:rotate(8deg);transform:rotate(8deg)}.next-lesson-row{position:relative;z-index:1;display:grid;grid-template-columns:auto auto 1fr;gap:7px;-webkit-box-align:center;-webkit-align-items:center;align-items:center;margin-top:20px;padding-top:15px;border-top:1px solid rgba(255,255,255,.26);font-size:12px}.next-lesson-row>span:first-child{padding:4px 8px;border-radius:999px;color:#9f5873;background:#ffffffd6;font-size:10px;font-weight:800}.next-lesson-row>span:last-child{overflow:hidden;opacity:.9;text-overflow:ellipsis;white-space:nowrap}.content-section{margin-top:30px}.section-heading{display:-webkit-box;display:-webkit-flex;display:flex;min-height:48px;-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;gap:12px;margin-bottom:14px}.section-heading h2{margin:3px 0 0;font-family:Songti SC,STSong,serif;font-size:22px;line-height:1.2}.compact-heading{-webkit-box-align:center;-webkit-align-items:center;align-items:center;margin-bottom:20px}.ribbon-mark{color:var(--pink-400);font-size:25px}.small-action-button,.circle-add-button{min-height:44px;border:1px solid rgba(225,139,168,.2);color:var(--pink-500);background:#ffffffd1;box-shadow:var(--soft-shadow);font-size:13px;font-weight:700}.small-action-button{padding:0 15px;border-radius:15px}.circle-add-button{width:48px;border-radius:50%;font-size:25px}.lesson-list{display:grid;gap:10px}.lesson-card{display:grid;width:100%;min-height:88px;grid-template-columns:58px minmax(0,1fr) 14px;gap:12px;-webkit-box-align:center;-webkit-align-items:center;align-items:center;padding:14px;border:1px solid rgba(255,255,255,.94);border-radius:21px;color:var(--ink);background:#ffffffdb;box-shadow:var(--soft-shadow);text-align:left}.lesson-card:active{-webkit-transform:scale(.985);transform:scale(.985)}.lesson-card.is-completed{background:-webkit-linear-gradient(340deg,rgba(245,255,251,.94),rgba(255,255,255,.88));background:linear-gradient(110deg,#f5fffbf0,#ffffffe0)}.lesson-card.is-cancelled{opacity:.72}.lesson-card.compact{min-height:76px;padding-block:11px}.lesson-time{display:-webkit-box;display:-webkit-flex;display:flex;min-height:55px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;border-radius:16px;color:#c66184;background:-webkit-linear-gradient(305deg,var(--pink-100),#fff7fb);background:linear-gradient(145deg,var(--pink-100),#fff7fb)}.is-completed .lesson-time{color:#4f9b82;background:#e9f8f2}.is-cancelled .lesson-time{color:#8f858d;background:#f1edef}.lesson-time strong{font-size:14px}.lesson-time small{margin-top:2px;font-size:10px;opacity:.68}.lesson-main{display:-webkit-box;display:-webkit-flex;display:flex;min-width:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;gap:5px}.lesson-title-row{display:-webkit-box;display:-webkit-flex;display:flex;min-width:0;-webkit-box-align:center;-webkit-align-items:center;align-items:center;gap:8px}.lesson-title-row>strong{overflow:hidden;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.status-pill{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;padding:3px 7px;border-radius:999px;font-size:9px;font-weight:800}.status-pill.scheduled{color:#c46083;background:#ffe8ef}.status-pill.completed{color:#408970;background:#dcf5ec}.status-pill.cancelled{color:#81757e;background:#eee9ec}.lesson-meta{color:var(--muted);font-size:12px}.one-off-label{margin-left:6px;padding:2px 6px;border-radius:6px;color:var(--purple-500);background:var(--purple-100);font-size:9px;font-weight:700}.lesson-summary{overflow:hidden;color:#8d7588;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.lesson-chevron{color:#c9b8c2;font-size:23px}.empty-card{display:-webkit-box;display:-webkit-flex;display:flex;min-height:160px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;padding:25px;border:1px dashed rgba(217,143,170,.32);border-radius:24px;color:var(--muted);background:#ffffff94;text-align:center}.empty-card strong{color:#6d5b68;font-size:15px}.empty-card p{margin:6px 0 0;font-size:12px}.empty-illustration{display:grid;width:44px;height:44px;margin-bottom:9px;place-items:center;border-radius:50%;color:var(--pink-400);background:var(--pink-100);font-size:23px}.small-empty{min-height:120px}.future-groups{display:grid;gap:20px}.future-group h3{margin:0 0 8px 5px;color:#8b7785;font-size:12px;font-weight:700}.quiet-message{padding:22px;border-radius:18px;color:var(--muted);background:#ffffff9e;text-align:center;font-size:13px}.bottom-nav{position:fixed;z-index:20;right:0;bottom:0;left:0;display:grid;width:min(100%,620px);min-height:calc(69px + env(safe-area-inset-bottom));grid-template-columns:repeat(4,1fr);margin:auto;padding:7px 10px env(safe-area-inset-bottom);border-top:1px solid rgba(152,107,131,.1);background:#fffcfde6;box-shadow:0 -10px 30px #7c556b14;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.nav-item{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;min-height:55px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;gap:2px;border:0;border-radius:18px;color:#9d9098;background:transparent;font-size:10px;font-weight:700}.nav-item.active{color:var(--pink-500)}.nav-item.active:before{position:absolute;inset:4px 13px;z-index:-1;border-radius:16px;background:-webkit-linear-gradient(305deg,#fff0f5,#f8edff);background:linear-gradient(145deg,#fff0f5,#f8edff);content:""}.nav-icon{font-size:22px;font-weight:500;line-height:1}.calendar-card,.settings-card{border:1px solid rgba(255,255,255,.94);border-radius:26px;background:#ffffffd6;box-shadow:var(--card-shadow)}.calendar-card{padding:18px 12px 15px}.term-calendar-switcher,.income-filter-card{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;gap:12px;margin-bottom:12px;padding:12px;border:1px solid rgba(255,255,255,.9);border-radius:20px;background:#ffffffad;box-shadow:var(--soft-shadow)}.term-calendar-switcher label,.income-filter-card label{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;gap:5px;color:var(--muted);font-size:9px;font-weight:700}.term-calendar-switcher select,.income-filter-card select{min-width:102px;min-height:44px;padding:0 12px;border:1px solid rgba(206,126,161,.16);border-radius:14px;color:var(--ink);background:#fffafd;font-size:13px;font-weight:700}.term-chip-row,.income-scope-tabs{display:-webkit-box;display:-webkit-flex;display:flex;min-width:0;gap:6px;overflow-x:auto;scrollbar-width:none}.term-chip-row::-webkit-scrollbar,.income-scope-tabs::-webkit-scrollbar{display:none}.term-chip-row button,.income-scope-tabs button{min-width:58px;min-height:44px;padding:0 13px;border:0;border-radius:14px;color:var(--muted);background:#fff7fa;font-size:11px;font-weight:700;white-space:nowrap}.term-chip-row button.active,.income-scope-tabs button.active{color:#fff;background:-webkit-linear-gradient(305deg,#ee91ad,#bd8bd2);background:linear-gradient(145deg,#ee91ad,#bd8bd2);box-shadow:0 6px 14px #cc6f9833}.month-switcher{display:grid;grid-template-columns:44px 1fr 44px;-webkit-box-align:center;-webkit-align-items:center;align-items:center;margin-bottom:12px}.month-switcher h2{margin:0;font-family:Songti SC,STSong,serif;font-size:19px;text-align:center}.month-switcher>div{text-align:center}.month-switcher>div small{color:var(--muted);font-size:9px}.month-switcher button{width:44px;height:44px;border:0;border-radius:50%;color:var(--pink-500);background:var(--pink-50);font-size:29px}.weekday-row,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.weekday-row span{padding:7px 0;color:#aa98a3;font-size:10px;font-weight:700;text-align:center}.calendar-day{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;min-width:0;aspect-ratio:1;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;border:0;border-radius:14px;background:transparent;font-size:12px}.calendar-day.muted{color:#d1c8cd}.calendar-day.today span{font-weight:900;text-decoration:underline;-moz-text-decoration-color:var(--pink-300);text-decoration-color:var(--pink-300);text-underline-offset:4px}.calendar-day.selected{color:#fff;background:-webkit-linear-gradient(305deg,#f4a1ba,#ce9bdc);background:linear-gradient(145deg,#f4a1ba,#ce9bdc);box-shadow:0 6px 14px #d97fa440;font-weight:800}.calendar-day i{position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%;background:var(--pink-400)}.calendar-day.has-completed i{background:var(--success)}.calendar-day.has-cancelled i{background:var(--cancelled)}.calendar-day.selected i{background:#fff}.calendar-legend{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;gap:15px;margin-top:13px;padding-top:12px;border-top:1px solid var(--line);color:var(--muted);font-size:9px}.calendar-legend span{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;gap:5px}.calendar-legend i{width:6px;height:6px;border-radius:50%}.scheduled-dot{background:var(--pink-400)}.completed-dot{background:var(--success)}.cancelled-dot{background:var(--cancelled)}.selected-day-section{margin-top:26px}.income-hero{padding-bottom:18px}.income-filter-card{-webkit-box-align:center;-webkit-align-items:center;align-items:center}.term-income-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.term-income-summary article{display:grid;gap:3px;padding:14px;border:1px solid rgba(255,255,255,.9);border-radius:18px;background:#ffffffb3;box-shadow:var(--soft-shadow)}.term-income-summary span{color:var(--muted);font-size:10px}.term-income-summary strong{color:#9a5878;font-size:16px}.term-income-summary small{color:var(--muted);font-size:9px}.income-detail-section{scroll-margin-top:calc(12px + env(safe-area-inset-top))}.income-month-groups{display:grid;gap:10px}.income-month-group{overflow:hidden;border:1px solid rgba(255,255,255,.92);border-radius:22px;background:#ffffffbf;box-shadow:var(--soft-shadow)}.income-month-heading{display:-webkit-box;display:-webkit-flex;display:flex;width:100%;min-height:64px;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;padding:10px 16px;border:0;background:-webkit-linear-gradient(305deg,rgba(255,248,251,.9),rgba(249,243,255,.9));background:linear-gradient(145deg,#fff8fbe6,#f9f3ffe6);text-align:left}.income-month-heading>span{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;gap:9px}.income-month-heading strong{font-size:16px}.income-month-heading small{color:var(--muted);font-size:10px}.income-month-heading b{color:var(--pink-500);font-size:14px}.income-month-heading i{color:var(--muted);font-size:18px;font-style:normal;-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s}.income-month-heading i.expanded{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.income-month-group .income-list{border:0;border-radius:0;box-shadow:none}.income-hero-meta{position:relative;z-index:1;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;margin-top:22px;padding-top:14px;border-top:1px solid rgba(255,255,255,.26);font-size:11px}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:12px}.stat-card{display:-webkit-box;display:-webkit-flex;display:flex;min-height:104px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;padding:18px;border:1px solid rgba(255,255,255,.9);border-radius:22px;background:#ffffffc7;box-shadow:var(--soft-shadow)}.stat-card>span{color:var(--muted);font-size:11px}.stat-card>strong{margin-top:7px;color:#6a5365;font-size:27px}.stat-card>strong small{margin:0 3px;font-size:12px}.accent-stat{background:-webkit-linear-gradient(305deg,#fff1f6,#f5edff);background:linear-gradient(145deg,#fff1f6,#f5edff)}.detail-count{padding:6px 10px;border-radius:999px;color:var(--muted);background:#ffffffc7;font-size:10px}.income-list{overflow:hidden;border:1px solid rgba(255,255,255,.92);border-radius:24px;background:#fffc;box-shadow:var(--soft-shadow)}.income-row{display:grid;width:100%;min-height:77px;grid-template-columns:44px minmax(0,1fr) auto;gap:11px;-webkit-box-align:center;-webkit-align-items:center;align-items:center;padding:12px 14px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left}.income-row:last-child{border-bottom:0}.income-date-badge{display:-webkit-box;display:-webkit-flex;display:flex;width:42px;height:46px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;border-radius:14px;color:var(--pink-500);background:var(--pink-100)}.income-date-badge strong{font-size:16px;line-height:1}.income-date-badge small{margin-top:3px;font-size:9px}.income-row-main{display:-webkit-box;display:-webkit-flex;display:flex;min-width:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;gap:4px}.income-row-main strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.income-row-main small{overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.income-amount{color:#c25d81;font-size:13px}.settings-card{overflow:hidden;margin-bottom:14px}.settings-card-title{display:-webkit-box;display:-webkit-flex;display:flex;gap:12px;-webkit-box-align:center;-webkit-align-items:center;align-items:center;padding:16px 17px;border-bottom:1px solid var(--line)}.settings-card-title>div{display:-webkit-box;display:-webkit-flex;display:flex;min-width:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;gap:3px}.settings-card-title strong{font-size:14px}.settings-card-title small{color:var(--muted);font-size:10px}.term-management-title .small-action-button{margin-left:auto}.term-year-groups{display:grid;gap:16px;padding:15px}.term-year-group{display:grid;gap:9px}.term-year-heading{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;padding:0 3px}.term-year-heading strong{font-family:Songti SC,STSong,serif;font-size:17px}.term-year-heading button{min-height:44px;border:0;color:var(--pink-500);background:transparent;font-size:11px;font-weight:700}.term-setting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;-webkit-box-align:center;-webkit-align-items:center;align-items:center;overflow:hidden;border:1px solid var(--line);border-radius:17px;background:#fffafd}.term-setting-row.active{border-color:#da739d59;background:-webkit-linear-gradient(305deg,#fff6f9,#faf5ff);background:linear-gradient(145deg,#fff6f9,#faf5ff)}.term-setting-main{display:-webkit-box;display:-webkit-flex;display:flex;min-height:94px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;gap:5px;padding:12px 14px;border:0;background:transparent;text-align:left}.term-setting-main>span:not(.term-name-line){color:var(--muted);font-size:9px}.term-setting-main>b{color:#9b657e;font-size:11px}.term-name-line{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;gap:7px}.term-name-line strong{font-size:14px}.term-name-line small{padding:3px 6px;border-radius:999px;color:var(--pink-500);background:var(--pink-100);font-size:8px}.term-row-actions{display:grid;border-left:1px solid var(--line)}.term-row-actions button{min-width:54px;min-height:44px;border:0;border-bottom:1px solid var(--line);color:#886e7e;background:transparent;font-size:10px}.term-row-actions button:last-child{border-bottom:0}.term-row-actions .danger-link{color:var(--danger)}.settings-icon{display:grid;width:36px;height:36px;-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;place-items:center;border-radius:12px;font-size:18px;font-weight:700}.settings-icon.pink{color:#cf6c8e;background:var(--pink-100)}.settings-icon.purple{color:#8a68b4;background:var(--purple-100)}.settings-icon.yellow{color:#bd8737;background:#fff4d9}.settings-card-content{display:grid;gap:13px;padding:17px}.settings-actions button{display:-webkit-box;display:-webkit-flex;display:flex;width:100%;min-height:52px;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;padding:0 17px;border:0;border-bottom:1px solid var(--line);background:transparent;font-size:13px;text-align:left}.settings-actions button:last-of-type{border-bottom:0}.settings-actions b{color:#c5b7c0;font-size:22px}.install-steps{display:grid;gap:11px;margin:0;padding:16px 18px 19px;list-style:none;color:#746772;font-size:12px}.install-steps li{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;gap:10px}.install-steps span{display:grid;width:24px;height:24px;-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;place-items:center;border-radius:50%;color:var(--pink-500);background:var(--pink-100);font-size:10px;font-weight:800}.danger-zone-button,.text-danger-button{min-height:48px;border:0;border-radius:16px;color:var(--danger);background:#ffeef3b3;font-size:12px;font-weight:700}.danger-zone-button{width:100%;margin-top:22px}.version-text{margin:17px 0 0;color:#b3a6ae;font-size:10px;text-align:center}.feedback-toast{position:fixed;z-index:100;top:calc(18px + env(safe-area-inset-top));left:50%;width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:calc(100vw - 40px);padding:11px 16px;border:1px solid rgba(255,255,255,.8);border-radius:999px;color:#fff;background:#759c8f;box-shadow:var(--card-shadow);font-size:12px;-webkit-transform:translateX(-50%);transform:translate(-50%)}.feedback-toast.error{background:#c46883}.toast-enter-active,.toast-leave-active{-webkit-transition:opacity .2s,-webkit-transform .2s;transition:opacity .2s,-webkit-transform .2s;transition:opacity .2s,transform .2s;transition:opacity .2s,transform .2s,-webkit-transform .2s}.toast-enter-from,.toast-leave-to{opacity:0;-webkit-transform:translate(-50%,-8px);transform:translate(-50%,-8px)}.form-field{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;gap:7px}.form-field>span:first-child,.scope-selector legend{color:#766872;font-size:11px;font-weight:700}.form-field input,.form-field textarea,.form-field select,.input-with-prefix{width:100%;min-height:48px;border:1px solid rgba(169,126,150,.14);border-radius:15px;color:var(--ink);background:#fffafd;box-shadow:inset 0 1px 2px #5a374908}.form-field input,.form-field textarea,.form-field select{padding:0 13px;font-size:16px}.form-field select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.field-note,.editor-term-note{margin:0;color:var(--muted);font-size:9px;line-height:1.5}.editor-term-note{padding:9px 11px;border-radius:12px;background:var(--pink-50)}.form-field textarea{min-height:104px;padding-block:12px;line-height:1.6;resize:vertical}.input-with-prefix{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;overflow:hidden}.input-with-prefix>span{padding-left:14px;color:var(--pink-500);font-weight:800}.input-with-prefix input{-webkit-box-flex:1;-webkit-flex:1;flex:1;border:0;background:transparent;box-shadow:none}.form-grid{display:grid;gap:11px}.form-grid.two-columns{grid-template-columns:1fr 1fr}.primary-button,.secondary-button{min-height:50px;border-radius:17px;font-size:14px;font-weight:800}.primary-button{border:1px solid rgba(255,255,255,.7);color:#fff;background:-webkit-linear-gradient(325deg,#ef91ad,#c18bd4);background:linear-gradient(125deg,#ef91ad,#c18bd4);box-shadow:0 10px 24px #ce6f993b}.secondary-button{border:1px solid rgba(225,139,168,.18);color:var(--pink-500);background:-webkit-linear-gradient(305deg,#fff4f8,#f8f1ff);background:linear-gradient(145deg,#fff4f8,#f8f1ff)}.full-width{width:100%}.form-error{margin:0;color:var(--danger);font-size:11px}.helper-text{margin:0;color:var(--muted);font-size:10px;line-height:1.6}.toggle-row{display:-webkit-box;display:-webkit-flex;display:flex;min-height:62px;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;padding:10px 13px;border:1px solid var(--line);border-radius:16px;background:#fffafd}.toggle-row>span{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;gap:3px}.toggle-row strong{font-size:12px}.toggle-row small{color:var(--muted);font-size:9px}.toggle-input{width:47px;height:28px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:999px;background:#ddd3d9;-webkit-transition:background .2s;transition:background .2s}.toggle-input:after{display:block;width:22px;height:22px;margin:3px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #50324229;content:"";-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s}.toggle-input:checked{background:var(--pink-400)}.toggle-input:checked:after{-webkit-transform:translateX(19px);transform:translate(19px)}.status-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:4px;border-radius:16px;background:#f4eef2}.status-switch button{min-height:42px;border:0;border-radius:13px;color:#958790;background:transparent;font-size:11px;font-weight:700}.status-switch button.active{color:var(--pink-500);background:#fff;box-shadow:0 4px 12px #64415314}.status-switch .status-completed.active{color:#4e957c}.status-switch .status-cancelled.active{color:#7c7078}.scope-selector{display:grid;gap:7px;margin:0;padding:0;border:0}.scope-selector legend{margin-bottom:7px}.scope-selector label{display:-webkit-box;display:-webkit-flex;display:flex;min-height:55px;gap:10px;-webkit-box-align:center;-webkit-align-items:center;align-items:center;padding:9px 12px;border:1px solid var(--line);border-radius:15px;background:#fffafd}.scope-selector input{accent-color:var(--pink-500)}.scope-selector label>span{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;gap:2px}.scope-selector strong{font-size:11px}.scope-selector small{color:var(--muted);font-size:9px}.modal-backdrop{position:fixed;z-index:80;inset:0;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;padding-top:env(safe-area-inset-top);background:#3a2b3757;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.modal-sheet{width:min(100%,620px);max-height:calc(96vh - env(safe-area-inset-top));max-height:calc(96dvh - env(safe-area-inset-top));overflow:hidden;border-radius:30px 30px 0 0;background:#fffdfd;box-shadow:0 -20px 60px #4c2d4033}.modal-header{padding:8px 18px 0;border-bottom:1px solid var(--line);background:#fffdfdf0}.modal-handle{width:40px;height:4px;margin:0 auto 7px;border-radius:999px;background:#e2d8de}.modal-title-row{display:-webkit-box;display:-webkit-flex;display:flex;min-height:52px;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.modal-title-row h2{margin:0;font-family:Songti SC,STSong,serif;font-size:21px}.icon-button{width:44px;height:44px;border:0;border-radius:50%;color:#9a8994;background:var(--pink-50);font-size:25px}.modal-content{max-height:calc(96vh - 72px - env(safe-area-inset-top));max-height:calc(96dvh - 72px - env(safe-area-inset-top));overflow-y:auto;padding:18px 18px calc(24px + env(safe-area-inset-bottom));-ms-scroll-chaining:none;overscroll-behavior:contain}.lesson-form{display:grid;gap:15px}.onboarding-page{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;width:min(100%,560px);min-height:100vh;min-height:100dvh;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;gap:25px;margin:0 auto;padding:calc(30px + env(safe-area-inset-top)) 20px calc(30px + env(safe-area-inset-bottom));overflow:hidden}.onboarding-hero{position:relative;z-index:1;text-align:center}.onboarding-hero h1{margin:5px 0 8px;font-family:Songti SC,STSong,serif;font-size:38px;letter-spacing:.05em}.onboarding-hero>p:last-child{max-width:290px;margin:0 auto;color:var(--muted);font-size:12px;line-height:1.7}.onboarding-card{position:relative;z-index:1;display:grid;gap:15px;padding:21px;border:1px solid rgba(255,255,255,.95);border-radius:28px;background:#ffffffd1;box-shadow:var(--card-shadow);backdrop-filter:blur(16px)}.sparkle{position:absolute;color:#db779e59;font-size:45px}.sparkle-one{top:8%;left:4%;-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}.sparkle-two{top:23%;right:4%;color:#9d76c74d}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media (min-width: 621px){body{padding-inline:12px}.dance-app-shell,.onboarding-page{border-right:1px solid rgba(160,110,136,.07);border-left:1px solid rgba(160,110,136,.07);box-shadow:0 0 60px #895e7514}}@media (max-width: 370px){.view-page{padding-inline:14px}.form-grid.two-columns{grid-template-columns:1fr}.next-lesson-row{grid-template-columns:auto 1fr}.next-lesson-row>span:last-child{grid-column:1 / -1}.income-row{grid-template-columns:40px minmax(0,1fr)}.income-amount{grid-column:2}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;-webkit-animation-duration:.01ms!important;animation-duration:.01ms!important;-webkit-animation-iteration-count:1!important;animation-iteration-count:1!important;-webkit-transition-duration:.01ms!important;transition-duration:.01ms!important}}@media (prefers-color-scheme: dark){:root{color-scheme:dark;--ink: #f4eaf0;--muted: #b8a8b2;--line: rgba(255, 223, 239, .09);--card-shadow: 0 14px 40px rgba(20, 12, 17, .24);--soft-shadow: 0 8px 24px rgba(20, 12, 17, .18)}html,body{background:#211a20}body{background:-webkit-radial-gradient(12% 8%,circle,rgba(144,73,102,.25),transparent 32%),-webkit-radial-gradient(92% 30%,circle,rgba(102,77,144,.23),transparent 30%),#211a20;background:radial-gradient(circle at 12% 8%,rgba(144,73,102,.25),transparent 32%),radial-gradient(circle at 92% 30%,rgba(102,77,144,.23),transparent 30%),#211a20}.app-header h1,.simple-header h1{color:#fff3f8}.lesson-card,.calendar-card,.settings-card,.stat-card,.income-list,.income-month-group,.term-calendar-switcher,.income-filter-card,.term-income-summary article,.onboarding-card{border-color:#ffffff0f;background:#31272fe0}.lesson-card.is-completed{background:#293732e6}.lesson-card.is-cancelled{background:#302b2ee6}.bottom-nav{border-color:#ffffff0f;background:#231b21eb}.nav-item.active:before{background:#7b4b6547}.form-field input,.form-field textarea,.form-field select,.input-with-prefix,.toggle-row,.scope-selector label{border-color:#ffffff12;background:#2b2229}.input-with-prefix input{background:transparent}.modal-sheet,.modal-header{background:#251d23}.status-switch{background:#1c171b}.status-switch button.active{background:#382b34}.empty-card,.quiet-message{background:#30262ea3}.empty-card strong{color:#e7d9e1}.small-action-button,.circle-add-button{background:#362a32e6}.month-switcher button{background:#30242c}.term-calendar-switcher select,.income-filter-card select,.term-chip-row button,.income-scope-tabs button,.term-setting-row{border-color:#ffffff12;background:#2b2229}.term-setting-row.active,.income-month-heading{background:#4d3544b3}.settings-actions button{background:transparent}input{color-scheme:dark}}
