/* ===== D-stílus: letisztult, modern app-megjelenés (csak kinézet, a működéshez nem nyúl) ===== */
:root{--bg:#ffffff;--card:#ffffff;--text:#0f1419;--muted:#737373;--line:#ececec;--line2:#dbdbdb;--fill:#efefef;--fill2:#e2e2e2;--ink:#0f1419;--on-ink:#ffffff;--sel:#f2f2f2;
 --ff:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#000000;--card:#121212;--text:#f5f5f5;--muted:#a8a8a8;--line:#262626;--line2:#363636;--fill:#262626;--fill2:#333333;--ink:#f5f5f5;--on-ink:#000000;--sel:#1c1c1c}}
:root[data-theme="dark"]{--bg:#000000;--card:#121212;--text:#f5f5f5;--muted:#a8a8a8;--line:#262626;--line2:#363636;--fill:#262626;--fill2:#333333;--ink:#f5f5f5;--on-ink:#000000;--sel:#1c1c1c}
body{font-family:var(--ff);padding-top:0;-webkit-font-smoothing:antialiased}
h1{border-left:0;padding-left:0;font-weight:800;letter-spacing:-.02em}
.ch h2,.mc h2{font-weight:800;letter-spacing:-.01em}
.sub{color:var(--muted)}

/* gombok, mezők */
button:where(:not(.tile,.nav,.burger)),label.up{border:1px solid transparent;background:var(--fill);color:var(--text);border-radius:10px;font-weight:600;box-shadow:none;letter-spacing:0}
button:where(:not(.tile,.nav,.burger)):hover,label.up:hover{background:var(--fill2);border-color:transparent;box-shadow:none}
button:where(:not(.tile,.nav,.burger)):active,label.up:active{background:var(--fill2)}
button:where(:not(.tile,.nav,.burger)):focus-visible,label.up:focus-within{outline:2px solid var(--ink);outline-offset:2px}
button.pri,.pri{background:var(--ink);border-color:var(--ink);color:var(--on-ink);font-weight:700}
button.pri:hover{background:color-mix(in srgb,var(--ink) 85%,var(--bg));border-color:transparent}
label.up,button.fio{color:var(--text);background:var(--fill);border:1px solid transparent}
label.up:hover,button.fio:hover{background:var(--fill2);border-color:transparent}
select{background-color:var(--fill);border-color:transparent;border-radius:10px;font-weight:600}
select:hover{border-color:transparent}
.mc input,.mc select,.evf input,.evf select,.evf textarea,.kf input,.kf select,.kf textarea,.acard input,input.wi,select.wi,textarea.wn,.mt-l input,.mt-l textarea,textarea{background:var(--fill);border-color:transparent;border-radius:10px}
.mc input:focus,.evf input:focus,.kf input:focus,.acard input:focus,input.wi:focus,textarea:focus{outline:2px solid var(--ink);outline-offset:-1px}
.upi{background:var(--fill)!important;border-color:transparent!important;border-radius:10px!important}
.upi:hover{background:var(--fill2)!important;color:var(--text)!important}
.mx{background:transparent!important;border-color:transparent!important;color:var(--text)!important}.mx:hover{background:var(--fill)!important}
button[id$="back"],#toP,#toT{background:transparent;border-color:transparent;color:var(--muted)}
button[id$="back"]:hover,#toP:hover,#toT:hover{background:var(--fill);border-color:transparent}

/* kártyák */
.card{border:1px solid var(--line);border-radius:16px;box-shadow:none}
.plrow{border-color:var(--line);border-radius:16px}
.modal{background:rgba(0,0,0,.45)}
.mc{border:0;border-radius:18px;box-shadow:0 20px 50px rgba(0,0,0,.2)}
.amenu,.inf-p,.sug{border-color:var(--line);box-shadow:0 12px 32px rgba(0,0,0,.14)}
.cch,.role{background:var(--fill);color:var(--text)}
.cch.bad{background:color-mix(in srgb,var(--st-r) 13%,transparent);color:var(--st-rt)}
.role.admin{background:var(--ink);color:var(--on-ink)}

/* felső sáv */
.topbar{top:0;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.tb{padding:8px 12px 8px 14px;gap:10px}
.logo3d{width:36px;height:36px}
.tt .t1{text-transform:none;letter-spacing:-.02em;font-weight:800;font-size:1.12rem;line-height:1.15}
.tt .t2{font-size:.78rem}
.burger{width:42px;height:42px;background:transparent!important;border:0!important}
.burger i{background:var(--text);height:1.8px;width:21px}
.srb,.upall{background:transparent!important;border:0!important;color:var(--text)!important;width:42px!important;height:42px!important;border-radius:12px}
.srb:hover,.upall:hover{background:var(--fill)!important;color:var(--text)!important}
.srb svg,.upall svg{width:23px!important;height:23px!important}
.acct .av{background:var(--ink)!important;color:var(--on-ink)!important;box-shadow:none!important;width:36px;height:36px;font-size:.82rem}
.acct .av::after{display:none}
.av-st{left:26px;top:25px;width:11px;height:11px}
@media(max-width:560px){.tt .t1{font-size:1rem}}

/* menü ikonok: vékony vonalas, egyszínű */
.nic::after,.tile .ic::after,.pg-ic.fx::after,.jn::after{display:none}
.nic{box-shadow:none!important;background:var(--acc)!important}
.nic svg,.tile .ic svg,.pg-ic.fx svg{filter:none}
.nic.ol{background:transparent!important;color:var(--text)}
.nic.ol svg{width:26px;height:26px}
.drawer{background:var(--card);border-right:1px solid var(--line)}
.drawer .dt{text-transform:none;letter-spacing:-.02em;font-size:1.25rem;font-weight:800;color:var(--text);padding:18px 14px 14px 22px}
.drawer .dt button{width:38px;height:38px;padding:0;border-radius:10px;background:transparent}
.drawer .nav{gap:14px;padding:11px 12px;margin:1px 10px;border-radius:10px;font-size:.98rem;font-weight:500;color:var(--text)}
.drawer .nav .nic.ol svg{width:25px;height:25px}
.drawer .nav:hover{background:var(--sel)}
.drawer .nav.cur{background:var(--sel);font-weight:800}
.drawer .nav.cur .nic.ol svg{stroke-width:2.6}
.sr-i .nic.ol{border:1px solid var(--line2);border-radius:9px}.sr-i .nic.ol svg{width:18px;height:18px}
.sr-i:hover,.sr-i.on{background:var(--sel)}

/* alsó menüsáv (telefon) */
@media(max-width:700px){
 .bnav{background:color-mix(in srgb,var(--bg) 96%,transparent);border-top:1px solid var(--line);box-shadow:none;padding:2px 4px calc(2px + env(safe-area-inset-bottom))}
 .bnav button{gap:0;padding:6px 2px;color:var(--text);font-size:0;min-height:52px;justify-content:center}
 .bnav button span:not(.nic):not(.bav){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 .bnav button .nic{width:30px;height:30px;filter:none!important;opacity:1!important;transform:none!important}
 .bnav button .nic.ol svg{width:26px;height:26px;stroke-width:1.8}
 .bnav button.on .nic.ol svg{stroke-width:2.7}
 .bnav button.on .nic.ol svg .fl{fill:currentColor}
 .bnav .bav{width:28px;height:28px;font-size:.66rem;background:var(--ink);color:var(--on-ink)}
 body.bn-on{padding-bottom:calc(60px + env(safe-area-inset-bottom))}
}

/* oldalcímek: ikon nélkül, nagy, tiszta cím */
.pg-ttl>.pg-ic{display:none}
.pg-ttl h1,.hm-hd h1{font-size:1.6rem;font-weight:800;letter-spacing:-.025em}
@media(max-width:600px){.pg-ttl h1,.hm-hd h1{font-size:1.45rem}}

/* terhelés fülek: aláhúzott fülsor */
.ld-bar{gap:10px}
.ld-nav{flex:1 1 100%;background:none;border:0;border-bottom:1px solid var(--line2);border-radius:0;padding:0;gap:24px}
.ld-nav button{padding:11px 0!important;border-radius:0!important;background:none!important;color:var(--muted);font-size:.92rem;font-weight:600}
.ld-nav button.on{color:var(--text);font-weight:700;box-shadow:inset 0 -1.5px 0 var(--ink)}
.ld-act{margin-left:0}
@media(max-width:600px){.ld-nav{margin:0 -16px;padding:0 16px;flex-basis:calc(100% + 32px);max-width:none}.ld-nav button{flex:1 0 auto}}

/* csempék: lista sorok (ikon doboz, cím, alcím, nyíl) */
.tiles{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:0 28px;margin-top:4px}
button.tile{display:grid;grid-template-columns:46px minmax(0,1fr) 18px;column-gap:14px;row-gap:1px;align-items:center;min-height:0;padding:10px 4px;border:0;border-radius:12px;background:transparent;color:var(--text);box-shadow:none;transform:none;text-align:left}
button.tile:hover{transform:none;box-shadow:none;background:var(--sel)}
button.tile::before{display:none}
button.tile::after{content:'';grid-column:3;grid-row:1/3;width:8px;height:8px;border-right:2px solid var(--muted);border-top:2px solid var(--muted);transform:rotate(45deg);justify-self:center;opacity:.7}
button.tile .ic{grid-column:1;grid-row:1/3;width:46px!important;height:46px!important;margin:0!important;border-radius:14px;background:transparent!important;border:1px solid var(--line2);box-shadow:none!important;color:var(--text)}
button.tile .ic svg{width:23px!important;height:23px!important}
button.tile b{grid-column:2;grid-row:1;align-self:end;font-size:1rem!important;font-weight:700;line-height:1.25}
button.tile:not(:has(.d-ts)) b{grid-row:1/3;align-self:center}
button.tile .d-ts{grid-column:2;grid-row:2;align-self:start;font-size:.84rem;color:var(--muted);line-height:1.3;font-weight:400}
button.tile .go{display:none}
.gy-badge{position:static!important;grid-column:3;grid-row:1/3;justify-self:end;z-index:1}
button.tile:has(.gy-badge:not([hidden]))::after{display:none}
.d-th{grid-column:1/-1;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:14px 4px 4px}
.d-th.d-th0{padding-top:4px}
@media(max-width:600px){.tiles{grid-template-columns:minmax(0,1fr);gap:0}button.tile{padding:9px 0}}

/* jelvények, avatárok: lapos színek */
.jn{background:var(--pc);box-shadow:none;text-shadow:none}
.jn.jn-lg{box-shadow:none}
.acct .av,.amenu .av-lg{background:var(--ink)!important}
.amenu{border-radius:16px}
.amenu .who{background:var(--fill)!important;color:var(--text)!important}
.amenu .who::before,.amenu .who::after{display:none!important}
.amenu .who-t span,.amenu .who-x{color:var(--muted)!important}
.amenu .who .role{background:var(--card)!important;color:var(--text)!important}
.amenu .av-lg{box-shadow:none!important;color:var(--on-ink)!important}
.amenu button:hover,.amenu .am-i:hover{background:var(--sel)}
.amenu .am-seg{background:var(--fill)}

/* naptár */
.cg .dc.today .n{background:var(--ink);color:var(--on-ink)}
.cg .dw{color:var(--muted)}
.cg .dc{border-color:var(--line)}
.cg .dc:hover{background:var(--sel)}

/* keret */
.kr-q{background:var(--fill);border-color:transparent;box-shadow:none;border-radius:10px;min-height:42px}
.kr-q:focus-within{border-color:transparent;outline:2px solid var(--ink)}
.kr-pos button{background:var(--fill)!important;border-color:transparent!important;border-radius:10px!important}
.kr-c{border-color:transparent!important;box-shadow:none!important;border-radius:12px!important;background:transparent!important}
.kr-c:hover{background:var(--sel)!important;transform:none}
.kr-gh{text-transform:none;letter-spacing:-.01em;font-size:.95rem}.kr-gh i{display:none}

/* játékos ablak: fehér profilfej, nagy mezszám */
.kp-hero{background:var(--card)!important;color:var(--text)!important;border-bottom:1px solid var(--line)}
.kp-nm h2{color:var(--text)!important}
.kp-ps span{background:var(--fill)!important;color:var(--text)!important}
.kp-ps span.in{background:color-mix(in srgb,var(--st-g) 15%,transparent)!important;color:var(--st-gt)!important}
.kp-w,.kp-g{background:var(--fill)!important;color:var(--text)!important}
.kp-x{background:transparent!important;color:var(--text)!important}
@media(max-width:600px){#km .kp-hero{padding-right:56px}#km #kx{position:absolute;top:12px;right:10px}}
.kp-sec{border-color:var(--line)}
.kst>div{background:var(--card);border-color:var(--line)}

/* fül/szegmens jellegű vezérlők */
.mt-tabs button.on{background:var(--ink)!important;color:var(--on-ink)!important}
.pk select{background:var(--fill)!important;border-color:transparent!important}
.pk-i:not(.pk-j){background:transparent!important;color:var(--text)!important}

/* gép: állandó bal oldali menü (mint az asztali Instagram) */
@media(min-width:1100px){
 body:not(.locked){padding-left:244px}
 body:not(.locked) .drawer{transform:none!important;width:244px;max-width:none;z-index:16;padding-top:6px;transition:none}
 body:not(.locked) .drawer .dt button,body:not(.locked) .burger,body:not(.locked) .dov{display:none!important}
 body:not(.locked) .drawer .dt{padding:24px 14px 20px 22px}
 body:not(.locked) .tb .logo3d,body:not(.locked) .tb .tt{display:none}
 body:not(.locked) .tb{justify-content:flex-end}
 body:not(.locked) .drawer::after{content:'';flex:1}
}

/* fejléc telefonon: csak felirat, egy sorban */
.tt{min-width:0;flex:1 1 auto}.tt .t1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:600px){.tb{gap:6px}.tb .logo3d.ulogo{height:20px!important}}
@media(max-width:440px){.tt .t1{display:none}}
@media(min-width:1100px){body:not(.locked) .tb .logo3d.ulogo{display:none!important}}
/* vissza gombok: kis, balra igazított link; a fülsoros oldalakon fölöslegesek */
#toP,#toT{display:none!important}
.wrap>header .ctl>button[id$="back"]{flex:0 0 auto!important;width:auto;justify-content:flex-start;padding:6px 10px 6px 4px!important;min-height:0!important;font-size:.88rem;color:var(--muted)}
button[id$="back"]::before{content:'';display:inline-block;width:7px;height:7px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:0 8px 1px 4px}
/* játékos edzés: fehér fejléc (mint a többi oldal) */
.gy-hero{background:var(--card)!important;color:var(--text)!important;box-shadow:none!important;border:1px solid var(--line);border-radius:16px}
.gy-hero::after{display:none}
.gy-hc,.gy-hnote,.gy-lockb,.gy-run{background:var(--fill)!important;color:var(--text)}
.gy-hsum{color:var(--muted);opacity:1}
.gy-hbar{background:var(--fill)!important}.gy-hbar span{background:var(--ink)!important}
.gy-go{background:var(--ink)!important;color:var(--on-ink)!important;box-shadow:none!important}
.gy-rtf{background:var(--ink)!important;color:var(--on-ink)!important;box-shadow:0 6px 16px rgba(0,0,0,.22)!important}
.px-hero{box-shadow:none;border:1px solid var(--line)}.px-hero h1{color:var(--text)}
.kp-mc{border-radius:18px!important}
/* logó: U19 felirat zászlóval */
.ulogo{display:block;flex:none;color:var(--text)}
.tb .logo3d.ulogo{width:auto!important;height:24px!important;display:block!important}
.logo3d.lg.ulogo{width:auto;height:58px;margin:0 auto 16px}
.d-brand{display:flex;align-items:center;gap:10px}.d-brand .ulogo{height:22px;width:auto}.d-brand b{font-weight:800}
.rp-logo.ulogo{width:auto!important;height:34px!important}
.acard .ulogo{color:var(--text)}
/* naptár: Hét / Hónap / Lista nézet */
.cv-seg{display:flex;padding:3px;margin:0 0 12px;background:var(--fill);border-radius:11px}
.cv-seg button{flex:1;padding:7px 0!important;border:0!important;border-radius:9px!important;background:transparent!important;font-size:.86rem;font-weight:600;color:var(--muted)}
.cv-seg button.on{background:var(--card)!important;color:var(--text);font-weight:700;box-shadow:0 1px 2px rgba(0,0,0,.1)!important}
.cv-k{display:block;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--green);margin-bottom:1px}
.cal-h .ctl{flex-wrap:nowrap!important;flex:none;width:auto!important}.cal-h h2{min-width:0}
.cv-on .cal-h{align-items:flex-end}.cv-on .cal-h h2{font-size:1.18rem;line-height:1.2}
.cv-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;margin:0 -4px 6px}
.cv-d{display:flex!important;flex-direction:column;align-items:center;gap:3px;padding:2px 0 6px!important;border:0!important;background:none!important;border-radius:12px!important;min-width:0;cursor:pointer}
.cv-d small{font-size:.7rem;font-weight:700;color:var(--muted)}
.cv-d b{width:40px;height:40px;max-width:100%;aspect-ratio:1;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:700;background:var(--fill);color:var(--text)}
.cv-d.td b{box-shadow:inset 0 0 0 1.5px var(--text)}
.cv-d.on b{background:var(--ink);color:var(--on-ink);box-shadow:none}
.cv-dots{display:flex;gap:3px;height:6px}.cv-dots i{width:6px;height:6px;border-radius:50%}
.cv-d em{font-style:normal;font-size:.6rem;font-weight:700;color:var(--muted);white-space:nowrap}
.calc{--cp:22px;--cpb:18px}@media(max-width:560px){.calc{--cp:12px;--cpb:12px}}
.cv-list{margin:0 calc(-1*var(--cp)) calc(-1*var(--cpb))}.cv-list:has(+.cv-nx){margin-bottom:0}
.cv-day{border-top:1px solid var(--line);padding:4px 0 8px}
.cv-dh{display:flex!important;align-items:center;gap:6px;width:100%;padding:10px var(--cp) 4px!important;border:0!important;background:none!important;border-radius:0!important;text-align:left;cursor:pointer}
.cv-dh b{font-weight:800;font-size:.95rem}.cv-sp{flex:1}
.cv-dh::after{content:'';width:7px;height:7px;border-right:2px solid var(--muted);border-top:2px solid var(--muted);transform:rotate(45deg);margin-left:4px;opacity:.6}
.cv-ma{font-size:.68rem;font-weight:800;color:var(--on-ink);background:var(--ink);border-radius:999px;padding:1px 7px}
.cv-dh .mdl,.cv-dh .tyb{position:static!important;transform:none!important}
.cv-ev{display:flex!important;align-items:center;gap:12px;width:100%;padding:7px var(--cp)!important;border:0!important;background:none!important;border-radius:0!important;text-align:left;cursor:pointer;font-weight:400}
.cv-ev:hover,.cv-dh:hover{background:var(--sel)!important}
.cv-t{width:44px;flex:none;font-weight:800;font-size:.9rem;font-variant-numeric:tabular-nums}
.cv-ev i{width:4px;align-self:stretch;min-height:32px;border-radius:3px;background:var(--ec);flex:none}
.cv-b{flex:1;min-width:0;display:flex;flex-direction:column}.cv-b b{font-weight:700;font-size:.93rem}.cv-b small{font-size:.8rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cv-no{padding:4px var(--cp) 6px;color:var(--muted);font-size:.86rem}
.cv-ev:disabled,.cv-dh:disabled{cursor:default;opacity:1;color:inherit}
@media(min-width:700px){.cv-d b{width:46px;height:46px}.cv-seg{max-width:380px}.cv-strip{max-width:640px}}
@media(max-width:400px){.cv-on .cal-h h2{font-size:1.05rem}}
.cv-nx{display:flex!important;align-items:center;justify-content:space-between;gap:8px;width:calc(100% + 2*var(--cp));margin:0 calc(-1*var(--cp)) calc(-1*var(--cpb));padding:12px var(--cp)!important;border:0!important;border-top:1px solid var(--line)!important;border-radius:0!important;background:none!important;text-align:left;font-size:.88rem;color:var(--muted);cursor:pointer}.cv-nx b{color:var(--text)}.cv-nx:hover{background:var(--sel)!important}
/* játékos edzés: a lebegő pihenőóra ne takarja az utolsó „Kész” gombot */
#pgGp{padding-bottom:110px}
.ca-v.g{color:var(--st-g,#34506e)}.ca-v.y{color:#c77700}.ca-v.r{color:#23211e}.ca-i{margin-top:12px;line-height:1.45}
/* sorozat-módszerek és súlynapló (sq-) */
.sq-mr{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:flex-end}.sq-mr>label:first-child{flex:1 1 220px}
.gy-det .sq-lg,.sq-lg{flex-direction:row!important;align-items:center;gap:8px!important;padding:6px 10px;border-radius:10px;background:var(--fill);cursor:pointer;color:var(--text)!important;font-weight:600}
.mc .sq-lg input[type=checkbox],.sq-lg input{width:20px!important;height:20px!important;min-width:0;flex:none;padding:0!important;accent-color:var(--ink);margin:0}.sq-lg small{display:block;font-weight:400;color:var(--muted);font-size:.7rem}
.sq-m-st .sq-fs,.sq-m-st .sq-fr,.sq-m-cl .sq-fr,.sq-m-tm .sq-fr,.sq-m-tm .sq-ft,.sq-m-em .sq-fs,.sq-m-em .sq-ft{display:none!important}
.sq-ed{display:flex;flex-direction:column;gap:6px}.sq-m-st .gy-tl input{display:none}
.sq-pre{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.sq-pre button{padding:4px 10px!important;font-size:.8rem!important}
.sq-sth,.sq-str{display:grid;grid-template-columns:18px repeat(4,minmax(0,1fr)) 28px;gap:5px;align-items:center}
.sq-sth span{font-size:.68rem;font-weight:700;color:var(--muted)}.sq-sn{font-weight:800;color:var(--muted);font-size:.85rem}
.sq-str input{min-width:0;width:100%;padding:6px 7px!important;font-size:.86rem}
.sq-x{padding:0!important;width:28px;height:30px;border-radius:8px!important}
.sq-ed>button{align-self:flex-start;padding:5px 12px!important;font-size:.84rem}
.sq-h{font-size:.74rem;line-height:1.4}
.sq-gt{padding:3px 8px!important;font-size:.78rem!important;font-weight:700;margin-right:6px}
.sq-gh{font-size:.8rem;color:var(--muted);margin:2px 0 4px;line-height:1.35}
/* játékos: sorozatsorok */
.sq-tr{margin:2px 0 6px;display:flex;flex-direction:column;gap:4px}
.sq-prev{font-size:.78rem;color:var(--muted);margin:2px 0}.sq-prev b{color:var(--text)}
.sq-r{display:flex;align-items:center;gap:8px;min-height:46px;padding:4px 0;border-radius:12px}
.sq-n{width:20px;flex:none;text-align:center;font-weight:800;font-size:.85rem;color:var(--muted)}
.sq-l{flex:1;min-width:0;font-weight:600;font-size:.92rem;line-height:1.25}.sq-l:empty{flex:0}.sq-l small{display:block;font-size:.72rem;color:var(--muted);font-weight:600}
.sq-kg{width:76px;flex:none;height:40px;border:0;border-radius:10px;background:var(--fill);color:var(--text);font:inherit;font-weight:800;font-size:1.02rem;text-align:center;padding:0 6px}
.sq-kg::placeholder{color:color-mix(in srgb,var(--muted) 70%,transparent);font-weight:700}.sq-kg:focus{outline:2px solid var(--ink);outline-offset:0}
.sq-ck{flex:none;width:38px;height:38px;padding:0!important;border-radius:50%!important;border:2px solid var(--line2)!important;background:transparent!important;display:grid!important;place-items:center;color:transparent}
.sq-ck svg{width:18px;height:18px}.sq-ck.on{background:var(--ink)!important;border-color:var(--ink)!important;color:var(--on-ink)}
.sq-r.on .sq-l{color:var(--muted)}
.sq-pk{flex:1;display:flex;align-items:center;gap:4px;min-width:0}.sq-pk i{width:4px;height:4px;border-radius:50%;background:var(--muted);flex:none;opacity:.6}
.sq-p{min-width:38px;flex:0 1 44px;height:38px;padding:0 6px!important;border-radius:10px!important;font-weight:800!important;font-size:.92rem!important}.sq-p.on{background:var(--ink)!important;color:var(--on-ink)!important}

.sq-go{flex:1;height:40px;padding:0 12px!important;font-weight:800!important;background:var(--ink)!important;color:var(--on-ink)!important;border-radius:12px!important}
.sq-r:has(.sq-go)>.sq-ck{display:none!important}
/* vezetett időzítő */
.sq-to{position:fixed;inset:0;z-index:85;display:none;flex-direction:column;background:var(--bg);color:var(--text);padding:max(12px,env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom))}
.sq-to.on{display:flex}body.sq-lock{overflow:hidden}
.sq-toh{display:flex;align-items:center;gap:10px}.sq-toh b{flex:1;font-size:1.05rem;font-weight:800}
.sq-tom{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center}
.sq-tol{font-size:1.6rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.sq-tog{--p:0%;--c:var(--ink);width:min(72vw,300px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--c) var(--p),var(--fill) 0);position:relative}
.sq-tog::before{content:'';position:absolute;inset:12px;border-radius:50%;background:var(--bg)}
.sq-tog span{position:relative;font-size:clamp(4rem,22vw,7rem);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.sq-toi{font-size:1rem;color:var(--muted);font-weight:600;min-height:1.4em;max-width:340px}
.sq-to[data-k="hold"] .sq-tog{--c:#23211e}.sq-to[data-k="hold"] .sq-tol{color:#23211e}
.sq-to[data-k="pause"] .sq-tog{--c:#34506e}.sq-to[data-k="pause"] .sq-tol{color:#34506e}
.sq-to[data-k="prep"] .sq-tog{--c:#8a7f6c}
.sq-tob{display:grid;grid-template-columns:1fr 1.4fr;gap:10px}.sq-tob button{padding:15px!important;font-size:1.05rem!important;border-radius:14px!important;font-weight:800!important}
/* stáb: rögzített súlyok */
.sq-mx b{display:block}.cch.sq-up{background:color-mix(in srgb,var(--st-g) 15%,transparent);color:var(--st-gt)}.sq-fi td.nm{white-space:normal!important;min-width:80px;font-size:.86rem;line-height:1.2}.sq-fi td,.sq-fi th{font-size:.84rem}.sq-mx .cch{margin:2px 0 0;font-size:.7rem;padding:1px 6px}.sq-fol{margin-top:10px}.sq-fol summary{cursor:pointer;font-weight:700}.sq-fi{margin:10px 0}.sq-fi .wt td,.sq-fi .wt th{padding:5px}
/* edzés eleji / végi emlékeztető */
.gy-no{align-items:center;z-index:80}.gy-nom{max-width:380px;text-align:center;padding:26px 22px 20px}
.gy-noi{width:64px;height:64px;margin:0 auto 14px;border-radius:20px;background:var(--fill);color:var(--text);display:flex;align-items:center;justify-content:center}.gy-noi svg{width:32px;height:32px}
.gy-nom h2{font-size:1.25rem;line-height:1.25;margin:0 0 8px}.gy-nom p{margin:0 0 18px;color:var(--muted);font-size:.93rem;line-height:1.5}
.gy-nom button{width:100%;padding:13px!important;font-size:1rem!important;border-radius:14px!important}
/* adatbekérő: időszak-választó (elmúlt hét / 4 hét átlaga) */
.kh-mode{display:flex;flex-direction:column;gap:8px;margin:-4px 0 14px}.kh-mode:empty{display:none}
.kh-md{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.kh-md>b{min-width:52px}
.kh-seg{display:inline-flex;padding:3px;background:var(--fill);border-radius:11px;gap:2px;max-width:100%}
.kh-seg button{padding:7px 12px!important;border:0!important;border-radius:9px!important;background:transparent!important;font-size:.84rem;font-weight:600;color:var(--muted);white-space:normal;text-align:center}
.kh-seg button.on{background:var(--card)!important;color:var(--text);font-weight:700;box-shadow:0 1px 2px rgba(0,0,0,.1)!important}
.kh-mh{font-size:.8rem;line-height:1.4}
th.kh-4w,td.kh-4w{background-image:linear-gradient(color-mix(in srgb,var(--text) 4%,transparent),color-mix(in srgb,var(--text) 4%,transparent))}
.kl-4w{display:block;font-size:.7rem;color:var(--muted);font-weight:500;white-space:nowrap}.kl-4wx{color:var(--st-rt);font-weight:700}
@media(max-width:600px){.kh-md{flex-direction:column;align-items:stretch;gap:4px}.kh-seg button{flex:1}}
/* felkészülés (fk-) */
.fk-cards{display:grid;gap:10px;margin-bottom:14px}
.fk-card{display:flex!important;align-items:center;gap:14px;width:100%;text-align:left;padding:14px 16px!important;border:1px solid var(--line)!important;border-radius:16px!important;background:var(--card)!important}
.fk-cn{flex:1;min-width:0;display:flex;flex-direction:column}.fk-cn b{font-size:1rem}.fk-cn small{color:var(--muted);font-size:.82rem}
.fk-mini{display:flex;gap:2px;flex:none}.fk-mini i{width:6px;height:22px;border-radius:3px}
.fk-f,.fk-wf{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.fk-f label,.fk-wf label{display:flex;flex-direction:column;gap:4px;font-size:.8rem;font-weight:600;color:var(--muted);min-width:0}
.fk-f .w2,.fk-wf .w2{grid-column:span 2}.fk-f .w4,.fk-wf .w4{grid-column:1/-1}
.fk-f input,.fk-f select,.fk-wf input,.fk-wf select{font:inherit;font-size:.93rem;font-weight:500;color:var(--text);padding:8px 10px;border-radius:10px;border:1px solid transparent;background:var(--fill);width:100%;min-width:0}
.fk-strip{display:flex;gap:3px;margin-top:14px}.fk-sw{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0}.fk-sw i{display:block;width:100%;height:14px;border-radius:4px;background:var(--c)}.fk-sw small{font-size:.66rem;color:var(--muted);font-weight:700}
.fk-leg{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:8px;font-size:.76rem;color:var(--muted)}.fk-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.fk-wk{position:relative;overflow:hidden;padding-left:20px!important}.fk-wk::before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--c)}
.fk-wh{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin-bottom:10px}.fk-wh b{font-size:1rem}
.fk-ss{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.fk-s{display:inline-flex!important;align-items:baseline;gap:6px;padding:6px 10px!important;font-size:.84rem!important;font-weight:500!important}.fk-s small{color:var(--muted)}
.fk-head{margin-bottom:14px}
@media(max-width:600px){.fk-f,.fk-wf{grid-template-columns:repeat(2,minmax(0,1fr))}.fk-mini i{width:4px}}
/* hét összefoglaló: a D-stílushoz igazítva */
.rp-bar{background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.rp-hero{background:var(--card)!important;color:var(--text)!important;box-shadow:none!important;border:1px solid var(--line);border-radius:16px}
.rp-logo{width:44px;height:44px;filter:none}
.rp-k{color:var(--muted);opacity:1;letter-spacing:.06em}.rp h1{color:var(--text);font-weight:800;letter-spacing:-.025em}.rp-s{color:var(--muted);opacity:1}
.rp-kpi div{background:var(--fill);border:0;min-width:70px}.rp-kpi b{font-weight:800}.rp-kpi span{color:var(--muted);opacity:1}
.rp-m span{background:color-mix(in srgb,var(--st-r) 12%,transparent);color:var(--st-rt)}.rp-m i{background:var(--st-r)}
.rp-c{border-color:var(--line);border-radius:16px}
.rp h2{font-weight:800;letter-spacing:-.01em}.rp h2::before{width:8px;height:8px;border-radius:50%}
.rp-mx{background:var(--card);border-color:var(--line)}
.rp-hl{border-color:var(--line);border-left-color:var(--c)}
.rp-t th{color:var(--muted)}
@media print{.rp-hero{border:1px solid #ddd}.rp-kpi div{background:#f2f2f2}}
.acard{border:0;box-shadow:none}.acard h1{text-transform:none;letter-spacing:-.025em;font-size:1.7rem;font-weight:800}
