.catalog-toolbar{display:grid;gap:16px;margin-bottom:20px;padding:18px;border:1px solid var(--line);border-radius:20px;background:#fff}
.age-filter{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.age-filter button{display:grid;gap:3px;min-height:64px;padding:10px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);text-align:left}
.age-filter button:hover{border-color:#9382d6;background:#faf9ff}
.age-filter button.active{border-color:#7c67cf;background:#f0edff;box-shadow:inset 0 0 0 1px #7c67cf}
.age-filter b{font-size:1rem}
.age-filter span{color:var(--muted);font-size:.75rem}
.catalog-search{display:grid;gap:6px}
.catalog-search label{color:#4d495d;font-size:.8rem;font-weight:800}
.catalog-search input{width:100%;min-height:46px;padding:10px 13px;border:1px solid #dedbe6;border-radius:12px;background:#fff;color:var(--ink)}
.catalog-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--muted);font-size:.83rem}
.catalog-summary b{color:var(--ink);font-size:1rem}
.catalog-notice{margin:0 0 18px;padding:12px 14px;border-radius:12px;background:#eef7ff;color:#405f78;font-size:.8rem;line-height:1.5}
.catalog-grid{align-items:stretch}
.catalog-card{display:flex;flex-direction:column;text-align:left}
.catalog-card .catalog-meta{display:flex;justify-content:space-between;gap:8px;margin-top:13px;color:var(--purple);font-size:.7rem;font-weight:800}
.catalog-card h3{margin-top:8px}
.catalog-card dl{display:grid;gap:9px;margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line)}
.catalog-card dl div{display:grid;grid-template-columns:64px 1fr;gap:8px}
.catalog-card dt{color:#8b8797;font-size:.68rem;font-weight:850;text-transform:uppercase}
.catalog-card dd{margin:0;color:#5f5b69;font-size:.75rem;line-height:1.4}
.catalog-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;padding-top:18px}
.catalog-actions .button{min-height:42px;padding-inline:10px;font-size:.72rem}
.catalog-actions .button:only-child{grid-column:1/-1}
.finish-actions{display:grid;gap:9px;max-width:330px;margin:22px auto 0}
.session-finished h2{margin-right:0}
.today-actions{display:flex;flex-wrap:wrap;gap:9px}
.today-actions .button:first-child{background:#fff;color:#29263b}
.today-actions .button:last-child{border:1px solid rgba(255,255,255,.38);background:rgba(255,255,255,.12);color:#fff}
.registration-section{display:grid;gap:14px;padding:18px;border:1px solid var(--line);border-radius:17px;background:#fff}
.registration-section.child-data{background:#fbfaff}
.registration-section>header{display:flex;align-items:flex-start;gap:11px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.registration-section>header>span{display:grid;place-items:center;flex:0 0 auto;width:31px;height:31px;border-radius:10px;background:#6954c5;color:#fff;font-weight:900}
.registration-section>header h3{margin:0;color:var(--ink);font-size:.98rem}
.registration-section>header p{margin:3px 0 0;color:var(--muted);font-size:.72rem;line-height:1.4}
:root{--brand-blue:#37a6cf;--brand-aqua:#58b9a0;--brand-green:#75ae6e;--brand-yellow:#f2b53f;--brand-coral:#ef7b72;--brand-violet:#8663c6;--paper:#f8fbff}
body{background:radial-gradient(circle at 5% 8%,rgba(55,166,207,.1),transparent 23%),radial-gradient(circle at 95% 18%,rgba(242,181,63,.1),transparent 22%),radial-gradient(circle at 84% 88%,rgba(239,123,114,.09),transparent 25%),#f9fbff}
#application{min-height:100vh;background:linear-gradient(145deg,rgba(232,248,252,.34),transparent 34%,rgba(255,246,219,.28) 72%,rgba(245,238,255,.36))}
.topbar{border-bottom-color:#e1e9ef;background:linear-gradient(90deg,rgba(255,255,255,.98),rgba(242,251,253,.98) 38%,rgba(255,249,232,.96) 72%,rgba(250,243,255,.97))}
.sidebar{border-right-color:#e2e9ef;background:linear-gradient(180deg,#fff 0,#f4fbfd 42%,#fff9e9 72%,#faf4ff 100%)}
.sidebar nav button{transition:transform .18s ease,background .18s ease,color .18s ease}
.sidebar nav button:hover{transform:translateX(2px);background:rgba(255,255,255,.82)}
.sidebar nav button.active{background:linear-gradient(90deg,#e7f8fc,#f2edff);color:#5744a5;box-shadow:inset 4px 0 var(--brand-blue),0 5px 16px rgba(61,135,164,.08)}
.sidebar nav button:nth-child(2).active{box-shadow:inset 4px 0 var(--brand-green),0 5px 16px rgba(76,145,91,.08)}
.sidebar nav button:nth-child(3).active{box-shadow:inset 4px 0 var(--brand-yellow),0 5px 16px rgba(183,132,28,.08)}
.sidebar nav button:nth-child(4).active{box-shadow:inset 4px 0 var(--brand-coral),0 5px 16px rgba(178,80,74,.08)}
.sidebar nav button:nth-child(5).active{box-shadow:inset 4px 0 var(--brand-violet),0 5px 16px rgba(106,75,160,.08)}
.child-switcher{border-color:#dce9e8;background:linear-gradient(135deg,#fff,#effaf7)}
.child-avatar{background:linear-gradient(145deg,#dff6fb,#f3eaff 54%,#ffe8d4);color:#5744a5}
.page-head h1{color:#302b4b}
.page-head .eyebrow{display:inline-flex;padding:5px 9px;border-radius:999px;background:linear-gradient(90deg,#e7f8fc,#f1edff);color:#5946a8!important}
.button.primary{background:linear-gradient(115deg,#4a9fc1,#6654c7 58%,#8a63c6);box-shadow:0 9px 20px rgba(75,75,168,.22)}
.button.primary:hover{background:linear-gradient(115deg,#348eaf,#5743b3 58%,#7651b3)}
.today-card{background:linear-gradient(125deg,#238fb6 0,#4ca99a 28%,#6857bd 54%,#d76986 78%,#e9a83c 112%);box-shadow:0 20px 48px rgba(73,78,154,.23)}
.today-card:after{content:"";position:absolute;right:-75px;top:-95px;width:280px;height:280px;border:55px solid rgba(255,255,255,.08);border-radius:48% 52% 43% 57%;transform:rotate(28deg)}
.today-kicker{background:rgba(255,255,255,.18)}
.session-list{box-shadow:0 12px 34px rgba(38,53,95,.1)}
.session-step:nth-child(5n+1) .step-icon{background:#e1f5fb}
.session-step:nth-child(5n+2) .step-icon{background:#e6f6ed}
.session-step:nth-child(5n+3) .step-icon{background:#fff1cc}
.session-step:nth-child(5n+4) .step-icon{background:#ffe5e3}
.session-step:nth-child(5n) .step-icon{background:#eee7fb}
.panel,.guide-card,.feature-card,.report-prompt{border-color:#e3e7ef;box-shadow:0 10px 30px rgba(62,63,104,.06)}
.cards-grid>.feature-card{border-top:5px solid var(--brand-blue)}
.cards-grid>.feature-card:nth-child(5n+2){border-top-color:var(--brand-green)}
.cards-grid>.feature-card:nth-child(5n+3){border-top-color:var(--brand-yellow)}
.cards-grid>.feature-card:nth-child(5n+4){border-top-color:var(--brand-coral)}
.cards-grid>.feature-card:nth-child(5n){border-top-color:var(--brand-violet)}
.cards-grid>.feature-card:nth-child(5n+1) .icon{background:#e0f5fb}
.cards-grid>.feature-card:nth-child(5n+2) .icon{background:#e5f6eb}
.cards-grid>.feature-card:nth-child(5n+3) .icon{background:#fff1cc}
.cards-grid>.feature-card:nth-child(5n+4) .icon{background:#ffe5e2}
.cards-grid>.feature-card:nth-child(5n) .icon{background:#eee6fb}
.feature-card{transition:transform .18s ease,box-shadow .18s ease}
.feature-card:hover{transform:translateY(-2px);box-shadow:0 15px 34px rgba(62,63,104,.11)}
.tip-card{border-color:#f1dda9;background:linear-gradient(145deg,#fff8df,#fffdf7)}
.report-prompt>span:first-child{background:linear-gradient(145deg,#dff6fb,#e6f6ed)}
.checkin button.active{border-color:#5f9fb7;background:linear-gradient(90deg,#e4f7fb,#f0ebff);color:#4f4391}
.catalog-toolbar{border-color:#dfe8ee;background:linear-gradient(135deg,#fff,#f1fafd 42%,#fff9e9 73%,#fbf4ff);box-shadow:0 12px 32px rgba(57,77,115,.07)}
.age-filter button:nth-child(1).active{border-color:var(--brand-blue);background:#e9f8fc;box-shadow:inset 0 0 0 1px var(--brand-blue)}
.age-filter button:nth-child(2).active{border-color:var(--brand-green);background:#edf8ef;box-shadow:inset 0 0 0 1px var(--brand-green)}
.age-filter button:nth-child(3).active{border-color:var(--brand-violet);background:#f1ecfb;box-shadow:inset 0 0 0 1px var(--brand-violet)}
.catalog-search input:focus{border-color:var(--brand-blue);box-shadow:0 0 0 4px rgba(55,166,207,.13)}
.registration-section{box-shadow:0 8px 22px rgba(57,65,108,.05)}
.registration-section:first-of-type{border-top:5px solid var(--brand-blue);background:linear-gradient(145deg,#fff,#f1fafe)}
.registration-section.child-data{border-top:5px solid var(--brand-coral);background:linear-gradient(145deg,#fff,#fff7f4 45%,#faf5ff)}
.registration-section:first-of-type>header>span{background:linear-gradient(145deg,var(--brand-blue),#487dc5)}
.registration-section.child-data>header>span{background:linear-gradient(145deg,var(--brand-coral),var(--brand-violet))}
.auth-card{border-color:#e4e6ef;box-shadow:0 22px 60px rgba(57,62,115,.15)}
.auth-screen{background:radial-gradient(circle at 7% 84%,rgba(82,185,157,.15),transparent 24%),radial-gradient(circle at 91% 9%,rgba(239,123,114,.15),transparent 23%),radial-gradient(circle at 70% 75%,rgba(242,181,63,.11),transparent 26%),#fbfdff}
.mobile-nav{background:linear-gradient(90deg,rgba(246,252,254,.98),rgba(255,250,235,.98),rgba(250,245,255,.98))}
.install-button{min-height:39px;padding:0 13px;border:1px solid #d9d3ec;background:linear-gradient(115deg,#e3f6fb,#f0ebff 52%,#fff1d2);color:#50438f;font-size:.76rem;box-shadow:0 6px 16px rgba(69,70,133,.1)}
.install-button:hover{border-color:#9a8bd1;background:linear-gradient(115deg,#d7f2f9,#e9e1fb 52%,#ffe9b7)}
.auth-brand .install-button{margin-left:auto;margin-right:clamp(0px,4vw,55px)}
.install-steps{display:grid;gap:12px;margin:20px 0;padding-left:25px;color:#4e495b;line-height:1.5}
.install-steps li::marker{color:var(--brand-violet);font-weight:900}
.install-note{padding:13px 15px;border-radius:13px;background:linear-gradient(135deg,#e9f8fc,#f4effd);color:#5d576b!important;font-size:.8rem}
@media(max-width:780px){.age-filter{grid-template-columns:1fr}.catalog-summary{align-items:stretch;flex-direction:column}.catalog-summary .button{width:100%}.catalog-actions{grid-template-columns:1fr}.auth-brand{flex-wrap:wrap}.auth-brand .install-button{margin:0 auto}.topbar .install-button{padding-inline:10px;font-size:.7rem}}
