:root{--red: #d13732;--red-dark: #b32b27;--green: #133a2a;--green-2: #21533e;--ink: #061d28;--ink-2: #262626;--gray: #82868c;--gray-2: #bec2c4;--line: #ececee;--bg: #f8f8f8;--card: #ffffff;--ok: #44b875;--radius: 8px;--radius-lg: 24px;--shadow: 0 4px 24px rgba(6, 29, 40, .06);--font-head: "Montserrat", "Circe", system-ui, sans-serif;--font: "Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;--nav-h: 64px;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;height:100%}body{font-family:var(--font);color:var(--ink);background:#dfe2e4;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input,textarea,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3{font-family:var(--font-head);margin:0}.shell{position:relative;max-width:480px;min-height:100dvh;margin:0 auto;background:var(--bg);display:flex;flex-direction:column}@media(min-width:520px){.shell{box-shadow:0 0 40px #0000001f}}.page{flex:1;display:flex;flex-direction:column}.page.with-nav{padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom))}.content{padding:16px;display:flex;flex-direction:column;gap:12px}.topbar{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:48px 1fr 48px;align-items:center;height:56px;padding:0 4px;background:#fff}.topbar h1{font-size:17px;font-weight:700;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar.transparent{position:absolute;left:0;right:0;background:transparent}.icon-btn{width:40px;height:40px;margin:0 auto;border:0;border-radius:12px;background:transparent;display:grid;place-items:center;cursor:pointer}.icon-btn:hover{background:var(--bg)}.topbar.transparent .icon-btn{background:#ffffffd9}.topbar .action{font-size:12px;font-weight:700;color:var(--red);text-transform:uppercase;border:0;background:none;cursor:pointer}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;z-index:10;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:#fff;border-top:1px solid var(--line)}.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:10px;color:var(--gray);text-transform:lowercase}.bottom-nav a.active{color:var(--red)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;padding:0 20px;border:0;border-radius:999px;cursor:pointer;background:var(--red);color:#fff;font-family:var(--font-head);font-weight:700;font-size:15px;transition:background .15s,opacity .15s}.btn:hover{background:var(--red-dark)}.btn:disabled{opacity:.5;cursor:default}.btn.outline{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.outline:hover{background:var(--bg)}.btn.ghost{background:transparent;color:var(--red);min-height:40px}.btn.small{width:auto;min-height:36px;font-size:13px}.link{color:var(--red);background:none;border:0;cursor:pointer;font-size:15px;padding:8px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;color:var(--gray)}.input{width:100%;height:52px;padding:0 20px;border:1px solid transparent;border-radius:999px;background:#fff;font-size:16px;outline:none}.input:focus{border-color:var(--gray-2)}textarea.input{height:auto;min-height:96px;padding:14px 20px;border-radius:20px;resize:vertical}.phone-input{display:flex;align-items:baseline;gap:8px;justify-content:center;border-bottom:2px solid var(--green);padding:4px 0 8px;margin:0 24px}.phone-input span{font-size:40px;color:var(--gray-2)}.phone-input input{font-size:40px;width:100%;border:0;outline:none;background:transparent;letter-spacing:1px}.code-cells{display:flex;gap:12px;justify-content:center}.code-cells input{width:56px;height:56px;border-radius:50%;border:0;background:#fff;text-align:center;font-size:22px;box-shadow:var(--shadow);outline:none}.code-cells input:focus{box-shadow:0 0 0 2px var(--gray-2)}.hint{font-size:15px;color:var(--gray);text-align:center;line-height:1.4}.error{color:var(--red);font-size:14px;text-align:center}.dev-note{font-size:12px;color:var(--gray);text-align:center;background:#fff8e1;border-radius:8px;padding:8px}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow)}.list-card{display:flex;align-items:center;gap:12px;padding:16px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow)}.list-card .grow{flex:1;min-width:0}.list-card .title{font-family:var(--font-head);font-weight:700;font-size:15px}.list-card .sub{font-size:12px;color:var(--gray);margin-top:4px}.arrow{color:var(--gray-2);flex-shrink:0}.badge{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--red);color:#fff;font-size:11px;font-weight:700;display:inline-grid;place-items:center}.section-title{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-head);font-weight:800;font-size:15px;text-transform:uppercase;margin:8px 0 0}.empty{text-align:center;color:var(--gray);padding:32px 16px;font-size:15px}.spinner{margin:40px auto;width:32px;height:32px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--red);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.kv{display:flex;flex-direction:column;background:#fff}.kv-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--line)}.kv-row .k{font-size:13px;color:var(--gray)}.kv-row .v{font-size:14px;text-align:right}.kv-block{padding:14px 16px;border-bottom:1px solid var(--line);background:#fff}.kv-block .k{font-size:13px;color:var(--gray);margin-bottom:4px}.kv-block .v{font-size:15px}.hero{position:relative;min-height:280px;display:flex;align-items:flex-end;color:#fff;background:var(--green) center / cover no-repeat}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000 30%,#000000bf)}.hero>*{position:relative}.hero .inner{padding:20px 16px;display:flex;flex-direction:column;gap:8px;width:100%}.hero h2{font-size:26px;font-weight:800;text-transform:uppercase;line-height:1.1}.hero .meta{font-size:13px}.profile-head{display:grid;grid-template-columns:1fr 40%;min-height:200px;background:var(--green) url(/app/img/pattern.svg) left center / auto 100% no-repeat;color:#fff}.profile-head .info{padding:20px 16px;display:flex;flex-direction:column;gap:6px}.profile-head .name{font-family:var(--font-head);font-weight:800;font-size:20px;text-transform:uppercase;line-height:1.15}.profile-head .bonus{margin-top:auto;font-family:var(--font-head);font-weight:800;font-size:16px;text-transform:uppercase}.profile-head .photo{background:var(--green-2) center / cover no-repeat}.months{display:flex;gap:28px;overflow-x:auto;padding:16px 16px 8px;scrollbar-width:none}.months button{border:0;background:none;font-family:var(--font-head);font-weight:700;font-size:17px;text-transform:uppercase;color:var(--gray-2);cursor:pointer;padding:0;white-space:nowrap}.months button.active{color:var(--ink)}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px 0;padding:8px 12px 16px;background:#fff}.cal .wd{text-align:center;font-size:11px;color:var(--gray);padding-bottom:4px}.cal button{position:relative;height:40px;width:40px;margin:0 auto;border:0;border-radius:12px;background:none;font-size:15px;cursor:pointer}.cal button.today{color:var(--red)}.cal button.selected{background:#fff;box-shadow:var(--shadow);font-weight:700}.cal button.has:after{content:"";position:absolute;left:50%;top:4px;width:4px;height:4px;margin-left:10px;border-radius:50%;background:var(--red)}.cal button:disabled{color:var(--gray-2);cursor:default}.class-row{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:14px 16px;background:#fff;border-bottom:1px solid var(--line);cursor:pointer}.class-row:hover{background:#fcfcfc}.class-row .t{font-family:var(--font-head);font-weight:700;font-size:15px}.class-row .tm{font-weight:500;font-size:14px;text-align:right}.class-row .s{font-size:13px;color:var(--gray)}.class-row .d{font-size:13px;color:var(--gray);text-align:right}.chip{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--line);color:var(--ink)}.chip.enrolled{background:#fde8e7;color:var(--red)}.chip.attended{background:#e3f5ea;color:#1f7a45}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#061d2880;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:480px;background:#fff;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:12px 16px calc(20px + env(safe-area-inset-bottom));max-height:85dvh;overflow:auto}.sheet .grip{width:40px;height:4px;border-radius:2px;background:var(--gray-2);margin:0 auto 12px}.sheet .head{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;margin-bottom:8px}.sheet .head h2{text-align:center;font-size:17px}.check-row{display:flex;align-items:center;gap:14px;padding:12px 4px;cursor:pointer;font-size:16px}.check-row input{display:none}.check-box{width:22px;height:22px;border-radius:5px;border:2px solid var(--line);background:#fff;display:grid;place-items:center;flex-shrink:0}.check-row input:checked+.check-box{background:var(--red);border-color:var(--red)}.client{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#fff;border-bottom:1px solid var(--line);font-weight:500}.client .check-box{width:28px;height:28px;cursor:pointer}.client .check-box.on{background:var(--red);border-color:var(--red)}.news-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px}.news-card .img{aspect-ratio:148 / 185;background:var(--line) center / cover no-repeat;border-radius:4px}.news-card .title{font-family:var(--font-head);font-weight:700;font-size:15px;margin:8px 0 4px;line-height:1.2}.news-card .date{font-size:12px;color:var(--gray)}.article{padding:20px 16px;background:#fff;flex:1;font-size:16px;line-height:1.5}.article ul{padding-left:20px}.join{display:grid;grid-template-columns:1.1fr .9fr;background:#fff}.join .txt{padding:24px 0 24px 16px;display:flex;flex-direction:column;gap:12px}.join h2{font-size:24px;font-weight:800;text-transform:uppercase;line-height:1.1}.join p{margin:0;font-size:14px;line-height:1.4}.join .pic{background:url(/app/img/join.jpg) top center / cover no-repeat;min-height:300px}.splash{flex:1;min-height:100dvh;background:#000 url(/app/img/splash.jpg) center / cover no-repeat;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:48px 24px calc(32px + env(safe-area-inset-bottom))}.splash .logo{width:70%;max-width:280px;filter:brightness(0) invert(1)}.toast{position:fixed;left:50%;bottom:calc(var(--nav-h) + 16px);transform:translate(-50%);z-index:30;background:var(--ink);color:#fff;padding:12px 18px;border-radius:12px;font-size:14px;max-width:90vw}
