@import"https://fonts.googleapis.com/css2?family=Syne:wght@500;600;700;800&family=Mulish:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root{--astra-brown: #8c5b41;--astra-brown-2: #7a4f38;--astra-brown-3: #6b4530;--astra-brown-tint: #f1e8e1;--astra-cream: #e8e5dc;--astra-cream-2: #ddd9cc;--astra-paper: #f6f3ec;--astra-paper-2: #efebe1;--ink-900: #1a1a1a;--ink-700: #3d3d3a;--ink-500: #595956;--ink-400: #8c8c8c;--ink-300: #b6b3aa;--ink-200: #d9d4c5;--ink-100: #ebe7da;--ok: #3f7a52;--ok-tint: #e3ede4;--warn: #b87a2c;--warn-tint: #f3e6cf;--err: #b1442e;--err-tint: #f3dccf;--info: #4a6b8a;--info-tint: #dde6ef;--font-display: "Syne", "Times New Roman", serif;--font-ui: "Mulish", -apple-system, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-7: 32px;--s-8: 40px;--s-9: 48px;--s-10: 64px;--s-11: 80px;--s-12: 96px;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-xl: 20px;--r-pill: 999px;--sh-1: 0 1px 0 rgba(26,26,26,.04), 0 1px 2px rgba(26,26,26,.04);--sh-2: 0 1px 0 rgba(26,26,26,.04), 0 4px 14px -6px rgba(26,26,26,.08);--sh-3: 0 8px 30px -10px rgba(26,26,26,.16);--sh-modal: 0 20px 60px -20px rgba(26,26,26,.3), 0 1px 0 rgba(26,26,26,.05);--ease-out: cubic-bezier(.2,.7,.2,1);--ease-in: cubic-bezier(.6,0,.8,.2);--t-fast: .12s;--t-base: .22s;--t-slow: .38s}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-ui);font-size:16px;line-height:1.45;color:var(--ink-900);background:var(--astra-paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.t-display{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;line-height:1.05}.t-mono{font-family:var(--font-mono);font-feature-settings:"tnum" 1}.t-num{font-variant-numeric:tabular-nums}button{font-family:inherit}.prod-shell{min-height:100vh;min-height:100dvh;width:100%;background:radial-gradient(900px 500px at 20% -10%,rgba(140,91,65,.05),transparent 60%),var(--astra-paper);display:flex;justify-content:center;align-items:stretch}.prod-viewport{position:relative;width:100%;max-width:480px;background:var(--astra-paper);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--sh-2)}@media (max-width: 480px){.prod-viewport{box-shadow:none}}.stage{min-height:100vh;display:grid;grid-template-columns:1fr 360px;gap:48px;padding:32px 40px;background:radial-gradient(1100px 600px at 18% -10%,rgba(140,91,65,.05),transparent 60%),var(--astra-paper)}@media (max-width: 1100px){.stage{grid-template-columns:1fr;gap:24px;padding:16px}.dock{position:sticky;top:16px;z-index:5}}.phone-wrap{display:flex;align-items:flex-start;justify-content:center;position:relative}.phone-wrap .label-top{position:absolute;top:-8px;left:50%;transform:translate(-50%);font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-400);white-space:nowrap}.phone{width:390px;height:844px;background:#0a0a0a;border-radius:52px;padding:12px;box-shadow:var(--sh-3),0 40px 60px -30px #00000059;position:relative;flex-shrink:0}.phone:before{content:"";position:absolute;top:18px;left:50%;transform:translate(-50%);width:118px;height:32px;background:#0a0a0a;border-radius:18px;z-index:3}.phone-screen{width:100%;height:100%;background:var(--astra-paper);border-radius:42px;overflow:hidden;position:relative;isolation:isolate}.status-bar{height:50px;padding:17px 28px 0;display:flex;justify-content:space-between;align-items:center;font:600 14px var(--font-ui);color:var(--ink-900);position:relative;z-index:2}.status-bar .right{display:flex;gap:6px;align-items:center}.status-bar svg{display:block}.app-body{position:absolute;top:50px;right:0;bottom:0;left:0;overflow:hidden;display:flex;flex-direction:column}.screen{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--astra-paper);will-change:transform,opacity}.screen.cream{background:var(--astra-cream)}.scr-header{display:flex;align-items:center;justify-content:space-between;padding:8px 20px;min-height:56px;flex-shrink:0}.scr-header .back{width:40px;height:40px;border-radius:var(--r-pill);display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:var(--ink-900)}.scr-header .back:hover{background:#0000000d}.scr-header .title{font-family:var(--font-display);font-weight:600;font-size:17px}.scr-header .right-slot{min-width:40px;display:flex;justify-content:flex-end}.scr-body{flex:1;overflow-y:auto;padding:0 20px 24px;-webkit-overflow-scrolling:touch}.scr-body::-webkit-scrollbar{width:0;height:0}.scr-cta{padding:12px 20px 28px;background:var(--astra-paper);border-top:1px solid var(--ink-100);flex-shrink:0}.scr-cta.no-border{border-top:none}.scr-cta .btn{width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 22px;border-radius:var(--r-md);font-family:var(--font-ui);font-weight:600;font-size:16px;border:1px solid transparent;cursor:pointer;transition:all var(--t-fast) var(--ease-out)}.btn-primary{background:var(--astra-brown);color:#fff}.btn-primary:hover{background:var(--astra-brown-2)}.btn-primary:active{background:var(--astra-brown-3)}.btn-secondary{background:#fff;color:var(--ink-900);border-color:var(--ink-200)}.btn-secondary:hover{border-color:var(--ink-900)}.btn-ghost{background:transparent;color:var(--astra-brown)}.btn-ghost:hover{background:var(--astra-brown-tint)}.btn-danger{background:transparent;color:var(--err);border-color:#b1442e4d}.btn-danger:hover{background:var(--err-tint)}.btn[disabled]{opacity:.45;cursor:not-allowed}.btn-sm{height:36px;font-size:14px;padding:0 14px;border-radius:var(--r-sm)}.btn-lg{height:60px;font-size:17px}.spin{width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite;opacity:.9}@keyframes spin{to{transform:rotate(360deg)}}.input{width:100%;height:56px;border:1px solid var(--ink-200);border-radius:var(--r-md);padding:0 16px;background:#fff;font:500 17px var(--font-ui);color:var(--ink-900);transition:border-color var(--t-fast)}.input:focus{outline:none;border-color:var(--astra-brown);box-shadow:0 0 0 3px #8c5b412e}.sms{display:flex;gap:10px;justify-content:space-between}.sms-cell{width:70px;height:76px;background:#fff;border:1px solid var(--ink-200);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font:600 32px/1 var(--font-ui);color:var(--ink-900);transition:all var(--t-fast)}.sms-cell.filled{border-color:var(--astra-brown)}.sms-cell.focused{border-color:var(--astra-brown);box-shadow:0 0 0 3px #8c5b412e}.sms-cell.err{border-color:var(--err);color:var(--err)}.sms-cell .caret{width:2px;height:28px;background:var(--astra-brown);animation:caret 1.1s ease-in-out infinite}@keyframes caret{0%,49%{opacity:1}50%,to{opacity:0}}.bk{background:#fff;border:1px solid var(--ink-200);border-radius:var(--r-lg);padding:18px 18px 14px;display:flex;flex-direction:column;gap:8px;position:relative;cursor:default}.bk:before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;background:var(--astra-brown);border-radius:0 3px 3px 0}.bk.unpaid:before{background:var(--warn)}.bk.cancelled:before{background:var(--ink-300)}.bk-time{font-family:var(--font-display);font-weight:600;font-size:34px;line-height:1;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.bk-time .end{color:var(--ink-300);font-weight:500}.bk-court{font-size:15px;color:var(--ink-700);font-weight:500}.bk-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}.bk-actions{display:flex;gap:8px;margin-top:10px;padding-top:12px;border-top:1px solid var(--ink-100)}.bk-actions .btn{flex:1}.badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:var(--r-pill);font-size:11px;font-weight:600;line-height:1}.badge .dot{width:6px;height:6px;border-radius:50%}.badge-ok{background:var(--ok-tint);color:var(--ok)}.badge-warn{background:var(--warn-tint);color:var(--warn)}.badge-err{background:var(--err-tint);color:var(--err)}.badge-neutral{background:var(--ink-100);color:var(--ink-700)}.badge-prime{background:#1a1a1a;color:#f1e8e1}.day-label{display:flex;align-items:baseline;gap:10px;padding:18px 0 10px}.day-label .num{font-family:var(--font-display);font-weight:600;font-size:22px;letter-spacing:-.01em}.day-label .of{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-400)}.date-strip{display:flex;gap:8px;overflow-x:auto;padding:4px 20px 12px;scrollbar-width:none}.date-strip::-webkit-scrollbar{display:none}.date-pill{flex-shrink:0;min-width:56px;padding:10px 12px;border-radius:var(--r-md);background:#fff;border:1px solid var(--ink-200);display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;transition:all var(--t-fast)}.date-pill .dow{font-size:11px;color:var(--ink-500);font-weight:600;text-transform:uppercase;letter-spacing:.08em}.date-pill .dom{font-family:var(--font-display);font-weight:600;font-size:20px;color:var(--ink-900)}.date-pill.active{background:var(--astra-brown);border-color:var(--astra-brown)}.date-pill.active .dow,.date-pill.active .dom{color:#fff}.date-pill.today .dom:after{content:"";display:block;width:4px;height:4px;border-radius:50%;background:var(--astra-brown);margin:4px auto 0}.date-pill.active.today .dom:after{background:#fff}.schedule{display:grid;gap:0;grid-template-columns:50px repeat(3,1fr);background:#fff;border:1px solid var(--ink-200);border-radius:var(--r-lg);overflow:hidden}.schedule .hd{position:sticky;top:0;background:var(--astra-cream);z-index:1;padding:10px 8px;font-size:11px;font-weight:700;color:var(--ink-700);text-align:center;border-bottom:1px solid var(--ink-200);line-height:1.2}.schedule .hd .ct-name{display:block;font-family:var(--font-display);font-weight:600;font-size:13px;color:var(--ink-900)}.schedule .hd .ct-sub{display:block;font-size:10px;color:var(--ink-500);font-weight:500;margin-top:2px}.schedule .hd .ct-star{color:var(--astra-brown)}.schedule .hd.hd-time{background:var(--astra-cream)}.schedule .tm{padding:8px 6px;font-family:var(--font-mono);font-size:10px;color:var(--ink-500);border-top:1px solid var(--ink-100);display:flex;align-items:center;justify-content:center;background:var(--astra-paper-2)}.schedule .cl{border-top:1px solid var(--ink-100);border-left:1px solid var(--ink-100);height:44px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;cursor:pointer;font-variant-numeric:tabular-nums;letter-spacing:-.01em;transition:background var(--t-fast);position:relative}.schedule .cl .rub{font-weight:500;margin-left:1px;opacity:.7}.schedule .cl.free{background:#fff;color:var(--ink-900)}.schedule .cl.free:hover{background:var(--astra-brown-tint)}.schedule .cl.free.prime{color:var(--astra-brown)}.schedule .cl.busy{background:repeating-linear-gradient(135deg,#ebe7da,#ebe7da 6px,#e3dfd1 6px,#e3dfd1 12px);color:transparent;cursor:not-allowed}.schedule .cl.selected{background:var(--astra-brown);color:#fff}.schedule .cl.selected:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border:2px solid white;border-radius:4px;opacity:.35}.schedule .cl.mine{background:var(--ok-tint);color:var(--ok)}.schedule .cl.mine:before{content:"✓";font-weight:700}.sch-legend{display:flex;gap:14px;flex-wrap:wrap;padding:12px 20px;font-size:11px;color:var(--ink-500)}.sch-legend span{display:flex;align-items:center;gap:6px}.sch-legend i{width:12px;height:12px;border-radius:3px;display:inline-block;border:1px solid var(--ink-200)}.lg-free,.lg-prime{background:#fff}.lg-prime:after{content:"₽"}.lg-busy{background:repeating-linear-gradient(135deg,#ebe7da,#ebe7da 4px,#e3dfd1 4px,#e3dfd1 8px);border-color:transparent!important}.lg-mine{background:var(--ok-tint)}.sk{background:linear-gradient(90deg,var(--ink-100) 0%,#f3eee0 50%,var(--ink-100) 100%);background-size:200% 100%;animation:shimmer 1.4s linear infinite;border-radius:6px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.tab-bar{flex-shrink:0;padding:8px 20px 24px;background:#fff;border-top:1px solid var(--ink-100);display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;border-radius:var(--r-md);font-size:10px;font-weight:600;color:var(--ink-400);cursor:pointer;background:none;border:none;font-family:var(--font-ui)}.tab.active{color:var(--astra-brown)}.tab svg{display:block}.empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 32px;text-align:center;gap:14px}.empty .mark{font-family:var(--font-display);font-weight:600;font-size:96px;color:var(--astra-brown);line-height:1}.empty h2{font-family:var(--font-display);font-weight:600;font-size:24px;margin:0;letter-spacing:-.01em}.empty p{color:var(--ink-500);margin:0;max-width:280px}.sheet-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#1a1a1a66;display:flex;align-items:flex-end;justify-content:center;z-index:10;animation:fadeIn .2s}.sheet{width:100%;background:var(--astra-paper);border-radius:24px 24px 0 0;padding:12px 20px 28px;display:flex;flex-direction:column;gap:14px;animation:slideUp .28s var(--ease-out);max-height:75%;box-shadow:0 -20px 50px #0003}.sheet .grabber{width:36px;height:4px;border-radius:2px;background:var(--ink-200);margin:0 auto}.sheet h3{font-family:var(--font-display);font-weight:600;font-size:22px;margin:4px 0 0;letter-spacing:-.01em}.sheet p{margin:0;color:var(--ink-500);font-size:15px}.sheet .actions{display:flex;gap:10px;margin-top:6px}.sheet .actions .btn{flex:1}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.toast{position:absolute;top:60px;left:16px;right:16px;background:var(--ink-900);color:#fff;border-radius:var(--r-md);padding:14px 16px;display:flex;align-items:center;gap:10px;z-index:20;box-shadow:var(--sh-3);font-size:14px;font-weight:500;animation:toastIn .24s var(--ease-out)}.toast.ok{background:#1a3a26}.toast.err{background:#3a1a14}.toast .ok-dot{width:18px;height:18px;border-radius:50%;background:var(--ok);display:inline-flex;align-items:center;justify-content:center;font-size:11px}@keyframes toastIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.big-check{width:96px;height:96px;border-radius:50%;background:var(--ok);color:#fff;display:flex;align-items:center;justify-content:center;font-size:48px;animation:pop .36s var(--ease-out)}@keyframes pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}.big-cross{width:96px;height:96px;border-radius:50%;background:var(--err-tint);color:var(--err);display:flex;align-items:center;justify-content:center;font-size:44px;font-weight:600}.big-spinner{width:80px;height:80px;border-radius:50%;border:4px solid var(--astra-cream-2);border-top-color:var(--astra-brown);animation:spin 1s linear infinite}.auth-hero{flex:1;padding:32px 24px 0;display:flex;flex-direction:column;gap:24px;position:relative}.auth-hero .logo-mark{width:100%;display:flex;justify-content:center;padding-top:24px}.auth-hero .logo-mark img{width:56px;height:auto}.auth-hero h1{font-family:var(--font-display);font-weight:600;font-size:38px;letter-spacing:-.02em;line-height:1.05;margin:0;text-wrap:balance}.auth-hero .sub{color:var(--ink-500);font-size:15px;max-width:280px}.cf-card{background:#fff;border:1px solid var(--ink-200);border-radius:var(--r-lg);padding:22px;display:flex;flex-direction:column;gap:16px}.cf-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.cf-row .k{color:var(--ink-500);font-size:13px}.cf-row .v{font-weight:600;font-size:15px;text-align:right}.cf-row .v.lg{font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:-.01em}.cf-divider{height:1px;background:var(--ink-100)}.cf-total{display:flex;justify-content:space-between;align-items:baseline}.cf-total .k{font-size:14px;color:var(--ink-700);font-weight:500}.cf-total .v{font-family:var(--font-display);font-weight:700;font-size:28px;letter-spacing:-.01em}.seg{display:flex;padding:4px;background:var(--astra-paper-2);border-radius:var(--r-pill);border:1px solid var(--ink-200)}.seg button{flex:1;border:none;background:transparent;padding:8px;border-radius:999px;font:600 13px var(--font-ui);color:var(--ink-500);cursor:pointer}.seg button.active{background:#fff;color:var(--ink-900);box-shadow:var(--sh-1)}.dock{background:#fff;border:1px solid var(--ink-200);border-radius:var(--r-lg);padding:20px 22px;height:fit-content;align-self:flex-start;box-shadow:var(--sh-1);font-size:14px}.dock h3{font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-500);margin:0 0 10px}.dock h3:not(:first-child){margin-top:22px}.dock-group{display:grid;grid-template-columns:1fr 1fr;gap:6px}.dock-btn{border:1px solid var(--ink-200);background:#fff;padding:9px 10px;border-radius:var(--r-md);font:500 12px var(--font-ui);color:var(--ink-700);text-align:left;cursor:pointer;transition:all var(--t-fast);display:flex;flex-direction:column;gap:2px}.dock-btn:hover{border-color:var(--ink-900)}.dock-btn.active{background:var(--astra-brown);border-color:var(--astra-brown);color:#fff}.dock-btn .num{font-family:var(--font-mono);font-size:10px;opacity:.7}.dock-btn.active .num{opacity:.9}.dock-row{display:flex;flex-wrap:wrap;gap:6px}.dock-pill{border:1px solid var(--ink-200);background:#fff;padding:5px 10px;border-radius:999px;font:500 11px var(--font-mono);color:var(--ink-700);cursor:pointer;text-transform:uppercase;letter-spacing:.08em}.dock-pill:hover{border-color:var(--ink-900)}.dock-pill.active{background:var(--ink-900);border-color:var(--ink-900);color:#fff}.dock .note{margin-top:20px;padding:12px;background:var(--astra-paper-2);border-radius:var(--r-md);font-size:12px;color:var(--ink-500);line-height:1.5}.dock .top-logo{display:flex;align-items:center;gap:10px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--ink-100)}.dock .top-logo img{width:28px;height:28px}.dock .top-logo .meta{display:flex;flex-direction:column}.dock .top-logo .meta b{font:600 14px var(--font-display);letter-spacing:-.01em}.dock .top-logo .meta span{font:500 11px var(--font-mono);color:var(--ink-500)}.dock a.deep{display:block;padding:8px 0;color:var(--ink-700);font-size:13px;text-decoration:none;border-bottom:1px solid var(--ink-100)}.dock a.deep:hover{color:var(--astra-brown)}.dock a.deep:last-child{border-bottom:none}.dock a.deep .arr{float:right;color:var(--ink-300)}.muted{color:var(--ink-500)}.small{font-size:12px}.spacer{flex:1}.row-between{display:flex;justify-content:space-between;align-items:center}.row-center{display:flex;justify-content:center;align-items:center}.list{display:flex;flex-direction:column;gap:12px}.hero-card{margin:16px 20px 0;background:var(--astra-cream);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--astra-cream-2);position:relative;padding:24px 22px 22px}.hero-card .star-deco{position:absolute;top:-20px;right:-10px;font-size:140px;color:#8c5b411a;line-height:1;font-family:var(--font-display);font-weight:700;pointer-events:none}.hero-card h2{font-family:var(--font-display);font-weight:600;font-size:26px;margin:0 0 10px;letter-spacing:-.01em;line-height:1.1}.hero-card p{color:var(--ink-700);margin:0 0 18px;font-size:14px;max-width:260px}.hero-card .btn{width:100%}.policy{font-size:12px;color:var(--ink-500);padding:12px 0 0}.success-block{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:18px;padding:0 32px}.success-block h2{font-family:var(--font-display);font-size:28px;font-weight:600;margin:0;letter-spacing:-.01em}.success-block p{color:var(--ink-500);margin:0;max-width:280px}.processing{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;text-align:center;gap:18px;padding:0 32px}.processing h2{font-family:var(--font-display);font-size:22px;font-weight:600;margin:0}.processing p{color:var(--ink-500);margin:0;max-width:260px}.err-card{background:var(--err-tint);border:1px solid rgba(177,68,46,.25);border-radius:var(--r-md);padding:14px 16px;color:#5b2014;display:flex;gap:10px;align-items:flex-start}.err-card .ic{color:var(--err);font-weight:700;font-size:18px;line-height:1}.err-card .t{font-size:14px;line-height:1.4}.cache-banner{background:var(--warn-tint);color:#6b4612;font-size:12px;padding:8px 16px;text-align:center;display:flex;align-items:center;justify-content:center;gap:8px}.cache-banner .dot{width:6px;height:6px;border-radius:50%;background:var(--warn)}
