@charset "UTF-8";@font-face{font-family:Aniuk;src:url("./media/Aniuk-Regular-ZTC5UHTM.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Aniuk;src:url("./media/Aniuk-Medium-QI3AEXO2.otf") format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Aniuk;src:url("./media/Aniuk-Bold-ZCQE6DZR.otf") format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Aniuk;src:url("./media/Aniuk-Heavy-L5EMXNET.otf") format("opentype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Aniuk;src:url("./media/Aniuk-Black-YEI4EQLO.otf") format("opentype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Signika;src:url("./media/Signika-Regular-6R24KNP3.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Signika;src:url("./media/Signika-Bold-V76CMPNO.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{--tvp-fialova:#8384BF;--tvp-magenta:#EA128D;--tvp-tyrkys:#02AAA6;--tvp-zluta:#FDBA18;--tvp-navy:#244582;--tvp-svetla:#EBEFF1;--tvp-antracit:#252C32;--tvp-white:#FFFFFF;--tvp-illu-tyrkys:#00A5A4;--tvp-illu-fialova:#8D87C0;--tvp-illu-magenta:#E5007F;--tvp-illu-zluta:#FCBC00;--tvp-fialova-dark:#6E6FAD;--tvp-magenta-dark:#C40F76;--tvp-tyrkys-dark:#018E8A;--tvp-zluta-dark:#E5A50B;--tvp-navy-dark:#1B3465;--tvp-fialova-tint:#F2F2F9;--tvp-magenta-tint:#FDE7F4;--tvp-tyrkys-tint:#E6F7F6;--tvp-zluta-tint:#FFF7E4;--tvp-navy-tint:#E9EDF3;--text-heading:var(--tvp-navy);--text-body:var(--tvp-antracit);--text-muted:#6B7480;--text-invert:var(--tvp-white);--text-link:var(--tvp-fialova);--text-link-hover:var(--tvp-magenta);--surface-page:var(--tvp-white);--surface-muted:var(--tvp-svetla);--surface-card:var(--tvp-white);--surface-invert:var(--tvp-navy);--brand-primary:var(--tvp-fialova);--brand-cta:var(--tvp-magenta);--brand-cta-hover:var(--tvp-magenta-dark);--brand-secondary:var(--tvp-tyrkys);--brand-secondary-hover:var(--tvp-tyrkys-dark);--brand-highlight:var(--tvp-zluta);--border-subtle:#DCE3E8;--border-strong:var(--tvp-fialova);--focus-ring:var(--tvp-magenta);--dance-salsa:var(--tvp-magenta);--dance-bachata:var(--tvp-tyrkys);--dance-zouk:var(--tvp-fialova);--dance-kizomba:var(--tvp-zluta);--dance-tango:var(--tvp-navy)}:root{--font-display:"Aniuk","Signika",system-ui,sans-serif;--font-core:"Signika",system-ui,-apple-system,"Segoe UI",sans-serif;--weight-regular:400;--weight-bold:700;--text-hero:80px;--text-h1:48px;--text-h2:40px;--text-h3:30px;--text-h4:24px;--text-h5:20px;--text-lead:20px;--text-body:18px;--text-small:16px;--text-caption:14px;--text-label:13px;--text-button:17px;--leading-tight:1.1;--leading-heading:1.25;--leading-body:1.7;--leading-lead:1.55;--tracking-tight:-.01em;--tracking-normal:0;--tracking-label:.08em}:root{--space-0:0;--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:32px;--space-6:40px;--space-7:48px;--space-8:64px;--space-9:80px;--space-10:96px;--space-11:120px;--space-12:160px;--gap-inline:16px;--gap-card:32px;--section-y:96px;--section-y-tight:64px}:root{--radius-pill:999px;--radius-card:24px;--radius-card-sm:16px;--radius-image:24px;--radius-image-sm:16px;--radius-input:999px;--radius-field:16px}:root{--shadow-float:0 5px 15px rgba(0,0,0,.149);--shadow-card:0 8px 24px rgba(36,69,130,.08);--shadow-card-hover:0 14px 34px rgba(36,69,130,.14);--shadow-header:0 2px 12px rgba(36,69,130,.07);--shadow-none:none}:root{--ease-out:cubic-bezier(.22,.61,.36,1);--ease-in-out:cubic-bezier(.45,0,.25,1);--ease-swing:cubic-bezier(.4,.2,.6,.8);--dur-fast:.15s;--dur-base:.22s;--dur-slow:.4s;--lift-hover:translateY(-3px);--press-scale:scale(.97);--pulse-dur:5.2s;--swing-dur:26s}@keyframes tvp-logo-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes tvp-logo-swing{0%{transform:rotate(-30deg)}50%{transform:rotate(60deg)}to{transform:rotate(-30deg)}}@keyframes tvp-bubble-float{0%,to{transform:translateY(-7px)}50%{transform:translateY(7px)}}@media(prefers-reduced-motion:reduce){:root{--dur-fast:1ms;--dur-base:1ms;--dur-slow:1ms;--lift-hover:none }}@media(prefers-reduced-motion:reduce){@keyframes tvp-logo-pulse{0%,to{transform:none}}@keyframes tvp-logo-swing{0%,to{transform:none}}@keyframes tvp-bubble-float{0%,to{transform:none}}}:root{--container:1200px;--container-narrow:800px;--container-pad:24px;--header-h:96px;--bp-mobile:360px;--bp-tablet:768px;--bp-desktop:1280px;--wave-overlap:-1px;--wave-h-sm:90px;--wave-h-md:140px;--wave-h-lg:200px}body{margin:0;font-family:var(--font-core);font-size:var(--text-body);line-height:var(--leading-body);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased;text-wrap:pretty}h1,h2,h3,h4,h5{font-family:var(--font-core);font-weight:var(--weight-bold);color:var(--text-heading);line-height:var(--leading-heading);margin:0 0 var(--space-3);text-wrap:balance}h1{font-size:var(--text-h1)}h2{font-size:var(--text-h2)}h3{font-size:var(--text-h3)}h4{font-size:var(--text-h4)}h5{font-size:var(--text-h5)}p{margin:0 0 var(--space-3)}a{color:var(--text-link);text-decoration:none;transition:color var(--dur-fast) var(--ease-out)}a:hover{color:var(--text-link-hover);text-decoration:underline;text-underline-offset:3px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:var(--radius-pill)}img{max-width:100%;display:block}strong{font-weight:var(--weight-bold)}.tvp-container{max-width:var(--container);margin-inline:auto;padding-inline:var(--container-pad)}.tvp-eyebrow{font-size:var(--text-label);font-weight:var(--weight-bold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--brand-primary)}.tvp-claim{font-family:var(--font-display);font-weight:700;font-size:var(--text-hero);line-height:var(--leading-tight);color:var(--tvp-navy);letter-spacing:var(--tracking-tight)}.tvp-lead{font-size:var(--text-lead);line-height:var(--leading-lead)}.landing{flex:1 1 auto;display:flex;flex-direction:column}.landing .hero{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(48px,9vw,88px) 0 clamp(40px,8vw,72px)}.landing .simulation-note{margin:0 0 var(--space-3);font-size:var(--text-caption);color:var(--text-muted);text-align:center}.landing .hero-inner{text-align:center}.landing .door-button{display:inline-block;font-family:var(--font-core);font-weight:var(--weight-bold);font-size:clamp(24px,6.5vw,40px);line-height:1.15;color:var(--text-invert);background:var(--brand-cta);border:0;border-radius:var(--radius-pill);padding:clamp(22px,5vw,32px) clamp(40px,9vw,64px);width:min(460px,86vw);cursor:pointer;box-shadow:var(--shadow-card-hover);transition:background var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.landing .door-button:hover{background:var(--brand-cta-hover);transform:var(--lift-hover);box-shadow:0 18px 40px #24458238}.landing .door-button:active{transform:var(--press-scale)}.landing .door-button:focus-visible{outline:2px solid var(--tvp-navy);outline-offset:3px}.landing .door-button:disabled{cursor:default}.landing .door-button.is-busy{background:var(--brand-secondary);transform:none;box-shadow:var(--shadow-card)}.landing .door-button.is-ok{background:var(--brand-secondary)}.landing .door-button.is-err{background:var(--tvp-zluta);color:var(--tvp-antracit)}.landing .hero-note{margin:clamp(20px,4vw,28px) auto 0;max-width:34ch;font-size:var(--text-lead);line-height:var(--leading-lead);color:var(--text-muted)}.landing .no-access{margin:0;font-size:clamp(20px,5vw,30px);font-weight:var(--weight-bold);color:var(--text-heading)}.landing .no-access-hint{margin:clamp(12px,2.5vw,18px) auto 0;max-width:34ch;font-size:var(--text-lead);line-height:var(--leading-lead);color:var(--text-muted)}.studio-skip{position:absolute;left:-9999px;top:0;z-index:100;padding:var(--space-3) var(--space-4);background:var(--tvp-navy);color:var(--text-invert);border-radius:0 0 var(--radius-card-sm) 0;font-weight:var(--weight-bold)}.studio-skip:focus{left:0;color:var(--text-invert);text-decoration:none}app-studio,app-studio-entrance,header[app-site-header],footer[app-site-footer]{--container: 1340px;--container-pad: 40px}@media(max-width:900px){app-studio,app-studio-entrance,header[app-site-header],footer[app-site-footer]{--container-pad: 24px}}@media(max-width:600px){app-studio,app-studio-entrance,header[app-site-header],footer[app-site-footer]{--container-pad: 16px}}.studio-container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--container-pad)}#studio,#kde-tancime,#fotky-studia,#rezervace,#vstup-do-studia{scroll-margin-top:calc(var(--nav-h) + 8px)}.studio-main{flex:1 1 auto}.app-content{flex:1 1 auto;display:flex;flex-direction:column}.app-content>app-studio{display:flex;flex-direction:column;flex:1 1 auto}app-root:has(.app-main .studio-admin){--studio-footer-wave-surface: var(--surface-muted)}.app-main:has(.studio-admin){background:var(--studio-footer-wave-surface)}.studio-eyebrow{margin:0 0 var(--space-2);font-family:var(--font-core);font-weight:var(--weight-bold);font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--brand-primary)}.tvp-nav-obal.studio-header{transition:background var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.tvp-nav-obal.studio-header.is-transparent{background:transparent;box-shadow:none}.studio-header.is-transparent .tvp-nav{color:#fff}.studio-brand{display:flex;line-height:0}.studio-brand img{display:block;width:225px;height:auto}.studio-brand img.studio-brand__logo--light,.studio-header.is-transparent .studio-brand img.studio-brand__logo--dark{display:none}.studio-header.is-transparent .studio-brand img.studio-brand__logo--light{display:block}.studio-brand:hover{text-decoration:none}.tvp-nav-desktop .tvp-nav-link.studio-nav__item{padding:0;border:0;background:none;font-family:var(--font-core);cursor:pointer}.studio-nav__item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px;border-radius:var(--radius-pill)}.studio-mm-link{width:100%;border:0;background:none;text-align:left;cursor:pointer}.studio-mm-cta{width:100%}.studio-social{display:flex;align-items:center;gap:clamp(9px,1vw,16px);margin-left:8px}.studio-social__link{display:grid;place-items:center;width:24px;height:24px;color:inherit;opacity:.92}.studio-social__link:hover{opacity:1;color:inherit}.studio-social__link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:4px}.studio-mm-social{display:flex;justify-content:center;gap:8px;margin-top:24px}.studio-mm-social__link{display:grid;place-items:center;width:45px;height:45px;border-radius:var(--radius-pill);background:var(--brand-cta);color:#fff}.studio-mm-social__link:hover{background:var(--brand-cta-hover);color:#fff}.studio-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:14px 26px;border:0;border-radius:var(--radius-pill);font-family:var(--font-core);font-size:var(--text-button);font-weight:var(--weight-bold);line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.studio-btn:hover{text-decoration:none}.studio-btn:active{transform:var(--press-scale)}.studio-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.studio-btn--primary{background:var(--brand-cta);color:var(--text-invert);box-shadow:var(--shadow-card)}.studio-btn--primary:hover{background:var(--brand-cta-hover);color:var(--text-invert);transform:var(--lift-hover);box-shadow:var(--shadow-card-hover)}.studio-btn--ghost{background:transparent;color:var(--text-heading);box-shadow:inset 0 0 0 2px var(--tvp-navy)}.studio-btn--ghost:hover{background:var(--tvp-navy);color:var(--text-invert);transform:var(--lift-hover)}.studio-btn--outline-light{background:#ffffff14;color:#fff;box-shadow:inset 0 0 0 2px #ffffffb8}.studio-btn--outline-light:hover{background:#fff;color:var(--tvp-navy)}.studio-btn--secondary{background:var(--brand-secondary);color:var(--text-invert);margin-top:var(--space-4)}.studio-btn--secondary:hover{background:var(--brand-secondary-hover);color:var(--text-invert);transform:var(--lift-hover);box-shadow:var(--shadow-card)}.studio-hero{position:relative;isolation:isolate;overflow:hidden;min-height:620px;display:flex;align-items:center;background:#2e0b45;color:#fff;margin-top:calc(-1 * var(--nav-h))}.studio-hero__wave{position:absolute;z-index:3;left:0;right:0;bottom:-1px;color:#fff;line-height:0;pointer-events:none}.studio-hero__wave svg{display:block;width:100%;height:var(--wave-256, min(110px, 7.639vw))}.studio-hero__background,.studio-hero__tint,.studio-hero__shade{position:absolute;inset:0;width:100%;height:100%}.studio-hero__background{z-index:-3;object-fit:cover;object-position:center 42%}.studio-hero__tint{z-index:-2;background:linear-gradient(115deg,#2e0b45,#63207a 44%,#c22a86);opacity:.86;mix-blend-mode:color}.studio-hero__shade{z-index:-1;background:linear-gradient(155deg,#180726b8,#260c3857,#4e145c6b)}.studio-hero__inner{display:block;padding-top:clamp(122px,12vw,158px);padding-bottom:clamp(132px,17vw,210px)}.studio-hero__inner--two-columns{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,1fr);align-items:center;gap:clamp(32px,4vw,64px)}@media(max-width:1100px){.studio-hero__inner--two-columns{grid-template-columns:minmax(0,1fr);gap:24px}.studio-entrance .studio-hero__door-karta{order:-1}}.studio-hero__text{position:relative;max-width:640px;margin:0 0 0 -36px;padding:32px 36px;background:linear-gradient(100deg,#150637c5,#07000d8a 46%,#07000d00);border-radius:var(--radius-card)}.studio-hero__eyebrow{color:var(--tvp-zluta)}.studio-hero__claim{margin:0 0 18px;color:#fff;font-family:var(--font-display);font-weight:var(--weight-bold);font-size:clamp(38px,6.2vw,66px);line-height:1.04;letter-spacing:-.01em}.studio-hero__lead{max-width:560px;margin:0;color:#ffffffe6;font-size:var(--text-lead);line-height:var(--leading-lead)}.studio-hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}.tvp-tance-pilulka{display:inline-flex;align-items:center;gap:8px;padding:10px 18px 10px 12px;border:1px solid rgba(255,255,255,.3490196078);border-radius:var(--radius-pill);background:#ffffff1f;color:#fff;font-family:var(--font-core);font-size:15px;font-weight:var(--weight-bold);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.tvp-tance-pilulka:hover{background:var(--tone);border-color:var(--tone);color:#fff;transform:var(--lift-hover)}.tvp-tance-pilulka:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.tvp-tance-pilulka-cislo{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--tone);color:#fff;font-size:12px}.studio-hero__photo-link svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}.studio-hero__photo-link{position:absolute;right:max(var(--container-pad),(100vw - var(--container)) / 2);bottom:calc(var(--wave-256, min(110px, 7.639vw)) + 20px);display:inline-flex;align-items:center;gap:var(--space-2);padding:10px 16px;border:0;border-radius:var(--radius-pill);background:#fffffff0;color:var(--tvp-navy);font-family:var(--font-core);font-size:var(--text-caption);font-weight:var(--weight-bold);cursor:pointer}.studio-hero__photo-link:hover{background:#fff;transform:translateY(-2px)}.studio-hero__door-karta{position:relative;z-index:2;width:100%;height:fit-content;min-width:0;min-height:clamp(180px,21vw,271px);display:flex;align-items:center;justify-content:center;padding:clamp(20px,2vw,28px);border-radius:var(--radius-card);background:#fff;color:var(--text-body);box-shadow:var(--shadow-card-hover)}.studio-hero__door-karta app-door-widget{display:block;width:100%;min-width:0}.studio-hero__door-karta .landing .hero,.studio-hero__door-karta .landing .hero-inner{padding:0}.studio-hero__door-karta .landing .door-button{width:100%;font-size:clamp(22px,2.4vw,32px);padding:22px 20px}.studio-hero__door-karta .landing .hero-note,.studio-hero__door-karta .landing .no-access-hint{margin-top:18px;font-size:var(--text-small)}.studio-hero__door-karta .door-switch{max-width:100%;flex-wrap:wrap}.studio-about{padding:var(--section-y) 0;background:var(--surface-page)}.studio-about__head{max-width:760px;margin-bottom:clamp(28px,3.4vw,44px)}.studio-about__title{margin:0 0 18px;color:var(--text-heading);font-family:var(--font-display);font-size:clamp(32px,4vw,50px);line-height:1.08;text-wrap:balance}.studio-about__lead{margin:0;max-width:62ch;color:var(--text-body);font-size:var(--text-lead);line-height:var(--leading-lead)}.studio-about__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,4.4vw,64px);align-items:center}.studio-about__body{max-width:64ch}.studio-about__body p{margin:0 0 var(--space-3);font-size:var(--text-body);line-height:var(--leading-body)}.studio-about__body strong{color:var(--text-heading)}.studio-amenities{display:grid;gap:10px;margin:var(--space-5) 0 0;padding:0;list-style:none}.studio-amenities li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:12px 18px;border-radius:var(--radius-pill);background:var(--surface-card);box-shadow:var(--shadow-card)}.studio-amenities__dot{flex:none;width:14px;height:14px;border-radius:50%;background:var(--tone)}.studio-amenities strong{font-size:var(--text-small);color:var(--text-heading)}.studio-amenities li>span:last-child{font-size:var(--text-caption);color:var(--text-muted)}.tvp-onas-cisla{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.8vw,20px)}.tvp-onas-cislo{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:6px;padding:clamp(18px,2.2vw,28px);border-radius:var(--radius-card);background:var(--tone);color:#fff;box-shadow:var(--shadow-card)}.tvp-onas-cislo:nth-child(2),.tvp-onas-cislo:nth-child(4){margin-top:28px;margin-bottom:-28px}.tvp-onas-cislo:after{content:"";position:absolute;right:-30px;bottom:-30px;width:110px;height:110px;border-radius:50%;background:#fff;opacity:.14;animation:tvp-beat 2.6s var(--ease-in-out) calc(var(--i) * .4s) infinite}@keyframes tvp-beat{0%,to{transform:scale(1);box-shadow:0 0}45%{transform:scale(1.08);box-shadow:0 0 0 28px #0000}}.tvp-onas-cislo-hodnota{font-family:var(--font-display);font-size:clamp(40px,5vw,64px);font-weight:var(--weight-bold);line-height:1}.tvp-onas-cislo-hodnota small{margin-left:8px;font-family:var(--font-core);font-size:var(--text-h5)}.tvp-onas-cislo-text{font-size:var(--text-small);font-weight:var(--weight-bold);line-height:1.4}.tvp-onas-cislo--zluta{color:var(--tvp-navy)}.studio-gallery{--gallery-wave: min(104px, 7.222vw);position:relative;isolation:isolate;overflow:hidden;padding:calc(var(--gallery-wave) + clamp(44px,5.5vw,68px)) 0 calc(var(--gallery-wave) + clamp(52px,6.5vw,80px));background:var(--tvp-navy)}.studio-gallery__wave{position:absolute;left:0;right:0;z-index:0;line-height:0;color:var(--surface-page);pointer-events:none}.studio-gallery__wave svg{display:block;width:100%;height:var(--gallery-wave)}.studio-gallery__wave--top{top:-1px;transform:rotate(180deg)}.studio-gallery__wave--bottom{bottom:-1px}.studio-gallery>.studio-container{position:relative;z-index:1}.studio-carousel__head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.studio-gallery .studio-eyebrow{color:#ffffffbf}.studio-carousel__title{margin:0;color:#fff;font-family:var(--font-display);font-size:clamp(32px,4vw,48px);line-height:1.1}.studio-carousel__counter{margin:0;font-size:var(--text-small);font-weight:var(--weight-bold);color:#ffffffc7;font-variant-numeric:tabular-nums;white-space:nowrap}.studio-carousel{position:relative}.studio-carousel:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px;border-radius:var(--radius-image)}.studio-carousel__viewport{position:relative;aspect-ratio:16/9;overflow:hidden;touch-action:pan-y;border-radius:var(--radius-image);background:var(--tvp-navy-dark, #1B3465);box-shadow:0 30px 70px #040e2473}.studio-carousel__track{display:flex;height:100%;transition:transform var(--dur-slow) var(--ease-in-out);will-change:transform}.studio-slide{position:relative;flex:0 0 100%;height:100%;margin:0;background:linear-gradient(135deg,var(--tvp-fialova),var(--tvp-navy) 55%,var(--tvp-tyrkys))}.studio-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.studio-slide__caption{position:absolute;left:var(--space-4);bottom:var(--space-4);max-width:calc(100% - 2 * var(--space-4));padding:8px 18px;border-radius:var(--radius-pill);background:#252c32c7;color:#fff;font-size:var(--text-small);font-weight:var(--weight-bold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.studio-carousel__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:0;border-radius:50%;background:#ffffffeb;color:var(--tvp-navy);cursor:pointer;box-shadow:var(--shadow-card);transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.studio-carousel__arrow:hover{background:#fff;transform:translateY(-50%) scale(1.05)}.studio-carousel__arrow--prev{left:var(--space-3)}.studio-carousel__arrow--next{right:var(--space-3)}.studio-carousel__arrow svg{display:block;width:22px;height:22px}.studio-carousel__footer{display:flex;justify-content:center;padding-top:var(--space-4)}.studio-dots{display:flex;align-items:center;gap:4px}.studio-dot{box-sizing:content-box;width:8px;height:8px;padding:8px;border:0;border-radius:var(--radius-pill);cursor:pointer;background-color:#ffffff6b;background-clip:content-box;transition:width var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.studio-dot.is-on{width:24px;background-color:var(--tvp-zluta)}.studio-dot:focus-visible,.studio-carousel__arrow:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.studio-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.studio-booking{padding:var(--section-y) 0;background:var(--surface-page)}.studio-footer{margin-top:auto}.studio-footer__wave{background:var(--studio-footer-wave-surface, var(--surface-page));color:var(--tvp-navy);line-height:0;margin-bottom:-1px}.studio-footer__wave svg{display:block;width:100%;height:var(--wave-256, min(110px, 7.639vw))}.studio-footer__body{padding:0 0 var(--space-5);background:var(--tvp-navy);color:#fff}.studio-footer__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);padding-block:var(--space-5)}.studio-footer__title{margin:0 0 var(--space-3);color:#fff;font-size:var(--text-h4)}.studio-footer__list{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none;color:#ffffffc7;font-size:var(--text-small)}.studio-footer__list a{color:#fff}.studio-footer__list a:hover{color:var(--tvp-zluta)}.studio-footer__claim{margin:0;color:#fff;font-family:var(--font-display);font-size:clamp(28px,4vw,48px);line-height:1.1}.studio-footer__perex{margin:var(--space-3) 0 0;max-width:42ch;color:#ffffffc7;font-size:var(--text-small)}.studio-footer__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid rgba(255,255,255,.16);color:#fff9;font-size:var(--text-caption)}.studio-footer__bottom p{margin:0}.studio-footer__legal{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin:0;padding:0;list-style:none}.studio-footer__legal a{color:#fff9}.studio-footer__legal a:hover{color:#fff}.studio-footer__vizitka{color:#ffffffc7;text-decoration:underline;text-underline-offset:2px}.studio-footer__vizitka:hover{color:var(--tvp-zluta)}.studio-dialog{width:min(560px,100vw - 32px);padding:0;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card);color:var(--text-body);box-shadow:var(--shadow-float);font-family:var(--font-core)}.studio-dialog::backdrop{background:#252c328c}.studio-dialog__panel{padding:var(--space-4)}.studio-dialog__title{margin:0 0 var(--space-2);font-size:var(--text-h4)}.studio-dialog__when{margin:0 0 var(--space-4);font-size:var(--text-small);font-weight:var(--weight-bold);color:var(--text-muted)}.studio-dialog__text{margin:0 0 var(--space-4);font-size:var(--text-small);line-height:var(--leading-body)}.studio-dialog__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.studio-dialog__actions .btn{flex:1 1 auto;min-height:44px}.studio-dialog .btn:not(.btn--ghost):not(.btn--danger):not(.btn--cancel):not(.btn--success){background:var(--brand-cta);color:var(--text-invert)}.studio-dialog .btn:not(.btn--ghost):not(.btn--danger):not(.btn--cancel):not(.btn--success):hover{background:var(--brand-cta-hover)}.studio-dialog{max-height:calc(100dvh - 32px);overflow-y:auto}.studio-reservation{display:grid;gap:var(--space-3);min-width:0}.studio-reservation__field{display:grid;gap:8px;min-width:0}.studio-reservation__required{color:var(--tvp-magenta)}.studio-reservation label,.studio-reservation legend{font-weight:700;font-size:var(--text-small);color:var(--text-heading)}.studio-reservation input:not([type=checkbox]),.studio-reservation select,.studio-reservation textarea{width:100%;min-width:0;box-sizing:border-box;min-height:44px;padding:10px 16px;border:1px solid var(--border-subtle);border-radius:var(--radius-input);background:var(--surface-card);color:var(--text-body);font:inherit;font-size:16px;line-height:1.5;transition:border-color .15s ease}.studio-reservation input:not([type=checkbox]):focus,.studio-reservation select:focus,.studio-reservation textarea:focus{border-color:var(--brand-primary);outline:2px solid var(--focus-ring);outline-offset:3px}.studio-reservation textarea{resize:vertical;border-radius:var(--radius-field);min-height:100px}.studio-reservation__times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.studio-reservation__times>div{display:grid;gap:8px;min-width:0}.studio-reservation .studio-reservation__checkbox{display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer}.studio-reservation__checkbox input{appearance:none;-webkit-appearance:none;flex:0 0 28px;width:28px;height:28px;margin:0;border:2px solid var(--brand-secondary);border-radius:8px;background:var(--surface-card);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.studio-reservation__checkbox input:checked{background-color:var(--brand-secondary);border-color:var(--brand-secondary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='m5 12 4.5 4.5L19 7' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:22px}.studio-reservation__checkbox input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:8px}.studio-reservation__checkbox:hover input{border-color:var(--brand-secondary-hover)}@media(forced-colors:active){.studio-reservation__checkbox input{appearance:auto;-webkit-appearance:checkbox}}.studio-reservation__repeat{display:grid;gap:var(--space-2);border:0;padding:0;margin:0;min-width:0}.studio-reservation__days{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.studio-reservation__days button{min-width:44px;min-height:44px;padding:6px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--surface-card);color:var(--tvp-navy);font:inherit;cursor:pointer}.studio-reservation__days button.is-on{background:var(--tvp-navy);color:#fff}.studio-reservation__hint{margin:0;font-size:var(--text-caption);color:var(--text-muted)}.studio-reservation__error{margin:0;font-size:var(--text-small);color:var(--tvp-magenta)}.studio-dialog__actions .btn--cancel{background:var(--tvp-navy);color:var(--text-invert)}.studio-dialog__actions .btn--cancel:hover{background:var(--tvp-navy-dark);color:var(--text-invert)}.studio-reservation .btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:1100px){.studio-hero__text{max-width:none;margin-left:calc(-.5 * var(--container-pad));margin-right:calc(-.5 * var(--container-pad));padding:24px calc(.5 * var(--container-pad) + 12px);background:linear-gradient(180deg,#150637b3,#07000d80)}.studio-hero__actions{margin-top:clamp(20px,2.6vw,32px)}}@media(max-width:900px){.studio-hero{min-height:0}.studio-hero__inner{padding:100px var(--container-pad) 126px}.studio-hero__photo-link{right:var(--container-pad);bottom:calc(var(--wave-256, min(110px, 7.639vw)) + 16px)}.studio-hero__door-karta{min-height:150px}.studio-about{padding:var(--space-8) 0}.studio-about__grid{grid-template-columns:1fr;gap:var(--space-6)}.tvp-onas-cisla{gap:10px}.tvp-onas-cislo:nth-child(n){margin:0}.tvp-onas-cislo-hodnota{font-size:40px}.tvp-onas-cislo-hodnota small{font-size:var(--text-small);margin-left:4px}.tvp-onas-cislo-text{font-size:var(--text-caption)}.studio-carousel__viewport{aspect-ratio:4/3}.studio-carousel__arrow{width:44px;height:44px}.studio-carousel__arrow--prev{left:12px}.studio-carousel__arrow--next{right:12px}.studio-booking{padding:var(--space-8) 0}.studio-footer__grid{grid-template-columns:1fr;gap:var(--space-4)}}@media(max-width:600px){.tvp-onas-cisla{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.studio-btn,.studio-carousel__track,.studio-carousel__arrow,.studio-header{transition:none}.tvp-onas-cislo:after{animation:none}}.tvp-rozvrh-hlava{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 20px;margin-bottom:14px}.tvp-rozvrh-titulek{font-family:var(--font-display);color:var(--tvp-navy);margin:0;font-size:clamp(26px,2.8vw,36px);font-weight:700;line-height:1.1;display:inline-flex;align-items:flex-end;gap:12px}.tvp-tanecnik{transform-origin:50% 100%;animation:tvp-rozvrh-houpe 2.6s var(--ease-in-out) infinite alternate;flex:0 0 auto}.tvp-rozvrh-legenda{color:var(--tvp-navy);display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 0 auto;padding:0;font-size:14px;list-style:none}.tvp-rozvrh-legenda li{display:flex;align-items:center;gap:8px}.tvp-rozvrh-legenda-bod{border-radius:50%;width:14px;height:14px}.tvp-rozvrh-lekce--kurz,.tvp-rozvrh-seznam-lekce--kurz{--ton-lekce:var(--tvp-magenta);--text-lekce:var(--text-invert);--text-lekce-vedlejsi:color-mix(in srgb,var(--text-invert) 90%,var(--ton-lekce)) }.tvp-rozvrh-lekce--event,.tvp-rozvrh-seznam-lekce--event{--ton-lekce:var(--tvp-fialova);--text-lekce:var(--text-invert);--text-lekce-vedlejsi:color-mix(in srgb,var(--text-invert) 90%,var(--ton-lekce)) }.tvp-rozvrh-lekce--soukroma,.tvp-rozvrh-seznam-lekce--soukroma{--ton-lekce:var(--tvp-tyrkys);--text-lekce:var(--text-invert);--text-lekce-vedlejsi:color-mix(in srgb,var(--text-invert) 90%,var(--ton-lekce)) }.tvp-rozvrh-lekce--workshop,.tvp-rozvrh-seznam-lekce--workshop{--ton-lekce:var(--tvp-zluta);--text-lekce:var(--tvp-navy-dark);--text-lekce-vedlejsi:var(--tvp-navy) }.tvp-rozvrh-legenda-bod{background:var(--ton-lekce)}.tvp-rozvrh-lekce,.tvp-rozvrh-seznam-lekce{background:var(--ton-lekce);border:1.5px solid var(--ton-lekce);color:var(--text-lekce)}button.tvp-rozvrh-lekce:hover,button.tvp-rozvrh-seznam-lekce:hover{background:var(--ton-lekce);color:var(--text-lekce)}.tvp-rozvrh-tyden{margin:0 0 14px}.tvp-rozvrh-tyden--dole{margin-top:32px!important}.tvp-rozvrh-prepinac{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:var(--radius-pill);background:var(--tvp-svetla)}.tvp-rozvrh-prepinac-tl{border:0;background:none;border-radius:var(--radius-pill);padding:8px 18px;font-size:14px;font-weight:700;color:var(--tvp-navy);opacity:.62;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}.tvp-rozvrh-prepinac-tl:hover{opacity:1}.tvp-rozvrh-prepinac-tl.is-on{background:#fff;opacity:1;box-shadow:0 2px 6px #24458224}.tvp-rozvrh-prepinac-tl:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.tvp-rozvrh-datum{position:relative;display:inline-flex;align-items:center;gap:6px;box-sizing:border-box;padding:8px 14px 8px 12px;border-radius:var(--radius-pill);background:none;color:var(--tvp-navy);font-family:var(--font-core);font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer;opacity:.62;transition:opacity var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.tvp-rozvrh-datum:hover{opacity:1}.tvp-rozvrh-datum.is-on{background:#fff;opacity:1;box-shadow:0 2px 6px #24458224}.tvp-rozvrh-datum:focus-within{outline:2px solid var(--focus-ring);outline-offset:2px}.tvp-rozvrh-datum-obsah{display:inline-flex;align-items:center;gap:6px;min-width:0}.tvp-rozvrh-datum-ikona{flex:none;color:var(--tvp-fialova)}.tvp-rozvrh-datum .tvp-rozvrh-datum-vstup{position:absolute;inset:0;width:100%;height:100%;opacity:0;border:0;padding:0;margin:0;cursor:pointer}.tvp-rozvrh-tip{color:var(--text-muted);margin:0 0 10px;font-size:13px;display:none}.tvp-rozvrh-posuv{border-radius:20px;padding-bottom:4px;overflow-x:auto;-webkit-overflow-scrolling:touch;outline-offset:4px}.tvp-rozvrh-mrizka{--misto-w:120px;display:grid;gap:10px;min-width:1100px;font-family:var(--font-core);color:var(--text-heading)}.tvp-rozvrh-osa{display:flex;height:22px;padding:0 14px}.tvp-rozvrh-osa-misto{flex:0 0 var(--misto-w)}.tvp-rozvrh-osa-pas{flex:1;position:relative}.tvp-rozvrh-osa-pas b{color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.02em;position:absolute;bottom:0;transform:translate(-50%)}.tvp-rozvrh-osa-pas b:last-child{transform:translate(-100%)}.tvp-rozvrh-den{--den-bg:var(--tvp-svetla);background:var(--den-bg);border-radius:20px;padding:10px 14px 12px;position:relative}.tvp-rozvrh-den:nth-of-type(2n){--den-bg:var(--tvp-fialova-tint) }.tvp-rozvrh-den.is-dnes{box-shadow:inset 0 0 0 2px var(--ton)}.tvp-rozvrh-den-hlava{display:flex;align-items:center;gap:10px;margin:0 0 6px}.tvp-rozvrh-den-ikona{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;color:var(--ton);box-shadow:0 2px 8px #2445821f;animation:tvp-rozvrh-houpe 3.2s var(--ease-in-out) infinite alternate}.tvp-rozvrh-den-nazev{font-family:var(--font-display);color:var(--tvp-navy);text-transform:capitalize;margin:0;font-size:20px;font-weight:700;line-height:1}.tvp-rozvrh-den-datum{font-family:var(--font-core);font-size:13px;font-weight:700;color:var(--text-muted);font-variant-numeric:tabular-nums;text-transform:none}.tvp-rozvrh-dnes{background:var(--ton);color:#fff;text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius-pill);padding:3px 10px;font-size:12px;font-weight:700}.tvp-rozvrh-mista{display:grid;gap:6px}.tvp-rozvrh-misto{display:flex;align-items:stretch}.tvp-rozvrh-misto-nazev{flex:0 0 var(--misto-w);display:flex;align-items:center;padding-right:10px}.tvp-rozvrh-misto-nazev span{color:var(--tvp-navy);opacity:.75;font-size:12.5px;font-weight:700;line-height:1.25}.tvp-rozvrh-pas{flex:1;display:flex;align-items:stretch;min-width:0;padding-top:8px;position:relative}.tvp-rozvrh-linky{position:absolute;inset:0;pointer-events:none}.tvp-rozvrh-linky i{position:absolute;top:0;bottom:0;width:0;border-left:1px dashed rgba(36,69,130,.0705882353)}.tvp-rozvrh-linky i.is-hodina{border-left-color:#24458224}.tvp-rozvrh-lekce,.tvp-rozvrh-volny{height:52px;min-height:52px}.tvp-rozvrh-lekce{position:relative;display:flex;flex-direction:column;flex:none;justify-content:center;align-items:flex-start;gap:1px;box-sizing:border-box;padding:5px 7px;border-radius:12px;overflow:hidden;text-align:left;font:inherit;animation:tvp-rozvrh-naskoc .5s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 35ms);transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}button.tvp-rozvrh-lekce{cursor:pointer}.tvp-rozvrh-lekce:hover{z-index:2;transform:translateY(-2px)}button.tvp-rozvrh-lekce:focus-visible{outline:3px solid var(--tvp-navy);outline-offset:2px}.tvp-rozvrh-obsazeno-nadpis{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-lekce-vedlejsi);font-size:9px;font-weight:500;line-height:1.1;letter-spacing:.08em;text-transform:uppercase}.tvp-rozvrh-obsazeno-cas,.tvp-rozvrh-obsazeno-typ{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tvp-rozvrh-obsazeno-cas{color:var(--text-lekce);font-size:12px;font-weight:700;line-height:1.15;font-variant-numeric:tabular-nums}.tvp-rozvrh-obsazeno-typ{margin-top:1px;color:var(--text-lekce-vedlejsi);font-size:10px;font-weight:500;line-height:1.15}.tvp-rozvrh-volny{display:flex;flex-direction:column;flex:none;justify-content:center;align-items:flex-start;gap:1px;box-sizing:border-box;padding:5px 7px;overflow:hidden;container-type:inline-size;border:1.5px dashed rgba(36,69,130,.3411764706);border-radius:12px;background:#ffffffa6;color:var(--tvp-navy);text-align:left;cursor:pointer;animation:tvp-rozvrh-naskoc .5s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 35ms);transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.tvp-rozvrh-volny:hover{border-color:var(--tvp-magenta);border-style:solid;background:var(--tvp-magenta-tint);transform:translateY(-2px)}.tvp-rozvrh-volny:focus-visible{outline:3px solid var(--tvp-navy);outline-offset:2px}.tvp-rozvrh-volny-nadpis{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.6}.tvp-rozvrh-volny-cas{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;font-weight:700;opacity:.85;font-variant-numeric:tabular-nums}.tvp-rozvrh-volny-akce{display:inline-flex;align-items:center;gap:5px;margin-top:1px;font-size:10.5px;font-weight:700;color:var(--tvp-magenta-dark)}.tvp-rozvrh-volny:hover .tvp-rozvrh-volny-akce{color:var(--tvp-magenta)}@container (max-width: 110px){.tvp-rozvrh-volny-nadpis,.tvp-rozvrh-volny-akce{display:none}.tvp-rozvrh-volny-cas{font-size:9px;align-self:center;text-align:center}}@container (max-width: 46px){.tvp-rozvrh-volny-cas{display:none}}.tvp-rozvrh-pata{margin-top:16px}.tvp-rozvrh-pozn{margin:0;font-size:var(--text-caption);color:var(--text-muted);max-width:62ch}.tvp-rozvrh-seznam{display:none}@keyframes tvp-rozvrh-naskoc{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}@keyframes tvp-rozvrh-houpe{0%{transform:rotate(-8deg)}to{transform:rotate(8deg)}}@media(max-width:1060px){.tvp-rozvrh-tip{display:block}.tvp-rozvrh-mrizka{--misto-w:96px }.tvp-rozvrh-den-hlava{width:max-content;position:sticky;left:14px}.tvp-rozvrh-misto-nazev{z-index:3;background:var(--den-bg);box-shadow:8px 0 8px -6px var(--den-bg);position:sticky;left:0}.tvp-rozvrh-osa-misto{position:sticky;left:0}}@media(max-width:900px){.tvp-rozvrh-hlava .tvp-rozvrh-legenda{flex-basis:100%;margin:6px 0 0}.tvp-rozvrh-meta{font-size:11px}}@media(max-width:760px){.tvp-rozvrh-posuv,.tvp-rozvrh-tip{display:none!important}.tvp-rozvrh-seznam{display:grid;gap:12px}.tvp-rozvrh-seznam-den{background:var(--tvp-svetla);border-radius:20px;padding:12px 14px 14px}.tvp-rozvrh-seznam-den:nth-child(2n){background:var(--tvp-fialova-tint)}.tvp-rozvrh-seznam-den.is-dnes{box-shadow:inset 0 0 0 2px var(--ton)}.tvp-rozvrh-seznam-nazev{display:flex;align-items:center;gap:10px;margin:0 0 8px;font-family:var(--font-display);color:var(--tvp-navy);text-transform:capitalize;font-size:20px}.tvp-rozvrh-seznam-misto+.tvp-rozvrh-seznam-misto{margin-top:10px}.tvp-rozvrh-seznam-misto h3{color:var(--tvp-navy);opacity:.75;margin:0 0 6px;font-size:13px;font-weight:700}.tvp-rozvrh-seznam-misto ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.tvp-rozvrh-seznam-lekce,.tvp-rozvrh-seznam-volno{box-sizing:border-box;height:68px;min-height:68px;justify-content:center}.tvp-rozvrh-seznam-lekce{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;padding:9px 12px;border-radius:12px;overflow:hidden;text-align:left;font:inherit}button.tvp-rozvrh-seznam-lekce{cursor:pointer}.tvp-rozvrh-seznam-lekce:focus-visible,.tvp-rozvrh-seznam-volno:focus-visible{outline:3px solid var(--tvp-navy);outline-offset:2px}.tvp-rozvrh-seznam-lekce .tvp-rozvrh-obsazeno-nadpis{font-size:10px}.tvp-rozvrh-seznam-lekce .tvp-rozvrh-obsazeno-cas{font-size:14px}.tvp-rozvrh-seznam-lekce .tvp-rozvrh-obsazeno-typ{font-size:12px}.tvp-rozvrh-seznam-volno{display:flex;align-items:center;gap:12px;width:100%;padding:9px 12px;border:1.5px dashed rgba(36,69,130,.2784313725);border-radius:12px;background:#ffffff8c;color:var(--tvp-navy);text-align:left;cursor:pointer;font:inherit;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.tvp-rozvrh-seznam-volno:hover{border-color:var(--tvp-magenta);border-style:solid;background:var(--tvp-magenta-tint)}.tvp-rozvrh-seznam-volno-cas{flex:0 0 52px;display:grid;font-size:13px;font-weight:700;opacity:.7;line-height:1.15}.tvp-rozvrh-seznam-volno-cas small{font-size:11.5px;font-weight:400}.tvp-rozvrh-seznam-volno-txt{display:grid;gap:1px;min-width:0}.tvp-rozvrh-seznam-volno-txt strong{font-size:13.5px;font-weight:700}.tvp-rozvrh-seznam-volno-txt span{font-size:12px;color:var(--tvp-magenta-dark);font-weight:700}.tvp-rozvrh-seznam-volno svg{margin-left:auto;color:var(--tvp-magenta-dark);flex:none}.tvp-rozvrh-tyden{margin:0 0 10px}.tvp-rozvrh-prepinac{display:flex;flex-wrap:nowrap}.tvp-rozvrh-prepinac-tl{flex:1 1 auto;text-align:center;padding:9px 10px;font-size:12.5px}.tvp-rozvrh-datum{flex:1 1 auto;justify-content:center;padding:9px 10px;font-size:12.5px}.tvp-rozvrh-datum-ikona{width:14px;height:14px}.tvp-rozvrh-titulek{font-size:26px;gap:8px}.tvp-rozvrh-titulek .tvp-tanecnik{height:26px}.tvp-rozvrh-pata{margin-top:14px}.tvp-rozvrh-pata .tvp-rozvrh-pozn{font-size:13px;line-height:1.5}}@media(prefers-reduced-motion:reduce){.tvp-rozvrh-lekce,.tvp-rozvrh-den-ikona,.tvp-rozvrh-volny,.tvp-tanecnik{animation:none}.tvp-rozvrh-lekce:hover,.tvp-rozvrh-volny:hover{transform:none}}@media(max-width:760px){app-studio .studio-hero__inner{padding-top:calc(var(--nav-h) + var(--space-3));padding-bottom:calc(var(--wave-256, min(110px, 7.639vw)) + var(--space-5));gap:var(--space-3)}app-studio .studio-hero__text{margin-inline:0;padding:var(--space-3)}app-studio .studio-hero__claim{font-size:clamp(38px,7vw,48px);line-height:1.08;margin-bottom:var(--space-3)}app-studio .studio-hero__lead{font-size:var(--text-body);line-height:1.5;max-width:38ch}app-studio .studio-hero__actions{margin-top:var(--space-4);gap:var(--space-2)}app-studio .tvp-tance-pilulka{min-height:48px;max-width:100%;white-space:normal;text-align:left;line-height:1.4;padding:10px 14px}app-studio .tvp-tance-pilulka-cislo{flex-shrink:0}app-studio .studio-main app-studio-current-prices{padding:var(--space-3)}app-studio .studio-main .studio-current-prices__context{gap:var(--space-1) var(--space-2);font-size:15px}app-studio .studio-main .studio-current-prices__context>span{margin-left:0}app-studio .studio-main .studio-current-prices__row{grid-template-columns:minmax(0,1fr) auto;gap:var(--space-1) var(--space-2);padding-block:var(--space-2)}app-studio .studio-main .studio-current-prices__row small,app-studio .studio-main .studio-current-prices__unit,app-studio .studio-main .studio-current-prices__note{font-size:15px;line-height:1.5}app-studio .studio-main .studio-current-prices__rate{overflow-wrap:normal}app-studio .studio-about,app-studio .studio-booking{padding-block:var(--space-6)}app-studio .studio-about__head{margin-bottom:var(--space-4)}app-studio .studio-about__title{font-size:clamp(30px,6vw,38px);line-height:1.15;margin-bottom:var(--space-3)}app-studio .studio-about__lead{font-size:var(--text-body);line-height:1.5}app-studio .studio-about__body p{line-height:1.55}app-studio .studio-about__grid{gap:var(--space-4)}app-studio .studio-amenities{margin-top:var(--space-4)}app-studio .studio-amenities li>span:last-child,app-studio .tvp-onas-cislo-text{font-size:15px;line-height:1.4}app-studio .tvp-onas-cisla{grid-template-columns:repeat(2,minmax(0,1fr))}app-studio .tvp-onas-cislo{padding:var(--space-3)}app-studio .tvp-onas-cislo-hodnota{font-size:36px}app-studio .studio-carousel__head{flex-wrap:wrap;gap:var(--space-2)}app-studio .studio-carousel__counter{margin-left:auto}app-studio .studio-slide__caption{white-space:normal;overflow:visible;border-radius:var(--radius-card-sm);font-size:15px;line-height:1.4}app-studio .studio-dot{min-width:44px;min-height:44px;box-sizing:border-box;padding:18px}app-studio .studio-dot.is-on{width:60px}app-studio .tvp-rozvrh-hlava{gap:var(--space-3);margin-bottom:var(--space-3)}app-studio .tvp-rozvrh-hlava .tvp-rozvrh-legenda{margin:0;font-size:15px;line-height:1.4;gap:var(--space-2) var(--space-3)}app-studio .tvp-rozvrh-legenda-bod{flex-shrink:0}app-studio .tvp-rozvrh-prepinac{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-radius:var(--radius-card-sm)}app-studio .tvp-rozvrh-prepinac-tl,app-studio .tvp-rozvrh-datum{min-width:0;min-height:44px;padding:10px;font-size:16px;line-height:1.4}app-studio .tvp-rozvrh-datum{grid-column:1/-1}app-studio .tvp-rozvrh-tyden{margin-bottom:var(--space-3)}app-studio .tvp-rozvrh-seznam-nazev{flex-wrap:wrap;line-height:1.3;margin-bottom:var(--space-3)}app-studio .tvp-rozvrh-seznam-misto h4{margin:0 0 var(--space-2);font-size:16px;line-height:1.4}app-studio .tvp-rozvrh-seznam-misto+.tvp-rozvrh-seznam-misto{margin-top:var(--space-3)}app-studio .tvp-rozvrh-seznam-misto ul{gap:var(--space-2)}app-studio .tvp-rozvrh-seznam-lekce,app-studio .tvp-rozvrh-seznam-volno{height:auto;min-height:72px;padding:10px 12px}app-studio .tvp-rozvrh-seznam-lekce{overflow:visible;gap:2px}app-studio .tvp-rozvrh-seznam-lekce .tvp-rozvrh-obsazeno-nadpis{font-size:12px}app-studio .tvp-rozvrh-seznam-lekce .tvp-rozvrh-obsazeno-cas{font-size:16px}app-studio .tvp-rozvrh-seznam-lekce .tvp-rozvrh-obsazeno-typ{font-size:15px}app-studio .tvp-rozvrh-seznam-lekce span{white-space:normal;overflow:visible;overflow-wrap:anywhere;line-height:1.3}app-studio .tvp-rozvrh-seznam-volno-cas{flex-basis:54px;font-size:16px;line-height:1.35}app-studio .tvp-rozvrh-seznam-volno-cas small,app-studio .tvp-rozvrh-seznam-volno-txt span{font-size:15px;line-height:1.4}app-studio .tvp-rozvrh-seznam-volno-txt strong{font-size:16px;line-height:1.4}app-studio .tvp-rozvrh-pata .tvp-rozvrh-pozn{font-size:15px;line-height:1.5}app-studio .studio-main app-studio-calendar>[role],app-studio .studio-main .studio-my__status{font-size:16px;line-height:1.5;overflow-wrap:anywhere}app-studio .studio-main app-studio-calendar>button{min-height:44px;min-width:44px;padding:10px 16px;font:inherit;white-space:normal}app-studio .studio-main .studio-my h2{font-size:28px;line-height:1.2}app-studio .studio-main .studio-my:not(.studio-my--management) .studio-my__card{grid-template-columns:minmax(0,1fr);gap:var(--space-3);padding:var(--space-3);font-size:16px;line-height:1.5}app-studio .studio-main .studio-my:not(.studio-my--management) .studio-my__identity h3{font-size:22px;line-height:1.25}app-studio .studio-main .studio-my:not(.studio-my--management) .studio-my__when{text-align:left;display:flex;flex-wrap:wrap;gap:0 var(--space-3)}app-studio .studio-main .studio-my:not(.studio-my--management) .studio-my__type,app-studio .studio-main .studio-my:not(.studio-my--management) .studio-my__repeat,app-studio .studio-main .studio-my:not(.studio-my--management) .studio-my__details,app-studio .studio-main .studio-my:not(.studio-my--management) .studio-my__payment--status{font-size:15px;line-height:1.5}app-studio .studio-main .studio-my:not(.studio-my--management) .studio-my__totals,app-studio .studio-main .studio-my:not(.studio-my--management) .studio-my__actions,app-studio .studio-main .studio-my:not(.studio-my--management) .studio-my__details{grid-column:1}app-studio .studio-main .studio-my:not(.studio-my--management) .studio-my__actions{gap:var(--space-2)}app-studio .studio-main .studio-my:not(.studio-my--management) .studio-my__actions>.btn:not(.row-delete){flex:1 1 auto;white-space:normal}app-studio .studio-main .studio-my:not(.studio-my--management) .studio-my__payment{flex-basis:100%;margin-inline:0}app-studio .studio-dialog{max-height:calc(100dvh - 24px);width:min(560px,100vw - 24px);overflow-wrap:anywhere}app-studio .studio-dialog__panel{padding:var(--space-3)}app-studio .studio-dialog .studio-dialog__title{font-size:24px;line-height:1.2}app-studio .studio-dialog .studio-dialog__when,app-studio .studio-dialog .studio-dialog__text,app-studio .studio-dialog .studio-reservation label,app-studio .studio-dialog .studio-reservation legend{font-size:16px;line-height:1.5}app-studio .studio-dialog .studio-reservation__hint,app-studio .studio-dialog .studio-reservation__error{font-size:15px;line-height:1.5}app-studio .studio-dialog .studio-reservation__times{gap:var(--space-2)}app-studio .studio-dialog .studio-reservation input:not([type=checkbox]){padding-inline:10px}app-studio .studio-dialog button{min-height:44px;min-width:44px;white-space:normal}app-studio .studio-dialog__actions{flex-direction:column;align-items:stretch}app-studio .studio-dialog .btn{font-size:16px;line-height:1.4}app-studio .studio-dialog .payment__scan{flex-direction:column;align-items:stretch}app-studio .studio-dialog .payment__qr{width:min(256px,100%);align-self:center}app-studio .studio-dialog .payment__scan-info p,app-studio .studio-dialog .payment__manual-heading p,app-studio .studio-dialog .payment__note,app-studio .studio-dialog .payment__field dt,app-studio .studio-dialog .payment__feedback{font-size:15px;line-height:1.5}app-studio .studio-dialog .payment__value{font-size:16px}}@media(max-width:359px){app-studio .studio-dialog .studio-reservation__times{grid-template-columns:minmax(0,1fr)}}.page{padding:var(--section-y-tight, 40px) 0 clamp(56px,9vw,88px)}.page-head{position:relative;margin-bottom:clamp(20px,4vw,32px)}.page-head__splash{position:absolute;z-index:0;top:-30px;right:0;width:clamp(104px,18vw,168px);height:auto;opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none}.page-head>.eyebrow,.page-head>.page-title,.page-head>.page-lead{position:relative;z-index:1}@media(max-width:640px){.page-head__splash{top:-18px;right:-6px;width:104px;opacity:.42}}.eyebrow{margin:0;font-family:var(--font-core);font-weight:var(--weight-bold);font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--tvp-fialova)}.page-title{margin:var(--space-2) 0 var(--space-2);font-family:var(--font-core);font-weight:var(--weight-bold);font-size:clamp(26px,5vw,var(--text-h2));line-height:var(--leading-heading);color:var(--text-heading)}.page-lead{margin:0;max-width:52ch;color:var(--text-muted);font-size:var(--text-lead);line-height:var(--leading-lead)}@media(max-width:640px){.page-lead{display:none}}.panel{background:var(--surface-card);border-radius:var(--radius-card);padding:clamp(20px,4vw,32px);box-shadow:var(--shadow-card);margin-bottom:var(--gap-card)}.panel-title{margin:0 0 var(--space-4);font-family:var(--font-core);font-weight:var(--weight-bold);font-size:var(--text-h4);color:var(--text-heading)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.panel-head .panel-title{margin:0}.filter-grid__action{display:none}@media(min-width:640px){.filter-grid__action{display:inline-block;width:auto}}.form-grid{display:grid;gap:var(--space-4);grid-template-columns:1fr}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>label{font-size:var(--text-small);font-weight:var(--weight-bold);color:var(--text-heading)}.field .hint{font-size:var(--text-caption);color:var(--text-muted)}.hint{display:block;font-size:var(--text-caption);font-weight:400;line-height:1.45;color:var(--text-muted)}.hint strong{font-weight:var(--weight-bold)}.pepper-block{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:var(--space-4)}.pepper-title{margin:0;font-family:var(--font-core);font-size:var(--text-body);font-weight:var(--weight-bold);color:var(--text-heading)}.range-row{display:flex;align-items:center;gap:var(--space-4)}.range-row input[type=range]{flex:1;min-width:0;accent-color:var(--brand-primary)}.range-value{min-width:4ch;text-align:right;font-weight:var(--weight-bold);color:var(--text-heading);font-variant-numeric:tabular-nums}input:not([type]),input[type=text],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=url],input[type=datetime-local],input[type=date],input[type=time],input[type=email],select,textarea{font-family:var(--font-core);font-size:var(--text-body);color:var(--text-body);background:var(--surface-page);border:1px solid var(--border-subtle);border-radius:var(--radius-input);padding:10px 12px;width:100%;min-height:42px;transition:border-color var(--dur-fast) var(--ease-out)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px;border-color:var(--brand-primary)}input:not([type]):hover,input[type=text]:hover,input[type=number]:hover,input[type=password]:hover,input[type=search]:hover,input[type=tel]:hover,input[type=url]:hover,input[type=datetime-local]:hover,input[type=date]:hover,input[type=time]:hover,input[type=email]:hover,select:hover,textarea:hover{border-color:var(--brand-primary)}input:disabled,select:disabled,textarea:disabled{opacity:.55}.seg{display:flex;gap:4px;background:var(--surface-muted);border-radius:var(--radius-pill);padding:4px;width:fit-content;max-width:100%}.seg button{font-family:var(--font-core);font-weight:var(--weight-bold);font-size:var(--text-small);color:var(--text-muted);background:transparent;border:0;border-radius:var(--radius-pill);padding:8px 16px;cursor:pointer;white-space:nowrap}.seg button.is-on{background:var(--control-selected-bg);color:var(--control-selected-fg);box-shadow:var(--shadow-card)}.seg button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.btn{font-family:var(--font-core);font-weight:var(--weight-bold);font-size:var(--text-button);line-height:1;color:var(--button-fg);background:var(--button-bg);border:0;border-radius:var(--radius-pill);padding:12px 22px;cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-none);transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.btn:hover{background:var(--button-bg-hover);transform:translateY(-2px);box-shadow:var(--shadow-card)}.btn:active{transform:var(--press-scale)}.btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.btn:disabled{opacity:.5;cursor:default}.btn--ghost{background:transparent;color:var(--button-bg);box-shadow:inset 0 0 0 2px var(--button-bg)}.btn--ghost:hover{background:var(--button-bg);color:var(--button-fg);box-shadow:inset 0 0 0 2px var(--button-bg),var(--shadow-card)}.btn--success{background:var(--tvp-tyrkys);color:var(--text-invert)}.btn--success:hover{background:var(--tvp-tyrkys-dark)}.btn--danger{background:transparent;color:var(--tvp-magenta-dark);box-shadow:inset 0 0 0 2px var(--tvp-magenta)}.btn--danger:hover{background:var(--tvp-magenta);color:var(--text-invert);box-shadow:inset 0 0 0 2px var(--tvp-magenta),var(--shadow-card)}.btn--small{padding:8px 14px;font-size:var(--text-caption)}.btn--icon{display:inline-flex;align-items:center;justify-content:center;padding:8px;min-width:34px;min-height:34px}.btn--icon svg{display:block}.chip-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.chip{font-family:var(--font-core);font-size:var(--text-caption);font-weight:var(--weight-bold);color:var(--text-muted);background:var(--surface-muted);border:0;border-radius:var(--radius-pill);padding:7px 14px;cursor:pointer}.chip.is-on{background:var(--control-selected-bg);color:var(--control-selected-fg)}.chip--static{cursor:default}.chip:not(.chip--static):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.combo{position:relative}.combo-list{position:absolute;z-index:30;top:calc(100% + 5px);left:0;right:0;max-height:240px;overflow-y:auto;padding:var(--space-1);background:var(--surface-card);border:2px solid var(--border-subtle);border-radius:var(--radius-field);box-shadow:var(--shadow-float);scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent}.combo-list::-webkit-scrollbar{width:8px}.combo-list::-webkit-scrollbar-track{background:transparent}.combo-list::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:var(--radius-pill, 999px)}.combo-option{display:flex;align-items:center;gap:8px;width:100%;text-align:left;font-family:var(--font-core);font-size:var(--text-small);color:var(--text-body);background:transparent;border:0;border-radius:var(--radius-field);padding:9px 10px;cursor:pointer}.combo-option:hover,.combo-option:focus-visible{background:var(--surface-muted);outline:none}.combo-option.is-picked{color:var(--tvp-navy);font-weight:var(--weight-bold)}.combo-check{flex:0 0 14px;visibility:hidden;color:var(--tvp-fialova)}.combo-option.is-picked .combo-check{visibility:visible}.combo-empty{margin:0;padding:9px 10px;font-size:var(--text-small);color:var(--text-muted)}.selected-label{font-size:var(--text-small);font-weight:var(--weight-bold);color:var(--text-heading)}.selected-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:6px}.chip--selected{display:inline-flex;align-items:center;gap:6px;background:var(--tvp-fialova-tint);color:var(--tvp-fialova-dark)}.chip-x{border:0;background:transparent;color:inherit;font-size:15px;line-height:1;padding:0 2px;cursor:pointer}.chip-x:hover{color:var(--tvp-magenta-dark)}.badge{display:inline-block;font-size:var(--text-caption);font-weight:var(--weight-bold);border-radius:var(--radius-pill);padding:4px 10px;background:var(--tvp-fialova-tint);color:var(--tvp-fialova-dark)}.badge--ok{background:var(--tvp-tyrkys-tint);color:var(--tvp-tyrkys-dark)}.badge--warn{background:var(--tvp-zluta-tint);color:#9a6c00}.badge--off{background:var(--surface-muted);color:var(--text-muted)}.badge--device{background:var(--tvp-navy-tint);color:var(--tvp-navy)}.badge--mode{background:var(--surface-muted);color:var(--text-muted)}.badge--pin{background:var(--tvp-navy-tint);color:var(--tvp-navy)}.badge--rfid{background:var(--tvp-tyrkys-tint);color:var(--tvp-tyrkys-dark)}.badge--auth{background:var(--tvp-fialova-tint);color:var(--tvp-fialova-dark)}.row-pin,.pin-code,.event-card__time,.event-card .badge,.events-table td,.dl dd,.log-line__time,.log-line__up,.firmware-release strong,.firmware-release time{font-variant-numeric:tabular-nums}.rows{display:grid;gap:var(--space-3)}.row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);background:var(--surface-card);border-radius:var(--radius-card-sm);padding:var(--space-3);box-shadow:var(--shadow-card);transition:background var(--dur-fast) var(--ease-out)}.row:hover{background:var(--tvp-navy-tint)}.row-main{flex:1 1 100%;min-width:0}.row-title{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-weight:var(--weight-bold);color:var(--text-heading)}.row-title-text{flex:0 0 100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.row-sub{font-size:var(--text-caption);color:var(--text-muted)}.row-sub--when{margin-top:2px}.row-warn{color:#9a6c00;font-weight:var(--weight-bold)}.row-actions{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}@media(min-width:560px){.row{padding:var(--space-3) var(--space-4)}.row-main{flex:1 1 260px}.row-title-text{flex:0 1 auto}.row-actions{margin-left:0}}.filter-panel{padding-block:var(--space-3)}.filter-bar{display:flex;align-items:center;gap:var(--space-3)}.filter-bar__toggle{flex:1 1 auto;display:flex;align-items:center;gap:var(--space-2);min-width:0;min-height:44px;padding:4px;border:0;border-radius:var(--radius-card-sm);background:transparent;color:var(--text-body);font-family:var(--font-core);font-size:var(--text-small);font-weight:var(--weight-bold);cursor:pointer;text-align:left}.filter-bar__toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.filter-bar__chevron{flex:0 0 18px;width:18px;height:18px;color:var(--text-muted);transition:transform var(--dur-fast) var(--ease-out)}.filter-bar__chevron.is-open{transform:rotate(180deg)}.filter-bar__label{color:var(--text-heading)}.filter-bar__summary{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--weight-regular);color:var(--text-muted)}.filter-bar__reset{flex:0 0 auto}.filter-body{margin-top:var(--space-4)}.filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.filter-grid>.field{min-width:0}.filter-grid__full{grid-column:1/-1}.filter-grid input,.filter-grid select{min-height:46px}@media(min-width:640px){.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.filter-grid__full{grid-column:auto}.filter-grid input,.filter-grid select{min-height:42px}}.events-cards{display:grid;gap:var(--space-2)}.event-card{background:var(--surface-card);border-radius:var(--radius-card-sm);padding:var(--space-3);box-shadow:var(--shadow-card)}.event-card__head{display:flex;align-items:center;gap:var(--space-2)}.event-card__time{margin-left:auto;font-size:var(--text-caption);color:var(--text-muted);white-space:nowrap}.event-card__meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;margin:4px 0 0;font-size:var(--text-caption);color:var(--text-muted)}.event-card__who{font-weight:var(--weight-bold);color:var(--text-heading)}.event-card__dot{color:var(--border-subtle)}.event-card__device{min-width:0;color:var(--text-muted);overflow-wrap:anywhere}.events-table{display:none}@media(min-width:640px){.events-cards{display:none}.events-table{display:block}}.pager{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.pager--top{margin-bottom:var(--space-4)}.pager--bottom{margin-top:var(--space-4)}.pager__btn{flex:0 0 auto}.pager__info{display:flex;flex-direction:column;align-items:center;min-width:0;text-align:center}.pager__page{font-size:var(--text-small);font-weight:var(--weight-bold);color:var(--text-heading)}.pager__counts{font-size:var(--text-caption);color:var(--text-muted)}@media(max-width:640px){.pager{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.pager__info,.pager--bottom>.pager__page{grid-column:1/-1;order:-1}.pager__btn{width:100%}}@media(min-width:640px){.events-table .col-time{white-space:nowrap}}.admin-zone{background:var(--tvp-magenta-tint)}.admin-zone .panel-title{color:var(--tvp-magenta-dark)}.admin-zone__hint{margin:0 0 var(--space-4);max-width:60ch}.admin-zone__presets{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.admin-zone .row-actions{margin-left:0;flex-wrap:wrap;margin-top:var(--space-4);margin-bottom:var(--space-2)}@media(max-width:640px){.admin-zone .row-actions{flex-direction:column;align-items:stretch}.admin-zone .row-actions .btn{width:100%;min-height:44px}}.table-scroll{overflow-x:auto;border-radius:var(--radius-card-sm)}@media(min-width:640px){.events-table.table-scroll{max-height:none}}table{width:100%;min-width:560px;border-collapse:collapse;font-size:var(--text-small)}th{text-align:left;font-size:var(--text-caption);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted);padding:10px 12px;border-bottom:2px solid var(--border-subtle);white-space:nowrap}td{padding:10px 12px;border-bottom:1px solid var(--border-subtle);vertical-align:top}tr:last-child td{border-bottom:0}.events-table tbody tr{transition:background var(--dur-fast) var(--ease-out)}.events-table tbody tr:hover td{background:var(--tvp-navy-tint)}.empty{color:var(--text-muted);font-size:var(--text-small);padding:var(--space-4) 0}.fw-row{display:grid;grid-template-columns:1fr;gap:var(--space-1);margin-top:var(--space-3)}.fw-row>label{font-size:var(--text-small);color:var(--text-heading)}.fw-row input[type=text]{width:100%}.fw-optional{color:var(--text-muted);font-weight:400}.fw-upload-btn{width:100%;margin-top:var(--space-3)}@media(min-width:560px){.fw-row{grid-template-columns:minmax(140px,200px) minmax(0,1fr);align-items:center;gap:var(--space-3)}.fw-row--stack{align-items:start}}.dropzone{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);width:100%;padding:var(--space-4);border:2px dashed var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-muted);font-size:var(--text-small);color:var(--text-muted);transition:border-color .15s ease,background .15s ease}@media(min-width:560px){.dropzone{flex-direction:row;flex-wrap:wrap;align-items:center}}.dropzone.is-over{border-color:var(--brand-secondary);background:var(--tvp-tyrkys-tint, var(--surface-muted))}.dropzone:focus-within{outline:2px solid var(--focus-ring);outline-offset:2px}.dropzone:hover{border-color:var(--border-strong)}.dropzone-file{display:inline-flex;gap:var(--space-2);align-items:baseline;color:var(--text-heading);overflow-wrap:anywhere}.dropzone-size{color:var(--text-muted)}.dropzone-pick{color:var(--brand-secondary);text-decoration:underline;cursor:pointer}.firmware-releases-title{margin:var(--space-4) 0 var(--space-2);color:var(--text-heading);font-size:var(--text-small)}.firmware-releases{display:grid;gap:var(--space-2)}.firmware-release{display:grid;grid-template-columns:1fr;gap:4px;padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-muted);font-size:var(--text-caption)}@media(min-width:560px){.firmware-release{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:baseline;gap:var(--space-3)}}.firmware-release__actions{display:flex;align-items:center;gap:var(--space-2);grid-column:1/-1}@media(min-width:560px){.firmware-release__actions{grid-column:auto;justify-self:end}}.firmware-release span,.firmware-release time{color:var(--text-muted);overflow-wrap:anywhere}.firmware-device-control{width:100%;display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.firmware-device-control select{min-width:120px;max-width:180px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.device-selection-head{align-items:baseline;flex-wrap:wrap}.device-select{display:flex;align-items:center;padding-right:var(--space-2)}.device-select input{width:20px;height:20px;accent-color:var(--brand-secondary)}.row--device{align-items:flex-start;gap:var(--space-2) var(--space-3)}.row--device .device-select{padding-top:2px;padding-right:0}.row--device .row-main{flex:1 1 60%;min-width:0}.row--device .row-actions{flex:1 1 100%;flex-wrap:wrap;margin-left:0;row-gap:var(--space-2)}@media(min-width:640px){.row--device .row-main{flex:1 1 220px}.row--device .row-actions{flex:0 0 auto;margin-left:auto}}.device-scope{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.device-scope-option{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);font-size:var(--text-small);cursor:pointer}.device-scope-option.is-on{background:var(--control-selected-bg);color:var(--control-selected-fg);border-color:var(--control-selected-bg)}.device-scope-option input{accent-color:var(--brand-secondary)}.device-scope-option:focus-within{outline:2px solid var(--focus-ring);outline-offset:2px}.device-settings-backdrop{position:fixed;inset:0;background:#24458273;display:flex;align-items:flex-start;justify-content:center;padding:var(--space-4);overflow-y:auto;z-index:60}.device-settings-dialog{width:min(560px,100%);background:var(--surface-card);border-radius:var(--radius-card);padding:clamp(20px,4vw,28px);box-shadow:var(--shadow-card-hover);margin:auto}.device-presence-mode{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-2) 0;font-size:var(--text-small);color:var(--text-heading)}.presence-switch{width:48px;height:28px;padding:3px;border:0;border-radius:999px;background:var(--surface-muted);cursor:pointer;transition:background .16s ease}.presence-switch.is-on{background:var(--color-success, #248a55)}.presence-switch:disabled{opacity:.55;cursor:wait}.presence-switch__thumb{display:block;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .16s ease}.presence-switch.is-on .presence-switch__thumb{transform:translate(20px)}.device-net-current{margin:var(--space-2) 0 var(--space-4);padding:var(--space-3);background:var(--surface-muted);border-radius:var(--radius-card-sm)}.device-net-form{margin-top:var(--space-3)}.device-net-actions{grid-column:1/-1}.checkbox{display:flex;align-items:center;gap:var(--space-2);margin-top:6px;font-size:var(--text-small);color:var(--text-body)}.checkbox input{width:18px;height:18px;accent-color:var(--brand-secondary)}.door-switch{margin-bottom:var(--space-5)}.howto{background:var(--surface-muted, #f4f6f8);border:1px solid var(--border-subtle, #e3e7ec);border-radius:var(--radius-card);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4)}.howto-title{margin:0 0 var(--space-2);font-weight:var(--weight-bold);font-size:var(--text-small);color:var(--text-heading)}.steps{margin:0;padding-left:1.25em;color:var(--text-muted);font-size:var(--text-small);line-height:1.55}.steps li+li{margin-top:var(--space-1, 4px)}.steps strong{color:var(--text-body, var(--text-heading))}.flash{font-size:var(--text-small);font-weight:var(--weight-bold);margin:var(--space-3) 0 0}.flash--ok{color:var(--tvp-tyrkys-dark)}.flash--err{color:var(--tvp-magenta-dark)}.dl{margin:0;display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;font-size:var(--text-small)}.dl dt{color:var(--text-muted)}.dl dd{margin:0;color:var(--text-body);overflow-wrap:anywhere}.pin-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:end}.pin-row .pin-code{font-weight:var(--weight-bold);letter-spacing:.12em}.pin-row .pin-len{width:6rem}.device-log-dialog{width:min(1160px,100%)}.log-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:var(--space-3) 0 var(--space-2)}.log-toolbar__spacer{flex:1 1 auto}.log-count{font-size:var(--text-caption);color:var(--text-muted);font-variant-numeric:tabular-nums}.log-test-btn{color:var(--brand-secondary-hover)}.log-view{margin-top:var(--space-3);min-height:240px;max-height:min(58vh,520px);overflow:auto;overscroll-behavior:contain;padding:var(--space-3);border-radius:var(--radius-field);background:var(--tvp-navy-dark);color:var(--tvp-svetla);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.55}.log-view--paused{box-shadow:inset 0 0 0 2px var(--tvp-zluta)}.log-line{display:flex;gap:10px;align-items:baseline}.log-line__time{flex:0 0 auto;white-space:nowrap;color:color-mix(in srgb,var(--tvp-svetla) 60%,transparent)}.log-line__up{flex:0 0 auto;white-space:nowrap;color:color-mix(in srgb,var(--tvp-svetla) 45%,transparent)}.log-line__lvl{flex:0 0 auto;font-weight:var(--weight-bold);color:var(--brand-secondary)}.log-line__msg{flex:1 1 auto;min-width:0;white-space:pre-wrap;word-break:break-word}.log-line--warn .log-line__lvl{color:var(--tvp-zluta)}.log-line--error .log-line__lvl{color:var(--tvp-magenta)}.log-line--error .log-line__msg{color:#ffd9ee}.log-line--debug{opacity:.72}.log-empty{margin:0;color:color-mix(in srgb,var(--tvp-svetla) 70%,transparent)}@media(max-width:560px){.log-line__up{display:none}}.rec-row{display:flex;gap:var(--space-2);align-items:center}.rec-row input{flex:1 1 0;min-width:0}.filter-switch{display:flex;width:100%;gap:3px;padding:4px;margin-bottom:var(--space-4);border-radius:var(--radius-pill);background:var(--surface-muted)}.filter-switch button{flex:1 1 0;min-width:0;min-height:40px;padding:8px 6px;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--text-muted);font:700 var(--text-small)/1 var(--font-core);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.filter-switch button.is-on{background:var(--control-selected-bg);color:var(--control-selected-fg);box-shadow:var(--shadow-card)}.filter-switch button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;z-index:1}.switch{position:relative;display:inline-flex;align-items:center;border-radius:var(--radius-pill);cursor:pointer;-webkit-tap-highlight-color:transparent}.switch input{position:absolute;opacity:0;width:0;height:0;margin:0}.switch-track{display:inline-block;position:relative;width:62px;height:34px;border-radius:var(--radius-pill);background:var(--surface-muted);border:1px solid var(--border-subtle);transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.switch-thumb{position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:var(--shadow-float);transition:transform var(--dur-fast) var(--ease-out)}.switch input:checked+.switch-track{background:var(--brand-secondary);border-color:var(--brand-secondary)}.switch input:checked+.switch-track .switch-thumb{transform:translate(28px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--focus-ring);outline-offset:2px}.row-pin{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 14px;font-family:var(--font-core);font-weight:var(--weight-bold);font-size:var(--text-body);line-height:1;letter-spacing:.16em;color:var(--tvp-navy);background:var(--surface-muted);border-radius:var(--radius-pill);white-space:nowrap}.seg--tabs{width:100%;margin-bottom:var(--gap-card)}.seg--tabs button{flex:1 1 0;text-align:center}.people .panel:first-of-type{margin-top:0}.row--stack{align-items:flex-start}.row--stack .row-main{flex:1 1 100%}.group-toggle{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-core);font-weight:var(--weight-bold);font-size:var(--text-body);color:var(--text-heading);background:transparent;border:0;padding:0;cursor:pointer;text-align:left}.group-caret{color:var(--tvp-fialova);font-size:13px}.members{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.chip-row .chip--static{display:inline-flex;align-items:center;gap:6px}.add-member{display:flex;gap:var(--space-2);align-items:center}.add-member select{flex:1 1 auto;min-width:0}.add-member .btn{align-self:stretch;display:inline-flex;align-items:center;justify-content:center}.chip--local{background:var(--tvp-tyrkys-tint);color:var(--tvp-tyrkys-dark)}.chip-tag{font-size:10px;letter-spacing:var(--tracking-label);text-transform:uppercase;opacity:.75}.swipe{position:relative;border-radius:var(--radius-card-sm);overflow:hidden;box-shadow:var(--shadow-card)}.swipe>.row--swipe{position:relative;z-index:1;box-shadow:none;touch-action:pan-y;transition:transform var(--dur-fast) var(--ease-out);will-change:transform}.swipe>.row--swipe.is-swiping{transition:none}.swipe-hint{position:absolute;top:0;bottom:0;display:flex;align-items:center;padding:0 var(--space-4);color:var(--text-invert);pointer-events:none}.swipe-hint--edit{left:0;background:var(--brand-secondary)}.swipe-hint--delete{right:0;background:var(--tvp-magenta)}@media(hover:none)and (pointer:coarse){.row-edit,.row-delete{display:none}}.seg button:disabled{opacity:.45;cursor:default}.enroll-token{display:block;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;line-height:1.5;word-break:break-all;-webkit-user-select:all;user-select:all;background:var(--white, #fff);border-radius:10px}:root{--nav-h: 102px;--nav-gutter: 40px}@media(max-width:900px){:root{--nav-gutter: 24px}}@media(max-width:600px){:root{--nav-gutter: 16px;--nav-h: 80px}}.tvp-nav-obal{position:sticky;top:0;z-index:50;height:var(--nav-h);background:#fff;box-shadow:var(--shadow-header);transition:background var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.tvp-nav{max-width:1340px;margin:0 auto;padding:0 var(--nav-gutter);height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;gap:clamp(16px,2.6vw,40px);color:var(--tvp-navy)}.tvp-nav-logo{display:flex;align-items:center;line-height:0}.tvp-nav-logo img{display:block;width:225px;height:auto}.tvp-nav-desktop{display:flex;align-items:center;gap:clamp(10px,1.5vw,26px);min-width:0}.tvp-nav-link{font-size:clamp(16px,1.35vw,20px);font-weight:600;color:inherit;text-decoration:none;white-space:nowrap;display:inline-flex;align-items:center;gap:7px;padding:10px 0;opacity:.92;transition:opacity var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.tvp-nav-link:hover,.tvp-nav-link:focus-visible{opacity:1;color:inherit;text-decoration:none}.tvp-cta{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-core);font-weight:var(--weight-bold);font-size:var(--text-button);line-height:1.2;padding:15px 32px;border:2px solid transparent;border-radius:var(--radius-pill);background:var(--brand-cta);color:#fff;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.tvp-cta:hover{background:var(--brand-cta-hover);transform:translateY(-2px);box-shadow:var(--shadow-card)}.tvp-cta:active{transform:scale(.97)}.tvp-cta:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.tvp-cta--member{padding:12px 20px}.tvp-nav-user{display:inline-flex;align-items:center;gap:8px;color:inherit;opacity:.8;min-width:0}.tvp-nav-user svg{display:block;flex:0 0 24px;width:24px;height:24px}.tvp-nav-user-name{max-width:220px;overflow:hidden;color:var(--text-heading);font-size:var(--text-small);font-weight:var(--weight-semibold, 600);text-overflow:ellipsis;white-space:nowrap}.tvp-member-account{display:inline-flex;align-items:center;justify-content:flex-end;gap:var(--space-3);min-width:0;margin-left:auto}.tvp-member-account .tvp-nav-user{max-width:min(30vw,200px)}@media(max-width:600px){.tvp-member-account{gap:var(--space-2)}.tvp-member-account .tvp-nav-user-name{display:none}.tvp-cta--member{padding:10px 14px;font-size:var(--text-small)}}.tvp-burger{display:none;place-items:center;width:48px;height:48px;margin-right:-12px;padding:0;border:none;background:none;cursor:pointer;border-radius:var(--radius-pill);color:inherit}@media(max-width:1100px){.tvp-nav-desktop{display:none}.tvp-burger{display:grid}}@media(max-width:900px){.tvp-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:8px}.tvp-nav-logo{grid-column:2;justify-self:center}.tvp-burger{grid-column:3;justify-self:end}.tvp-nav--member{display:flex;justify-content:space-between}.tvp-nav--member .tvp-nav-logo img{width:160px}}.tvp-mobile-menu{--mm-x: calc(100% - var(--nav-gutter) - 12px);position:fixed;left:0;right:0;top:var(--nav-h);bottom:0;z-index:49}.tvp-mm-vrstva,.tvp-mm-panel{position:absolute;inset:0;clip-path:circle(0 at var(--mm-x) 0);animation:tvp-mm-otevri .62s cubic-bezier(.7,0,.2,1) forwards}.tvp-mm-vrstva--1{background:var(--tvp-magenta)}.tvp-mm-vrstva--2{background:var(--tvp-tyrkys);animation-delay:70ms}.tvp-mm-vrstva--3{background:var(--tvp-zluta);animation-delay:.14s}.tvp-mm-panel{overflow-y:auto;background:#fff;padding:8px var(--nav-gutter) 40px;border-top:1px solid var(--border-subtle);animation-delay:.21s}@keyframes tvp-mm-otevri{0%{clip-path:circle(0 at var(--mm-x) 0)}to{clip-path:circle(150% at var(--mm-x) 0)}}@keyframes tvp-mm-zavri{0%{clip-path:circle(150% at var(--mm-x) 0)}to{clip-path:circle(0 at var(--mm-x) 0)}}.tvp-mobile-menu.is-closing .tvp-mm-vrstva,.tvp-mobile-menu.is-closing .tvp-mm-panel{animation:tvp-mm-zavri .32s cubic-bezier(.7,0,.2,1) both}.tvp-mobile-menu.is-closing .tvp-mm-panel{animation-delay:0ms}.tvp-mobile-menu.is-closing .tvp-mm-vrstva--3{animation-delay:50ms}.tvp-mobile-menu.is-closing .tvp-mm-vrstva--2{animation-delay:.1s}.tvp-mobile-menu.is-closing .tvp-mm-vrstva--1{animation-delay:.15s}.tvp-mm-list{list-style:none;margin:0 0 28px;padding:0}.tvp-mm-item{border-bottom:1px solid var(--border-subtle);opacity:0;animation:tvp-mm-polozka .55s cubic-bezier(.2,.9,.3,1.25) forwards;animation-delay:calc(.33s + var(--i, 0) * 45ms)}@keyframes tvp-mm-polozka{0%{opacity:0;transform:translate(48px) rotate(2deg)}to{opacity:1;transform:none}}.tvp-mm-row{display:flex;align-items:center;justify-content:space-between;min-height:56px}.tvp-mm-tecka{flex:none;width:10px;height:10px;margin-right:14px;border-radius:50%;background:var(--tone);animation:tvp-mm-tecka .6s cubic-bezier(.2,.9,.3,1.6) both;animation-delay:calc(.43s + var(--i, 0) * 45ms);transition:transform var(--dur-fast) var(--ease-out)}@keyframes tvp-mm-tecka{0%{transform:scale(0)}60%{transform:scale(1.7)}to{transform:scale(1)}}.tvp-mm-row:hover .tvp-mm-tecka,.tvp-mm-row:focus-within .tvp-mm-tecka{transform:scale(1.6)}.tvp-mm-link{flex:1;padding:12px 0;color:var(--tvp-navy);font-size:20px;font-weight:700;text-decoration:none;transition:color var(--dur-fast) var(--ease-out)}.tvp-mm-link:hover,.tvp-mm-link:focus-visible{color:var(--tone);text-decoration:underline}.tvp-mm-cta{opacity:0;animation:tvp-mm-polozka .55s cubic-bezier(.2,.9,.3,1.25) forwards;animation-delay:.68s}.tvp-burger-cara{stroke:currentColor;stroke-width:2;transform-box:view-box;transform-origin:12px 12px;transition:transform .38s cubic-bezier(.7,0,.2,1.2),opacity .2s ease}.tvp-burger-ikona.is-otevreno .tvp-burger-cara--1{transform:translateY(6px) rotate(45deg)}.tvp-burger-ikona.is-otevreno .tvp-burger-cara--2{opacity:0;transform:scaleX(0)}.tvp-burger-ikona.is-otevreno .tvp-burger-cara--3{transform:translateY(-6px) rotate(-45deg)}.tvp-nav-vlna{display:none}@media(max-width:1100px){.tvp-nav-obal{box-shadow:none!important}.tvp-nav-vlna{display:block;position:absolute;left:0;right:0;top:calc(100% - 1px);width:100%;height:16px;z-index:52;fill:#fff;pointer-events:none;filter:drop-shadow(0 5px 5px rgba(36,69,130,.13));opacity:0;transition:opacity var(--dur-base) var(--ease-out)}.tvp-nav-vlna.is-videt{opacity:1}.tvp-mm-panel{padding-top:22px}}@media(prefers-reduced-motion:reduce){.tvp-mm-vrstva{display:none}.tvp-mm-panel,.tvp-mm-item,.tvp-mm-tecka,.tvp-mm-cta{animation:none;clip-path:none;opacity:1}.tvp-burger-cara{transition:none}}.tvp-nav-dd{position:relative}.tvp-nav-dd__trigger{border:0;background:none;font-family:var(--font-core);cursor:pointer}.tvp-nav-dd__menu{position:absolute;top:100%;left:-18px;padding-top:25px;min-width:270px;z-index:60;display:none}.tvp-nav-dd.is-open .tvp-nav-dd__menu{display:block}.tvp-nav-dd__panel{position:relative;overflow:hidden;display:flex;flex-direction:column;background:#fff;border-radius:var(--radius-card);box-shadow:var(--shadow-card-hover);padding:14px 0 10px;transform-origin:20% 0;animation:tvp-dd-in .3s cubic-bezier(.2,.9,.3,1.2) both}.tvp-nav-dd__panel:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--tvp-magenta) 0 25%,var(--tvp-tyrkys) 25% 50%,var(--tvp-zluta) 50% 75%,var(--tvp-fialova) 75%);transform-origin:0 center;animation:tvp-dd-pruh .45s cubic-bezier(.7,0,.2,1) both}.tvp-nav-dd__link{position:relative;display:block;width:100%;padding:11px 28px;border:0;background:none;text-align:left;cursor:pointer;color:var(--tvp-navy);font-family:var(--font-core);font-size:19px;font-weight:400;text-decoration:none;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),padding var(--dur-fast) var(--ease-out);animation:tvp-dd-polozka .32s ease both;animation-delay:calc(60ms + var(--j, 0) * 35ms)}.tvp-nav-dd__link:before{content:"";position:absolute;top:50%;left:14px;margin-top:-3px;width:6px;height:6px;border-radius:50%;background:var(--tone);transform:scale(0);transition:transform var(--dur-fast) var(--ease-out)}.tvp-nav-dd__link:hover,.tvp-nav-dd__link:focus-visible,.tvp-nav-dd__link.is-active{background:var(--tvp-svetla);padding-left:34px;text-decoration:none}.tvp-nav-dd__link:hover:before,.tvp-nav-dd__link:focus-visible:before,.tvp-nav-dd__link.is-active:before{transform:scale(1)}@keyframes tvp-dd-in{0%{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:none}}@keyframes tvp-dd-pruh{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes tvp-dd-polozka{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:none}}.tvp-mm-toggle{display:grid;place-items:center;width:48px;height:48px;margin-right:-12px;padding:0;border:0;background:none;cursor:pointer;color:var(--tvp-navy)}.tvp-mm-toggle>*{transition:transform .35s cubic-bezier(.2,.9,.3,1.3)}.tvp-mm-toggle.is-open>*{transform:rotate(180deg)}.tvp-mm-sub-obal{display:grid;grid-template-rows:0fr;transition:grid-template-rows .38s cubic-bezier(.2,.8,.2,1)}.tvp-mm-sub-obal.is-open{grid-template-rows:1fr}.tvp-mm-sub{list-style:none;margin:0;padding:0 0 0 24px;min-height:0;overflow:hidden}.tvp-mm-sub-obal.is-open .tvp-mm-sub{padding-bottom:12px}.tvp-mm-sub li{opacity:0;transform:translate(16px);transition:opacity .3s,transform .3s}.tvp-mm-sub-obal.is-open .tvp-mm-sub li{opacity:1;transform:none;transition-delay:calc(80ms + var(--j, 0) * 40ms)}.tvp-mm-sub a,.tvp-mm-sub button{display:block;width:100%;padding:10px 0 10px 14px;border:0;border-left:3px solid var(--tone);background:none;color:var(--tvp-navy);font-family:var(--font-core);font-size:17px;font-weight:var(--weight-regular, 400);text-align:left;text-decoration:none;cursor:pointer}.tvp-mm-sub a:hover,.tvp-mm-sub a:focus-visible,.tvp-mm-sub button:hover,.tvp-mm-sub button:focus-visible{color:var(--tone)}@media(prefers-reduced-motion:reduce){.tvp-nav-dd__panel,.tvp-nav-dd__panel:before,.tvp-nav-dd__link,.tvp-mm-toggle>*,.tvp-mm-sub-obal,.tvp-mm-sub li{animation:none;transition:none}}.studio-admin{display:block;width:100%;background:var(--surface-muted);color:var(--text-body);font-family:var(--font-core);--studio-container-pad: var(--space-4);--focus-ring: var(--tvp-navy)}.studio-admin__section{padding:var(--space-5) 0 var(--space-7);background:var(--surface-muted)}.studio-admin__container{width:100%;max-width:1340px;margin-inline:auto;padding-inline:var(--studio-container-pad)}.studio-admin__back{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-bottom:16px;color:var(--tvp-navy);font-size:var(--text-small);font-weight:var(--weight-bold);text-decoration:none}.studio-admin__back:hover{color:var(--brand-cta-hover);text-decoration:underline}.studio-admin__header{margin-bottom:var(--space-4)}.studio-admin__header h1{margin:0 0 12px;color:var(--text-heading);font-family:var(--font-core);font-size:clamp(30px,3vw,40px);font-weight:var(--weight-bold);line-height:1.08}.studio-admin__eyebrow{margin:0 0 8px;color:var(--brand-primary);font-size:var(--text-label);font-weight:var(--weight-bold);letter-spacing:var(--tracking-label);line-height:1.3;text-transform:uppercase}.studio-admin__lead{max-width:60ch;margin:0;color:var(--text-body);font-size:var(--text-lead);line-height:var(--leading-lead)}.studio-admin .page{padding:0}.studio-admin .page>.container{width:100%;max-width:none;padding-inline:0}.studio-admin .panel{box-sizing:border-box;min-width:0;margin-bottom:24px;padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--shadow-card)}.studio-admin .panel.filter-panel{padding-block:16px}.studio-admin .panel.admin-zone{background:var(--tvp-magenta-tint)}.studio-admin .panel.admin-zone .panel-title{color:var(--tvp-magenta-dark)}.studio-admin .panel-title,.studio-admin .panel h2{min-width:0;margin:0 0 16px;color:var(--text-heading);font-family:var(--font-core);font-size:clamp(22px,2vw,26px);font-weight:var(--weight-bold);line-height:1.2;overflow-wrap:anywhere}.studio-admin .panel-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 20px;min-width:0;margin-bottom:var(--space-3)}.studio-admin .panel-head .panel-title{margin-bottom:0}.studio-admin .panel-head>.btn{max-width:100%}.studio-admin .panel h4,.studio-admin .firmware-releases-title,.studio-admin .pepper-title{margin:0 0 12px;color:var(--text-heading);font-family:var(--font-core);font-size:var(--text-h5);font-weight:var(--weight-bold);line-height:1.3}.studio-admin .page-lead{display:block;max-width:70ch;margin:0 0 20px;color:var(--text-body);font-size:var(--text-body);line-height:1.55}.studio-admin .hint{max-width:75ch;color:var(--text-muted);font-size:var(--text-caption);line-height:1.5;overflow-wrap:anywhere}.studio-admin .empty{padding:16px 0;color:var(--text-muted);font-size:var(--text-small)}.studio-admin .form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3);min-width:0}.studio-admin .field{display:grid;align-content:start;gap:8px;min-width:0}.studio-admin .field>label,.studio-admin .fw-row>label{color:var(--text-heading);font-size:var(--text-small);font-weight:var(--weight-bold);line-height:1.35;overflow-wrap:anywhere}.studio-admin .pin-row{grid-column:1/-1;min-width:0}.studio-admin .rec-row{min-width:0}.studio-admin :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=hidden]),select,textarea){box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:44px;margin:0;padding:10px 16px;border:1px solid var(--border-subtle);border-radius:var(--radius-input);background:var(--surface-card);color:var(--text-body);font:inherit;font-size:16px;line-height:1.5}.studio-admin :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=hidden]),select,textarea):hover{border-color:var(--brand-primary)}.studio-admin :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=hidden]),select,textarea):focus,.studio-admin :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=hidden]),select,textarea):focus-visible{border-color:var(--brand-primary);outline:2px solid var(--focus-ring);outline-offset:2px}.studio-admin :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=hidden]),select,textarea):disabled{background:var(--surface-muted);opacity:.65}.studio-admin textarea{min-height:112px;padding-block:14px;border-radius:var(--radius-field);resize:vertical}.studio-admin .filter-grid{gap:16px}.studio-admin .add-member{flex-wrap:wrap}.studio-admin .add-member select{flex:1 1 180px}.studio-admin .fw-row input[type=text]{min-height:44px}.studio-admin .dropzone{border-radius:var(--radius-card-sm)}.studio-admin .switch input[type=checkbox]{position:absolute;width:0;height:0;margin:0;opacity:0;appearance:none;border:0;background:none}.studio-admin :is(.checkbox,.device-scope-option,.device-select) input[type=checkbox]{flex:0 0 22px;width:22px;height:22px;margin:0;border:2px solid var(--border-subtle);border-radius:7px;background:var(--surface-card) center/15px 15px no-repeat;appearance:none;-webkit-appearance:none;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.studio-admin :is(.checkbox,.device-scope-option,.device-select) input[type=checkbox]:hover{border-color:var(--brand-secondary)}.studio-admin :is(.checkbox,.device-scope-option,.device-select) input[type=checkbox]:checked{border-color:var(--brand-secondary);background-color:var(--brand-secondary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.4l3.2 3.2L13 5' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.studio-admin :is(.checkbox,.device-scope-option,.device-select) input[type=checkbox]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.studio-admin .checkbox{min-height:44px;margin-top:4px;gap:10px;cursor:pointer;color:var(--text-body);font-size:var(--text-small)}.studio-admin .device-scope-option{min-height:44px;gap:8px;padding:8px 14px}.studio-admin .device-scope-option.is-on input:checked{border-color:var(--text-invert)}.studio-admin .device-select{justify-content:center;min-width:44px;min-height:44px}.studio-admin .btn{box-sizing:border-box;min-height:44px;max-width:100%;padding:10px 20px;border:0;border-radius:var(--radius-pill);background:var(--brand-cta);color:var(--text-invert);font-family:var(--font-core);font-size:var(--text-button);font-weight:var(--weight-bold);line-height:1.2;text-align:center;white-space:normal;overflow-wrap:anywhere;cursor:pointer;box-shadow:var(--shadow-card);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.studio-admin .btn:not(.row-edit):not(.row-delete):not(.filter-grid__action){display:inline-flex;align-items:center;justify-content:center;gap:8px}.studio-admin .btn:hover:not(:disabled){background:var(--brand-cta-hover);box-shadow:var(--shadow-card-hover);transform:none}.studio-admin .btn--ghost,.studio-admin .btn--outline{background:transparent;color:var(--tvp-navy);box-shadow:inset 0 0 0 2px var(--tvp-navy)}.studio-admin .btn--ghost:hover:not(:disabled),.studio-admin .btn--outline:hover:not(:disabled){background:var(--tvp-navy);color:var(--text-invert);box-shadow:inset 0 0 0 2px var(--tvp-navy)}.studio-admin .btn--cancel{background:var(--tvp-navy);color:var(--text-invert)}.studio-admin .btn--cancel:hover:not(:disabled){background:var(--tvp-navy-dark)}.studio-admin .btn--danger{background:transparent;color:var(--tvp-magenta-dark);box-shadow:inset 0 0 0 2px var(--tvp-magenta)}.studio-admin .btn--danger:hover:not(:disabled){background:var(--tvp-magenta);color:var(--text-invert);box-shadow:inset 0 0 0 2px var(--tvp-magenta)}.studio-admin .btn--small{min-height:44px;padding:10px 16px;font-size:var(--text-small)}.studio-admin .btn--icon{min-width:44px;min-height:44px;padding:10px}.studio-admin .btn:disabled{opacity:.5;cursor:not-allowed}.studio-admin .row-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px;min-width:0;max-width:100%}.studio-admin .seg{flex-wrap:wrap;max-width:100%}.studio-admin .seg button{min-height:44px;padding:10px 18px;white-space:normal;overflow-wrap:anywhere}.studio-admin .seg--tabs{width:100%;margin-bottom:24px;background:var(--surface-card)}.studio-admin .filter-switch button{min-height:44px;white-space:normal;overflow-wrap:anywhere}.studio-admin .chip{display:inline-flex;align-items:center;min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere}.studio-admin .chip-x{min-width:44px;min-height:44px}.studio-admin app-hint .tip-btn{position:relative}.studio-admin app-hint .tip-btn:after{content:"";position:absolute;inset:-12px}.studio-admin .row{box-sizing:border-box;min-width:0;padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-card-sm);overflow-wrap:anywhere}.studio-admin .row-title,.studio-admin .row-title-text,.studio-admin .row-sub{min-width:0;overflow-wrap:anywhere}.studio-admin .row-title-text{white-space:normal}.studio-admin .row--swipe{border:0}.studio-admin .filter-bar__toggle{min-height:44px}.studio-admin .event-card__head{flex-wrap:wrap}.studio-admin .event-card{border:1px solid var(--border-subtle);border-radius:var(--radius-card-sm)}.studio-admin .events-cards{gap:12px}.studio-admin table{width:100%;border-collapse:collapse;font-size:var(--text-small)}.studio-admin th{padding:12px;border-bottom:1px solid var(--border-subtle);color:var(--text-heading);font-size:var(--text-caption);letter-spacing:var(--tracking-label);text-transform:uppercase;white-space:nowrap}.studio-admin td{padding:var(--space-3) var(--space-2);border-bottom:1px solid var(--border-subtle);vertical-align:middle;overflow-wrap:anywhere}.studio-admin tbody tr:last-child td{border-bottom:0}.studio-admin .events-table tbody tr:hover td{background:var(--tvp-navy-tint)}.studio-admin .pager{flex-wrap:wrap;gap:12px}.studio-admin .flash{overflow-wrap:anywhere}.studio-admin .device-settings-backdrop{padding:16px;overflow-y:auto;overscroll-behavior:contain}.studio-admin .device-settings-dialog{box-sizing:border-box;width:100%;max-width:560px;max-height:calc(100dvh - 32px);margin:auto;padding:clamp(20px,4vw,28px);border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--shadow-card-hover);overflow-y:auto;overscroll-behavior:contain}.studio-admin .device-log-dialog{max-width:1160px}.studio-admin .enroll-token,.studio-admin .device-net-current{border-radius:var(--radius-card-sm)}.studio-admin :is(a,button):focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}@media(min-width:720px){.studio-admin .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1100px){.studio-admin .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.studio-admin{--studio-container-pad: 24px}}@media(max-width:700px){.studio-admin .device-settings-backdrop{align-items:flex-start;padding:12px 12px 24px}.studio-admin .device-settings-dialog{max-height:none;margin:0 auto;padding:18px}}@media(max-width:600px){.studio-admin{--studio-container-pad: 16px}.studio-admin__header h1{line-height:1.12}.studio-admin .panel{padding:var(--space-3)}.studio-admin .form-grid{grid-template-columns:minmax(0,1fr)}.studio-admin .row-actions{justify-content:stretch}.studio-admin .row-actions>.btn{flex:1 1 150px}.studio-admin .firmware-control,.studio-admin .fw-upload-btn{max-width:100%}}@media(prefers-reduced-motion:reduce){.studio-admin .btn,.studio-admin .field input[type=checkbox]{transition:none}}:root{--control-selected-bg: var(--brand-secondary);--control-selected-fg: var(--text-invert);--button-bg: var(--tvp-navy);--button-bg-hover: var(--tvp-navy-dark);--button-fg: var(--text-invert)}html,body{height:100%}body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-core);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}*,*:before,*:after{box-sizing:border-box}app-root{display:flex;flex-direction:column;min-height:100dvh;background:var(--surface-page);color:var(--text-body);font-family:var(--font-core);font-size:var(--text-body);line-height:var(--leading-body)}.container{width:100%;max-width:var(--container-narrow);margin:0 auto;padding-inline:var(--container-pad)}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:var(--gap-inline);min-height:64px;padding:var(--space-2) var(--container-pad);background:var(--surface-page);box-shadow:var(--shadow-header)}.brand{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:30px;line-height:1;letter-spacing:.02em;color:var(--tvp-navy);text-decoration:none}.brand:hover{color:var(--tvp-navy);text-decoration:none}.menu{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:calc(var(--gap-inline) / 2) var(--gap-inline);min-width:0;padding:var(--space-1) 0}.menu-link{font-size:var(--text-small);font-weight:var(--weight-bold);color:var(--text-link);text-decoration:none;white-space:nowrap}.menu-link:hover{color:var(--text-link-hover);text-decoration:none}.menu-link.is-active{color:var(--tvp-navy);box-shadow:inset 0 -2px var(--tvp-fialova)}.menu-link--quiet{font-weight:var(--weight-regular);color:var(--text-muted)}.menu-user{font-size:var(--text-small);color:var(--text-muted);max-width:14ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:420px){.menu-link--quiet{display:none}.menu-user{max-width:9ch}}.pill{font-family:var(--font-core);font-weight:var(--weight-bold);font-size:var(--text-button);line-height:1;border:0;border-radius:var(--radius-pill);padding:11px 20px;cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.pill--ghost{background:transparent;color:var(--brand-primary);box-shadow:inset 0 0 0 2px var(--brand-primary)}.pill--ghost:hover{background:var(--brand-primary);color:var(--text-invert);transform:translateY(-2px);box-shadow:inset 0 0 0 2px var(--brand-primary),var(--shadow-card)}.pill:active{transform:var(--press-scale)}.pill:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.redirecting{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--section-y) var(--container-pad)}.redirecting-text{margin:0;color:var(--text-muted)}.redirecting-card{max-width:52ch;text-align:center;padding:var(--space-5, 20px) 0}.redirecting-hint{margin:var(--space-3, 12px) 0 var(--space-4, 16px);color:var(--text-body);font-size:var(--text-small);line-height:var(--leading-lead)}.redirecting-hint code{font-family:var(--font-mono, monospace);font-size:.9em;background:var(--surface-muted);border-radius:var(--radius-field, 6px);padding:1px 5px;overflow-wrap:anywhere}main{flex:1}.app-main{display:flex;flex-direction:column}.app-main>:not(router-outlet){flex:1 1 auto;display:flex;flex-direction:column}.site-footer{display:block}.site-footer__wave{background:var(--surface-page);line-height:0;margin-bottom:-1px}.site-footer__wave svg{display:block;width:100%;height:min(110px,7.639vw);color:var(--tvp-navy)}.site-footer__body{background:var(--tvp-navy);padding:0 0 32px;color:#fff}.site-footer__bottom{padding-top:20px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;font-size:14px;color:#fff9}.site-footer__links{display:flex;gap:20px}.site-footer__links a{color:#fff9;text-decoration:none}.site-footer__links a:hover{color:#fff;text-decoration:none}
