@layer luxe{
/* cabinet-v2.css — личный кабинет: простая и понятная раскладка */
#dash-main{--cb-card:#fff !important;--cb-line:#E4DCCB !important;--cb-ink:#14201b !important;--cb-mut:#5b6a62 !important;--cb-green:#14503F !important;--cb-coral:#E8553A !important;--cb-soft:#F7F2E8 !important}
body.dark #dash-main,[data-theme="dark"] #dash-main{--cb-card:#18241f !important;--cb-line:#2b3d35 !important;--cb-ink:#eaf1ec !important;--cb-mut:#a3b6ab !important;--cb-soft:#1d2b25 !important}
#dash-main .ic{width:24px !important;height:24px !important;display:block !important}

/* ---------- приветствие ---------- */
#dash-main .dash-greeting{display:grid !important;grid-template-columns:auto minmax(0,1fr) auto !important;align-items:center !important;gap:20px 24px !important;padding:24px 28px !important;border-radius:26px !important;background:linear-gradient(135deg,#E9F4EF 0%,#FFF3EC 100%) !important;border:1px solid var(--cb-line) !important;margin:0 0 18px !important}
body.dark #dash-main .dash-greeting,[data-theme="dark"] #dash-main .dash-greeting{background:linear-gradient(135deg,#17352b 0%,#2a2220 100%) !important}
#dash-main .dash-avatar{width:76px !important;height:76px !important;border-radius:50% !important;display:grid !important;place-items:center !important;font:800 34px/1 var(--font-display,inherit) !important;color:#fff !important;background:linear-gradient(135deg,#1d7a60,#14503F) !important;box-shadow:0 0 0 5px rgba(20,80,63,.15) !important}
#dash-main .dash-greeting-text{min-width:0 !important}
#dash-main .dash-hi{margin:0 0 4px !important;font-size:clamp(26px,4vw,36px) !important;line-height:1.1 !important;color:var(--cb-ink) !important}
#dash-main .dash-subhi{margin:0 !important;font-size:16.5px !important;line-height:1.45 !important;color:var(--cb-mut) !important;max-width:46ch !important}
#dash-main .hero-cta{display:inline-flex !important;align-items:center !important;gap:8px !important;white-space:nowrap !important;font-size:18px !important;font-weight:800 !important;padding:16px 28px !important;border-radius:999px !important;margin:0 !important}
#dash-main .hero-cta small{font-weight:600 !important;opacity:.85 !important;font-size:.85em !important}
#dash-main .hero-cta-setup{background:linear-gradient(135deg,#F0714F,#E8553A) !important;color:#fff !important}
@media (max-width:760px){#dash-main .dash-greeting{grid-template-columns:auto minmax(0,1fr) !important;padding:20px !important}#dash-main .hero-cta{grid-column:1/-1 !important;justify-content:center !important;width:100% !important}#dash-main .dash-avatar{width:60px !important;height:60px !important;font-size:28px !important}}

/* ---------- плитки ---------- */
#dash-main .stat-tiles{display:grid !important;grid-template-columns:repeat(auto-fit,minmax(210px,1fr)) !important;gap:14px !important;margin:0 0 22px !important}
#dash-main .stat-tile{display:flex !important;align-items:center !important;gap:14px !important;padding:16px 18px !important;background:var(--cb-card) !important;border:1px solid var(--cb-line) !important;border-radius:20px !important;box-shadow:none !important;text-align:left !important;font:inherit !important;color:var(--cb-ink) !important}
#dash-main .stat-tile[hidden]{display:none !important}
#dash-main button.stat-tile{cursor:pointer !important;transition:transform .18s,border-color .18s !important}
#dash-main button.stat-tile:hover{transform:translateY(-2px) !important;border-color:var(--cb-green) !important}
#dash-main .st-txt{display:flex !important;flex-direction:column !important;min-width:0 !important}
#dash-main .st-txt b{font-size:26px !important;line-height:1.1 !important;font-weight:800 !important;color:var(--cb-ink) !important}
#dash-main .st-txt span{font-size:13.5px !important;color:var(--cb-mut) !important;line-height:1.3 !important}
#dash-main .st-ico{flex:none !important;width:46px !important;height:46px !important;border-radius:14px !important;display:grid !important;place-items:center !important}
#dash-main .st-ico.sm{width:36px !important;height:36px !important;border-radius:11px !important}
#dash-main .st-ico.sm .ic{width:20px !important;height:20px !important}
#dash-main .st-green{background:#E1F0EA !important;color:#14503F !important}
#dash-main .st-coral{background:#FDE6DF !important;color:#C8442B !important}
#dash-main .st-blue{background:#E2EAFB !important;color:#2B54C8 !important}
#dash-main .st-amber{background:#FBEFD2 !important;color:#9A6407 !important}
body.dark #dash-main .st-green,[data-theme="dark"] #dash-main .st-green{background:#1f4a3b !important;color:#9fe0c8 !important}
body.dark #dash-main .st-coral,[data-theme="dark"] #dash-main .st-coral{background:#4a2a22 !important;color:#ffb199 !important}
body.dark #dash-main .st-blue,[data-theme="dark"] #dash-main .st-blue{background:#22305a !important;color:#a9c0ff !important}
body.dark #dash-main .st-amber,[data-theme="dark"] #dash-main .st-amber{background:#463716 !important;color:#f3cf7d !important}

/* ---------- заголовки разделов ---------- */
#dash-main .dash-section-head{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:12px !important;margin:8px 0 14px !important;padding:0 !important;border:0 !important}
#dash-main .dash-section-head h2{font-size:24px !important;margin:0 !important;color:var(--cb-ink) !important}
#dash-main .ach-count{font:700 14px/1 inherit !important;padding:7px 12px !important;border-radius:999px !important;background:var(--cb-soft) !important;color:var(--cb-mut) !important}

/* ---------- предметы ---------- */
#dash-main .subjects-list-new{display:grid !important;grid-template-columns:repeat(auto-fill,minmax(300px,1fr)) !important;gap:14px !important}
#dash-main .subject-card-new{position:relative !important;display:block !important;padding:0 !important;background:var(--cb-card) !important;border:1px solid var(--cb-line) !important;border-radius:20px !important;box-shadow:none !important}
#dash-main .subject-card-left{display:flex !important;align-items:center !important;gap:14px !important;padding:16px 52px 16px 16px !important;cursor:pointer !important;border-radius:20px !important}
#dash-main .subject-card-icon{flex:none !important;width:56px !important;height:56px !important;border-radius:16px !important;overflow:hidden !important;background:var(--cb-soft) !important;display:grid !important;place-items:center !important}
#dash-main .subject-card-icon img{width:56px !important;height:56px !important;object-fit:cover !important;border-radius:16px !important}
#dash-main .subject-card-info{flex:1 !important;min-width:0 !important;display:flex !important;flex-direction:column !important;gap:5px !important}
#dash-main .subject-card-top{display:flex !important;align-items:baseline !important;justify-content:space-between !important;gap:8px !important}
#dash-main .subject-card-name{font-size:18px !important;font-weight:800 !important;color:var(--cb-ink) !important}
#dash-main .subject-card-pct{font-weight:800 !important;color:var(--cb-green) !important}
body.dark #dash-main .subject-card-pct{color:#9fe0c8 !important}
#dash-main .subject-card-note{font-size:13.5px !important;color:var(--cb-mut) !important}
#dash-main .subject-card-bar{height:8px !important;border-radius:6px !important;background:var(--cb-line) !important;overflow:hidden !important}
#dash-main .subject-card-bar-fill{height:100% !important;border-radius:6px !important;background:linear-gradient(90deg,#1d7a60,#14503F) !important}
#dash-main .subject-card-del{position:absolute !important;top:10px !important;right:10px !important;width:34px !important;height:34px !important;display:grid !important;place-items:center !important;border-radius:10px !important;border:0 !important;background:transparent !important;color:var(--cb-mut) !important;cursor:pointer !important;padding:0 !important}
#dash-main .subject-card-del .ic{width:18px !important;height:18px !important}
#dash-main .subject-card-del:hover{background:#FDE6DF !important;color:#C8442B !important}
#dash-main .add-panel-new{border-radius:20px !important}
#dash-main .subject-option-new{display:flex !important;align-items:center !important;gap:10px !important}
#dash-main .so-icon{flex:none !important;width:40px !important;height:40px !important;border-radius:12px !important;overflow:hidden !important;display:grid !important;place-items:center !important;background:var(--cb-soft) !important}
#dash-main .so-icon img{width:40px !important;height:40px !important;object-fit:cover !important;border-radius:12px !important}

/* ---------- серия и цель ---------- */
#dash-main .dash-duo{display:grid !important;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) !important;gap:14px !important;margin:22px 0 !important}
@media (max-width:820px){#dash-main .dash-duo{grid-template-columns:1fr !important}}
#dash-main .dash-streak-calendar,#dash-main .dash-daily-goal{background:var(--cb-card) !important;border:1px solid var(--cb-line) !important;border-radius:22px !important;padding:18px 20px !important;box-shadow:none !important;cursor:pointer !important;margin:0 !important}
#dash-main .streak-calendar-head{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:10px !important;margin-bottom:14px !important}
#dash-main .streak-calendar-title{display:flex !important;align-items:center !important;gap:10px !important;font-weight:800 !important;font-size:17px !important;color:var(--cb-ink) !important}
#dash-main .streak-calendar-head strong{font-size:15px !important;color:var(--cb-coral) !important}
#dash-main .streak-days{display:grid !important;grid-template-columns:repeat(7,1fr) !important;gap:6px !important}
#dash-main .streak-day{display:flex !important;flex-direction:column !important;align-items:center !important;gap:6px !important;background:transparent !important;border:0 !important;padding:0 !important;box-shadow:none !important}
#dash-main .streak-day-dot{width:36px !important;height:36px !important;border-radius:50% !important;display:grid !important;place-items:center !important;background:var(--cb-soft) !important;border:2px solid var(--cb-line) !important;color:#fff !important}
#dash-main .streak-day-dot .ic{width:18px !important;height:18px !important}
#dash-main .streak-day.filled .streak-day-dot{background:#1d7a60 !important;border-color:#1d7a60 !important}
#dash-main .streak-day.today .streak-day-dot{border-color:var(--cb-coral) !important;border-style:dashed !important}
#dash-main .streak-day.today.filled .streak-day-dot{border-style:solid !important}
#dash-main .streak-day-name{font-size:12.5px !important;font-weight:700 !important;color:var(--cb-mut) !important}
#dash-main .streak-day.today .streak-day-name{color:var(--cb-coral) !important}
#dash-main .dash-daily-goal{display:flex !important;align-items:center !important;gap:14px !important}
#dash-main .daily-goal-icon.goal-achieved{background:#1d7a60 !important;color:#fff !important}
#dash-main .daily-goal-text{display:flex !important;flex-direction:column !important;gap:3px !important;flex:1 !important;min-width:0 !important}
#dash-main .daily-goal-label{font-size:12.5px !important;font-weight:800 !important;letter-spacing:.04em !important;text-transform:uppercase !important;color:var(--cb-mut) !important}
#dash-main .daily-goal-desc{font-size:17px !important;font-weight:800 !important;color:var(--cb-ink) !important}
#dash-main .goal-done{display:grid !important;place-items:center !important;width:34px !important;height:34px !important;border-radius:50% !important;background:#1d7a60 !important;color:#fff !important}

/* ---------- награды ---------- */
#dash-main .ach-grid{display:grid !important;grid-template-columns:repeat(auto-fill,minmax(250px,1fr)) !important;gap:12px !important}
#dash-main .ach-card{display:flex !important;align-items:center !important;gap:12px !important;padding:14px 16px !important;background:var(--cb-card) !important;border:1px solid var(--cb-line) !important;border-radius:18px !important;box-shadow:none !important;opacity:1 !important;filter:none !important;min-height:0 !important}
#dash-main .ach-icon{flex:none !important;width:44px !important;height:44px !important;border-radius:50% !important;display:grid !important;place-items:center !important;background:var(--cb-soft) !important;color:var(--cb-mut) !important}
#dash-main .ach-card.unlocked{border-color:#E6B94A !important}
#dash-main .ach-card.unlocked .ach-icon{background:#FBEFD2 !important;color:#9A6407 !important}
body.dark #dash-main .ach-card.unlocked .ach-icon{background:#463716 !important;color:#f3cf7d !important}
#dash-main .ach-text{display:flex !important;flex-direction:column !important;gap:2px !important;min-width:0 !important}
#dash-main .ach-title{font-weight:800 !important;font-size:15.5px !important;color:var(--cb-ink) !important}
#dash-main .ach-desc{font-size:13px !important;color:var(--cb-mut) !important;line-height:1.35 !important}
#dash-main .ach-card:not(.unlocked) .ach-title{color:var(--cb-mut) !important}

/* ---------- ссылки внизу ---------- */
#dash-main .dash-more-links{margin-top:26px !important}

/* ---------- питомец и картинки-иконки ---------- */
#dash-main .dash-pet{width:112px !important;height:150px !important;display:flex !important;align-items:flex-end !important;justify-content:center !important;position:relative !important}
#dash-main .dash-pet img{width:auto !important;height:150px !important;max-width:140px !important;object-fit:contain !important;transform-origin:50% 100% !important;filter:drop-shadow(0 8px 10px rgba(20,60,45,.22)) !important}
#dash-main .dash-pet[data-mood="sleepy"] img{animation:pet-breathe 4s ease-in-out infinite !important}
#dash-main .dash-pet[data-mood="sad"] img{animation:pet-sway 5s ease-in-out infinite !important}
#dash-main .dash-pet[data-mood="calm"] img{animation:pet-float 3.6s ease-in-out infinite !important}
#dash-main .dash-pet[data-mood="happy"] img{animation:pet-bounce 1.6s ease-in-out infinite !important}
#dash-main .dash-pet[data-mood="excited"] img{animation:pet-hop 1.1s ease-in-out infinite !important}
@keyframes pet-breathe{0%,100%{transform:scale(1,1) !important}50%{transform:scale(1.035,.975) !important}}
@keyframes pet-sway{0%,100%{transform:rotate(-2.5deg) !important}50%{transform:rotate(2.5deg) translateY(2px) !important}}
@keyframes pet-float{0%,100%{transform:translateY(0) !important}50%{transform:translateY(-7px) !important}}
@keyframes pet-bounce{0%,100%{transform:translateY(0) scale(1,1) !important}40%{transform:translateY(-12px) scale(.98,1.03) !important}60%{transform:translateY(-12px) !important}80%{transform:translateY(0) scale(1.04,.96) !important}}
@keyframes pet-hop{0%,100%{transform:translateY(0) rotate(0) !important}25%{transform:translateY(-16px) rotate(-3deg) !important}50%{transform:translateY(0) rotate(0) !important}75%{transform:translateY(-16px) rotate(3deg) !important}}
@media (prefers-reduced-motion:reduce){#dash-main .dash-pet img{animation:none !important}}
#dash-main .dash-greeting{grid-template-columns:auto minmax(0,1fr) auto !important}
@media (max-width:760px){#dash-main .dash-pet{width:84px !important;height:112px !important}#dash-main .dash-pet img{height:112px !important;max-width:100px !important}}
#dash-main .st-img{flex:none !important;width:48px !important;height:48px !important;object-fit:contain !important;filter:drop-shadow(0 3px 4px rgba(0,0,0,.14)) !important}
#dash-main .st-img.sm{width:36px !important;height:36px !important}
#dash-main .daily-goal-icon{flex:none !important;width:52px !important;height:52px !important;display:grid !important;place-items:center !important}
#dash-main .daily-goal-icon img{width:48px !important;height:48px !important;object-fit:contain !important}
#dash-main .daily-goal-icon.goal-achieved{background:transparent !important}
#dash-main .ach-icon{background:transparent !important}
#dash-main .ach-icon img{width:44px !important;height:44px !important;object-fit:contain !important;filter:grayscale(1) opacity(.45) !important}
#dash-main .ach-card.unlocked .ach-icon{background:transparent !important}
#dash-main .ach-card.unlocked .ach-icon img{filter:drop-shadow(0 3px 4px rgba(0,0,0,.18)) !important}

#dash-main .streak-day{height:auto !important;min-height:0 !important;aspect-ratio:auto !important}
#dash-main .streak-day-dot{flex:none !important;min-height:36px !important;min-width:36px !important;box-sizing:border-box !important}

}
