/* compact.css — kompaktowy układ aplikacji (s150): mniejsze odstępy, niższe przyciski i nagłówki.
   Ładowany w index.html i trainer_panel.html po pozostałych arkuszach, dlatego selektory :root:root:root i !important. */
:root:root:root body{--g-r-lg:14px;--g-r:11px;--g-r-sm:8px}
/* górny pasek: niższy, sam awatar */
:root:root:root body .topbar{min-height:48px!important;height:48px!important;padding:4px 14px!important}
:root:root:root body .topbar .orgBrand{font-size:19px!important}
:root:root:root body .topbar .orgBrand img{width:24px!important;height:24px!important}
:root:root:root body .profName{display:none!important}
:root:root:root body .profBadge{padding:0!important;background:transparent!important;border:0!important}
:root:root:root body .profAvatar{width:36px!important;height:36px!important;font-size:14px!important}
/* przycisk czatu i kółko profilu w górnym pasku – ten sam rozmiar */
:root:root:root body .topbar .hdr-chat{width:36px!important;height:36px!important;margin-right:6px!important}
:root:root:root body .topbar .hdr-chat svg{width:18px!important;height:18px!important}
/* dolne menu: niższe */
:root:root:root body .tabbar{min-height:0!important;padding-top:3px!important;padding-bottom:calc(3px + env(safe-area-inset-bottom))!important}
:root:root:root body .tabbar a{min-height:46px!important}
:root:root:root body .tabbar a{gap:2px!important;padding:4px 0!important}
:root:root:root body .tabbar a span svg{width:20px!important;height:20px!important}
:root:root:root body .tabbar a em{font-size:10.5px!important}
/* nagłówki stron */
:root:root:root body :is(#view,.gpf-host) .pv-head{padding:8px 14px 4px!important;min-height:0!important}
:root:root:root body :is(#view,.gpf-host) .pv-title{font-size:26px!important;line-height:1!important}
:root:root:root body :is(#view,.gpf-host) .pv-head .pv-btn.sm,:root:root:root body :is(#view,.gpf-host) .pv-head .pv-icon{height:34px!important;min-height:34px!important;font-size:13px!important;padding:0 10px!important;border-radius:10px!important}
:root:root:root body :is(#view,.gpf-host) .pv-head .pv-icon{width:34px!important;padding:0!important}
:root:root:root body :is(#view,.gpf-host) .pv-head .pv-btn svg{width:15px!important;height:15px!important}
/* zakładki i przełączniki */
:root:root:root body :is(#view,.gpf-host) .pv-tabs{margin:2px 14px 0!important;padding:3px!important;border-radius:11px!important}
:root:root:root body :is(#view,.gpf-host) .pv-tabs button{height:32px!important;min-height:32px!important;font-size:13.5px!important;border-radius:8px!important}
:root:root:root body :is(#view,.gpf-host) .pv-seg,:root:root:root body :is(#view,.gpf-host) .sv-seg{padding:3px!important;border-radius:10px!important}
:root:root:root body :is(#view,.gpf-host) .pv-seg button,:root:root:root body :is(#view,.gpf-host) .sv-seg button{height:30px!important;min-height:30px!important;font-size:13px!important;border-radius:8px!important}
/* karty i odstępy */
:root:root:root body :is(#view,.gpf-host) .pv-panel{padding:10px 14px 0!important}
:root:root:root body :is(#view,.gpf-host) .pv-card{padding:12px!important;border-radius:14px!important}
:root:root:root body :is(#view,.gpf-host) .pv-panel>*+*,:root:root:root body :is(#view,.gpf-host) .plv-edpanel>*+*{margin-top:10px!important}
:root:root:root body :is(#view,.gpf-host) .pv-h2{font-size:18px!important}
:root:root:root body :is(#view,.gpf-host) .pv-big{font-size:40px!important;line-height:.9!important}
:root:root:root body :is(#view,.gpf-host) .pv-list{gap:0!important}
:root:root:root body :is(#view,.gpf-host) .pv-btn{min-height:42px!important;height:42px!important;font-size:14px!important;border-radius:11px!important}

/* ===== TRENING ===== */
:root:root:root body :is(#view,.gpf-host) .tv-head{padding:6px 14px 4px!important;gap:2px!important}
:root:root:root body :is(#view,.gpf-host) .tv-dateline{height:24px!important}
:root:root:root body :is(#view,.gpf-host) .tv-datetxt{font-size:12px!important}
:root:root:root body :is(#view,.gpf-host) .tv-datebtn{width:26px!important;height:26px!important;border-radius:8px!important}
:root:root:root body :is(#view,.gpf-host) .tv-datebtn svg{width:14px!important;height:14px!important}
:root:root:root body :is(#view,.gpf-host) .tv-title{font-size:24px!important}
:root:root:root body :is(#view,.gpf-host) .tv-titlerow{min-height:0!important;margin:0!important}
:root:root:root body :is(#view,.gpf-host) .tv-pwbtn{height:30px!important;min-height:30px!important;font-size:12.5px!important;padding:0 10px!important}
:root:root:root body :is(#view,.gpf-host) .tv-sub{font-size:12px!important;margin:0!important}
:root:root:root body :is(#view,.gpf-host) .tv-prog{margin-top:4px!important}
:root:root:root body :is(#view,.gpf-host) .tv-progbar{height:5px!important}
:root:root:root body :is(#view,.gpf-host) .tv-prog span{font-size:12px!important}
:root:root:root body :is(#view,.gpf-host) .tv-card{padding:10px 10px 10px!important}
:root:root:root body :is(#view,.gpf-host) .tv-cardhead{gap:6px!important}
:root:root:root body :is(#view,.gpf-host) .tv-kicker{font-size:10.5px!important}
:root:root:root body :is(#view,.gpf-host) .tv-cardtitle{font-size:17px!important;line-height:1.2!important}
:root:root:root body :is(#view,.gpf-host) .tv-cardhead .pv-muted{font-size:12px!important}
:root:root:root body :is(#view,.gpf-host) .tv-iconbtn{width:32px!important;height:32px!important;min-height:32px!important}
:root:root:root body :is(#view,.gpf-host) .tv-box{padding:8px 34px 8px 10px!important;margin:8px 0!important;border-radius:10px!important;gap:8px!important}
:root:root:root body :is(#view,.gpf-host) .tv-boxico svg{width:16px!important;height:16px!important}
:root:root:root body :is(#view,.gpf-host) .tv-boxtag{font-size:10.5px!important}
:root:root:root body :is(#view,.gpf-host) .tv-box p{font-size:13px!important;line-height:1.35!important}
:root:root:root body :is(#view,.gpf-host) .tv-box .tv-boxmeta{display:none!important}
:root:root:root body :is(#view,.gpf-host) .tv-hintfold{width:28px!important;height:28px!important;top:4px!important;right:4px!important}
:root:root:root body :is(#view,.gpf-host) .tv-sethead{margin:0 0 -4px!important;font-size:10px!important}
:root:root:root body :is(#view,.gpf-host) .tv-sets{gap:6px!important}
:root:root:root body :is(#view,.gpf-host) .tv-setrow{gap:6px!important;align-items:start!important}
:root:root:root body :is(#view,.gpf-host) .tv-setn{height:36px!important;font-size:13px!important}
:root:root:root body :is(#view,.gpf-host) .tv-field{gap:1px!important}
:root:root:root body :is(#view,.gpf-host) .tv-in{height:36px!important;min-height:36px!important;font-size:17px!important;border-radius:9px!important}
:root:root:root body :is(#view,.gpf-host) .tv-field small{font-size:10px!important;line-height:1.3!important}
:root:root:root body :is(#view,.gpf-host) .tv-more{width:28px!important;height:36px!important;min-height:36px!important}
:root:root:root body :is(#view,.gpf-host) .tv-check{width:40px!important;height:36px!important;min-height:36px!important;border-radius:9px!important}
:root:root:root body :is(#view,.gpf-host) .tv-check svg,:root:root:root body :is(#view,.gpf-host) .tv-more svg{width:17px!important;height:17px!important}
:root:root:root body :is(#view,.gpf-host) .tv-exnote .tv-lbl{font-size:12px!important;margin-bottom:4px!important}
:root:root:root body :is(#view,.gpf-host) .tv-exnote{padding-top:0!important;margin-top:4px!important}
:root:root:root body :is(#view,.gpf-host) .tv-textarea{min-height:36px!important;height:36px!important;padding:7px 10px!important;font-size:14px!important;margin-bottom:8px!important}
:root:root:root body :is(#view,.gpf-host) .tv-actions{gap:8px!important;margin-top:0!important}
:root:root:root body :is(#view,.gpf-host) .tv-sechead .pv-h2{font-size:18px!important}
:root:root:root body :is(#view,.gpf-host) .tv-planrow{min-height:0!important;padding:8px 12px!important;gap:10px!important;border-radius:0!important;border-bottom:1px solid var(--g-line)!important}
:root:root:root body :is(#view,.gpf-host) .tv-num{width:26px!important;height:26px!important;font-size:13px!important;border-radius:7px!important}
:root:root:root body :is(#view,.gpf-host) .tv-planname b{font-size:14px!important}
:root:root:root body :is(#view,.gpf-host) .tv-planname span{font-size:12px!important}
:root:root:root body :is(#view,.gpf-host) .tv-planrow .pv-pill,:root:root:root body :is(#view,.gpf-host) .tv-todo{font-size:10.5px!important}
:root:root:root body :is(#view,.gpf-host) .tv-sec .pv-list,:root:root:root body :is(#view,.gpf-host) .pv-sec>.pv-list{border-radius:14px!important;overflow:hidden!important;background:var(--g-surface)!important}
:root:root:root body :is(#view,.gpf-host) .tv-addbtn{height:40px!important;min-height:40px!important}
/* minutnik przerwy: jedna cienka belka */
:root:root:root:not(.kb-open) body .tv-timer{padding:5px 6px 5px 12px!important;border-radius:14px!important;min-height:0!important;gap:6px!important;bottom:calc(64px + env(safe-area-inset-bottom))!important}
:root:root:root body .tv-tdisp{flex-direction:row!important;align-items:center!important;gap:8px!important;height:auto!important}
:root:root:root body .tv-tlabel{font-size:11px!important}
:root:root:root body .tv-tlabel span{display:none}
:root:root:root body .tv-ttime{font-size:22px!important;line-height:1!important}
:root:root:root body .tv-tbtn{height:36px!important;min-height:36px!important;font-size:13px!important;border-radius:10px!important;padding:0 10px!important}
:root:root:root body .tv-tbtn.icon{width:36px!important;padding:0!important}

/* ===== PLAN ===== */
:root:root:root body :is(#view,.gpf-host) .plv-weekcard{padding:12px!important}
:root:root:root body :is(#view,.gpf-host) .plv-week-main{gap:10px!important}
:root:root:root body :is(#view,.gpf-host) .plv-week-sub{font-size:13.5px!important;padding-top:0!important}
:root:root:root body :is(#view,.gpf-host) .plv-week-sub .pv-muted{font-size:12.5px!important}
:root:root:root body :is(#view,.gpf-host) .plv-rotnote{display:none!important}
:root:root:root body :is(#view,.gpf-host) .plv-wstrip{margin-top:8px!important;gap:6px!important}
:root:root:root body :is(#view,.gpf-host) .plv-wchip{min-height:0!important;padding:5px 10px 5px 6px!important;border-radius:10px!important;gap:6px!important}
:root:root:root body :is(#view,.gpf-host) .plv-wchip-n{width:22px!important;height:22px!important;font-size:13px!important;border-radius:6px!important}
:root:root:root body :is(#view,.gpf-host) .plv-wchip-t{font-size:13px!important;line-height:1.15!important}
:root:root:root body :is(#view,.gpf-host) .plv-wchip-t small{font-size:10.5px!important}
:root:root:root body :is(#view,.gpf-host) .plv-dayhead{margin:2px 2px 6px!important;gap:2px!important}
:root:root:root body :is(#view,.gpf-host) .plv-dayhead .pv-pill{font-size:10px!important;padding:2px 7px!important}
:root:root:root body :is(#view,.gpf-host) .plv-dayhead .pv-muted{font-size:12px!important}
:root:root:root body :is(#view,.gpf-host) .plv-exlist{gap:0!important;border-radius:14px!important;overflow:hidden!important;background:var(--g-surface)!important}
:root:root:root body :is(#view,.gpf-host) .plv-ex{padding:9px 12px!important;gap:10px!important;border-radius:0!important;border-bottom:1px solid var(--g-line)!important;align-items:center!important;background:transparent!important}
:root:root:root body :is(#view,.gpf-host) .plv-num{width:24px!important;height:24px!important;font-size:12px!important;border-radius:7px!important}
:root:root:root body :is(#view,.gpf-host) .plv-ex-body{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;gap:4px 10px!important;min-width:0!important}
:root:root:root body :is(#view,.gpf-host) .plv-ex .plv-ex-name{flex:1 1 150px!important;min-width:0!important}
:root:root:root body :is(#view,.gpf-host) .plv-ex .plv-ex-name h3{overflow-wrap:normal!important;word-break:normal!important}
:root:root:root body :is(#view,.gpf-host) .plv-ex-body>.plv-rx{margin-left:auto!important;justify-content:flex-end!important;gap:2px 5px!important}
:root:root:root body :is(#view,.gpf-host) .plv-ex-body>.plv-rx span{font-size:12px!important}
:root:root:root body :is(#view,.gpf-host) .plv-ex-body>.plv-notes,:root:root:root body :is(#view,.gpf-host) .plv-ex-body>.plv-video{flex:1 0 100%!important;margin:0!important}
:root:root:root body :is(#view,.gpf-host) .plv-notes summary{display:inline-flex;align-items:center;gap:5px;list-style:none;cursor:pointer;font-size:12px;font-weight:600;color:var(--g-text-2,#b9bcb0);padding:2px 8px 2px 6px;border-radius:999px;background:var(--g-raised,#22251f)}
:root:root:root body :is(#view,.gpf-host) .plv-notes summary::-webkit-details-marker{display:none}
:root:root:root body :is(#view,.gpf-host) .plv-notes summary svg{width:13px;height:13px;fill:none;stroke:var(--g-accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
:root:root:root body :is(#view,.gpf-host) .plv-notes summary em{font-style:normal;color:var(--g-text-3,#8a8d82)}
:root:root:root body :is(#view,.gpf-host) .plv-notes[open] summary{color:var(--g-text)}
:root:root:root body :is(#view,.gpf-host) .plv-notes .plv-rxnotes,:root:root:root body :is(#view,.gpf-host) .plv-notes .plv-note{margin:6px 0 2px!important;font-size:12.5px!important}
:root:root:root body :is(#view,.gpf-host) .plv-notes .plv-note{padding:6px 8px!important;border-radius:8px!important}
:root:root:root body :is(#view,.gpf-host) .plv-ex .plv-ex-name{padding:0!important;gap:2px 6px!important}
:root:root:root body :is(#view,.gpf-host) .plv-ex .plv-ex-name h3{font-size:14px!important}
:root:root:root body :is(#view,.gpf-host) .plv-ex .plv-ex-name .pv-tag{font-size:10px!important;padding:1px 6px!important}
:root:root:root body :is(#view,.gpf-host) .plv-rx{flex:none!important}
:root:root:root body :is(#view,.gpf-host) .plv-rx b{font-size:16px!important}

/* ===== PROGRES ===== */
/* „Co się dzieje”: mniejsze karty, rekordy jako ciemna karta z akcentem, rekord = 1 linijka */
:root:root:root body :is(#view,.gpf-host) .pv-ins{gap:8px!important}
:root:root:root body :is(#view,.gpf-host) .pv-insight{padding:10px 12px!important;gap:10px!important;border-radius:14px!important}
:root:root:root body :is(#view,.gpf-host) .pv-insight .pv-ico svg{width:18px!important;height:18px!important}
:root:root:root body :is(#view,.gpf-host) .pv-insight.record .pv-ins-rec{color:var(--g-accent-ink,#141510)!important}
:root:root:root body :is(#view,.gpf-host) .pv-ins-tag{font-size:10.5px!important}
:root:root:root body :is(#view,.gpf-host) .pv-ins-title{font-size:14px!important;line-height:1.3!important}
:root:root:root body :is(#view,.gpf-host) .pv-ins-text{font-size:12.5px!important;line-height:1.35!important}
:root:root:root body :is(#view,.gpf-host) .pv-ins-recs{gap:3px!important;margin-top:4px!important}
:root:root:root body :is(#view,.gpf-host) .pv-ins-rec{display:flex!important;justify-content:space-between;gap:8px;font-size:12.5px!important}
:root:root:root body :is(#view,.gpf-host) .pv-ins-rec b{font-weight:500!important;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:root:root:root body :is(#view,.gpf-host) .pv-ins-rec span{flex:none;font-weight:600}
:root:root:root body :is(#view,.gpf-host) .pv-ins-more{font-size:12.5px!important;padding-top:4px!important}
:root:root:root body :is(#view,.gpf-host) .pv-week{padding:12px!important}
:root:root:root body :is(#view,.gpf-host) .pv-week-main{gap:10px!important;margin:6px 0 8px!important}
:root:root:root body :is(#view,.gpf-host) .pv-week-sub{font-size:13px!important;padding-top:0!important}
:root:root:root body :is(#view,.gpf-host) .pv-label{font-size:13px!important}
:root:root:root body :is(#view,.gpf-host) .pv-days{gap:4px!important}
:root:root:root body :is(#view,.gpf-host) .pv-day{gap:2px!important;font-size:10.5px!important}
:root:root:root body :is(#view,.gpf-host) .pv-dot{width:26px!important;height:26px!important;font-size:10.5px!important}
:root:root:root body :is(#view,.gpf-host) .pv-stats3{padding-top:8px!important;margin-top:8px!important}
:root:root:root body :is(#view,.gpf-host) .pv-stats3 span,:root:root:root body :is(#view,.gpf-host) .pv-stats3 em{font-size:11px!important}
:root:root:root body :is(#view,.gpf-host) .pv-stats3 b{font-size:20px!important}
:root:root:root body :is(#view,.gpf-host) .pv-wchips{gap:6px!important}
:root:root:root body :is(#view,.gpf-host) .pv-wchip{min-height:0!important;padding:5px 10px!important;border-radius:10px!important}
:root:root:root body :is(#view,.gpf-host) .pv-wchip b{font-size:12.5px!important}
:root:root:root body :is(#view,.gpf-host) .pv-wchip span{font-size:11px!important}
:root:root:root body :is(#view,.gpf-host) .pv-verdict{padding:12px!important}
:root:root:root body :is(#view,.gpf-host) .pv-verdict-text{font-size:15px!important;margin:4px 0 8px!important}
:root:root:root body :is(#view,.gpf-host) .pv-counts{gap:6px!important}
:root:root:root body :is(#view,.gpf-host) .pv-counts>div{padding:6px 4px!important;border-radius:10px!important}
:root:root:root body :is(#view,.gpf-host) .pv-counts b{font-size:20px!important}
:root:root:root body :is(#view,.gpf-host) .pv-counts span{font-size:10.5px!important}
:root:root:root body :is(#view,.gpf-host) .pv-cmp{padding:12px!important}
:root:root:root body :is(#view,.gpf-host) .pv-cmp h3{font-size:15px!important}
:root:root:root body :is(#view,.gpf-host) .pv-sets td,:root:root:root body :is(#view,.gpf-host) .pv-sets th{padding-top:5px!important;padding-bottom:5px!important;font-size:13px!important}
:root:root:root body :is(#view,.gpf-host) .pv-cmp-foot>div{padding:6px 8px!important}
:root:root:root body :is(#view,.gpf-host) .pv-link{min-height:34px!important;height:34px!important}

/* ===== PROFIL ===== */
:root:root:root body :is(#view,.gpf-host) .sv-hero{padding:12px!important;gap:12px!important}
:root:root:root body :is(#view,.gpf-host) .sv-avatar{width:44px!important;height:44px!important;font-size:20px!important}
:root:root:root body :is(#view,.gpf-host) .sv-name{font-size:19px!important}
:root:root:root body :is(#view,.gpf-host) .sv-email{font-size:12.5px!important}
:root:root:root body :is(#view,.gpf-host) .sv-orgchip{display:none!important}
:root:root:root body :is(#view,.gpf-host) .sv-group{gap:4px!important}
:root:root:root body :is(#view,.gpf-host) .sv-cap{font-size:10.5px!important;margin:0 4px 2px!important}
:root:root:root body :is(#view,.gpf-host) .sv-row,:root:root:root body :is(#view,.gpf-host) .sv-opt,:root:root:root body :is(#view,.gpf-host) .sv-hints{padding:8px 12px 8px 10px!important;min-height:0!important;gap:10px!important}
:root:root:root body :is(#view,.gpf-host) .sv-ico{width:30px!important;height:30px!important;border-radius:8px!important}
:root:root:root body :is(#view,.gpf-host) .sv-ico svg{width:16px!important;height:16px!important}
:root:root:root body :is(#view,.gpf-host) .sv-rt{font-size:14px!important}
:root:root:root body :is(#view,.gpf-host) .sv-rt span{font-size:12px!important;line-height:1.3!important}
:root:root:root body :is(#view,.gpf-host) .sv-switch{transform:scale(.85)}
:root:root:root body :is(#view,.gpf-host) .sv-hints .sv-seg{margin-top:6px!important}
:root:root:root body :is(#view,.gpf-host) .sv-rt b{font-size:14.5px!important}
:root:root:root body :is(#view,.gpf-host) .tv-datebtn{width:26px!important;height:26px!important;min-height:26px!important;min-width:0!important}
:root:root:root body :is(#view,.gpf-host) .pv-week-main{margin:2px 0 6px!important}
:root:root:root body :is(#view,.gpf-host) .pv-day.today .pv-dot{box-shadow:none!important;outline:2px solid var(--g-text);outline-offset:-2px}
:root:root:root body :is(#view,.gpf-host) .pv-sec{margin-top:12px!important}
:root:root:root body :is(#view,.gpf-host) .tv-hintmini{min-height:32px!important;font-size:13px!important;border-radius:10px!important;margin:8px 0!important}
:root:root:root body :is(#view,.gpf-host) #tvCard{gap:8px!important}
:root:root:root body :is(#view,.gpf-host) #tvCard>.tv-hintmini,:root:root:root body :is(#view,.gpf-host) #tvCard>.tv-box{margin:0!important}
:root:root:root body :is(#view,.gpf-host) .tv-cardhead{min-height:0!important}
/* karta bieżącego ćwiczenia – najważniejsza rzecz w dniu treningu: żółta poświata od góry */
:root:root:root body :is(#view,.gpf-host) #tvCard{border:0!important;background:linear-gradient(180deg,rgba(215,255,63,.13) 0%,rgba(215,255,63,.03) 38%,var(--g-surface,#181a16) 70%)!important;box-shadow:inset 0 1px 0 rgba(215,255,63,.35),0 10px 28px rgba(0,0,0,.55)!important}

/* ===== PANEL TRENERA (trainer_panel.html) ===== */
:root:root:root body .tr-topbar{padding-top:4px!important;padding-bottom:4px!important;gap:8px!important}
:root:root:root body .tr-topbar .tr-brand{font-size:19px!important;min-height:36px!important}
:root:root:root body .tr-topbar .tr-brand img{height:24px!important}
:root:root:root body .tr-topbar .tr-kicker{font-size:10px!important}
:root:root:root body .tr-topbar .tr-applink{min-height:32px!important;font-size:13px!important;padding:0 10px!important}
:root:root:root body :is(#trApp,.tr-modalhost) .tr-side .pv-title{font-size:26px!important}
:root:root:root body :is(#trApp,.tr-modalhost) .tr-name{font-size:24px!important}
:root:root:root body :is(#trApp,.tr-modalhost) .tr-client{grid-template-columns:36px minmax(0,1fr) auto!important;gap:10px!important;padding:8px 12px!important;border-radius:12px!important}
:root:root:root body :is(#trApp,.tr-modalhost) .tr-cstats{gap:6px!important}
:root:root:root body :is(#trApp,.tr-modalhost) .tr-cstats>div{padding:6px 10px!important;border-radius:10px!important}
:root:root:root body :is(#trApp,.tr-modalhost) .tr-cstats b{font-size:16px!important}
:root:root:root body :is(#trApp,.tr-modalhost) .tr-tabs{margin:0 14px!important;padding:3px!important;border-radius:11px!important}
:root:root:root body :is(#trApp,.tr-modalhost) .tr-tabs button{min-height:32px!important;font-size:13px!important;padding:0 11px!important;border-radius:8px!important}
:root:root:root body :is(#trApp,.tr-modalhost) .tr-panel{padding:10px 14px 0!important;gap:10px!important}
:root:root:root body :is(#trApp,.tr-modalhost) .tr-livebadge{font-size:19px!important}
:root:root:root body :is(#trApp,.tr-modalhost) .tr-draft{padding:10px!important;border-radius:12px!important;gap:6px!important}
:root:root:root body :is(#trApp,.tr-modalhost) .tr-exbtn{min-height:44px!important;padding:6px 10px!important;border-radius:11px!important}
:root:root:root body :is(#trApp,.tr-modalhost) .tr-sfname{font-size:20px!important}
:root:root:root body :is(#trApp,.tr-modalhost) .tr-setrow{grid-template-columns:40px minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important;padding:8px!important;border-radius:12px!important}
:root:root:root body :is(#trApp,.tr-modalhost) .tr-setn b{font-size:24px!important}
:root:root:root body :is(#trApp,.tr-modalhost) .tr .tr-in{height:44px!important;min-height:44px!important;font-size:22px!important}
:root:root:root body :is(#trApp,.tr-modalhost) .tr-savebtn{min-height:46px!important;font-size:15px!important}
:root:root:root body :is(#trApp,.tr-modalhost) .tr-jset{min-height:36px!important}
:root:root:root body :is(#trApp,.tr-modalhost) .tr-menu button{min-height:38px!important}
:root:root:root body :is(#trApp,.tr-modalhost) .tr-modalbox{border-radius:16px!important}
:root:root:root body :is(#trApp,.tr-modalhost) .tr-measform{padding:10px!important;border-radius:12px!important}
:root:root:root body :is(#trApp,.tr-modalhost) .tr-rhead h3{font-size:18px!important}
:root:root:root body #trApp .tr-invite summary{padding:10px 12px!important}
:root:root:root body #trApp #view .tr-othercard{padding:10px 12px!important}
:root:root:root body :is(#trApp,.tr-modalhost) .tr-client .tr-av:not(.lg){width:36px!important;height:36px!important;font-size:13px!important}
:root:root:root body :is(#trApp,.tr-modalhost) .tr-av.lg{width:44px!important;height:44px!important;font-size:15px!important}
/* podstrony (Profil → Dane konta itd., historia ćwiczenia): nagłówek jak na głównych ekranach */
:root:root:root body :is(#view,.gpf-host) .pv-extitle{font-size:26px!important;line-height:1!important}
:root:root:root body :is(#view,.gpf-host) .pv-back{min-height:30px!important;font-size:13px!important}
:root:root:root body :is(#view,.gpf-host) .pv-back svg{width:18px!important;height:18px!important}
:root:root:root body :is(#view,.gpf-host) .pv-exhead,:root:root:root body :is(#view,.gpf-host) .sv-pagehead{gap:2px!important;padding-top:4px!important;padding-bottom:2px!important;margin:0!important}
:root:root:root body :is(#view,.gpf-host) .sv-exrow{padding:7px 12px 7px 14px!important;min-height:0!important}
:root:root:root body :is(#view,.gpf-host) .sv-guide{padding:10px 12px!important}
:root:root:root body :is(#view,.gpf-host) .sv-sub input.input,:root:root:root body :is(#view,.gpf-host) .sv-sub .input:not(textarea),:root:root:root body :is(#view,.gpf-host) .sv-sub select{min-height:42px!important;height:42px!important;font-size:15px!important;border-radius:10px!important}
:root:root:root body :is(#view,.gpf-host) .sv-sub label{font-size:13px!important}
/* s180: logowanie / rejestracja – zwarty formularz (pola 16px, żeby iPhone nie powiększał ekranu) */
:root:root:root body :is(#view,.gpf-host) .sv-auth{padding:14px!important;gap:10px!important}
:root:root:root body :is(#view,.gpf-host) .sv-auth-top{gap:10px!important}
:root:root:root body :is(#view,.gpf-host) .sv-logo{width:38px!important;height:38px!important;border-radius:11px!important}
:root:root:root body :is(#view,.gpf-host) .sv-logo svg{width:21px!important;height:21px!important}
:root:root:root body :is(#view,.gpf-host) .sv-auth-title{font-size:22px!important}
:root:root:root body :is(#view,.gpf-host) .sv-auth-top p{margin-top:2px!important;font-size:12.5px!important;line-height:1.3!important}
:root:root:root body :is(#view,.gpf-host) .sv-stats{gap:6px!important;margin:0!important}
:root:root:root body :is(#view,.gpf-host) .sv-stats div{padding:8px 10px!important;border-radius:10px!important;flex-direction:column!important;align-items:flex-start!important;gap:2px!important;min-width:0!important}
:root:root:root body :is(#view,.gpf-host) .sv-stats b{white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
:root:root:root body :is(#view,.gpf-host) .sv-stats b{font-size:22px!important}
:root:root:root body :is(#view,.gpf-host) .sv-stats span{font-size:11.5px!important}
:root:root:root body :is(#view,.gpf-host) .sv-form{gap:9px!important}
:root:root:root body :is(#view,.gpf-host) .sv-auth .sv-field{gap:4px!important}
:root:root:root body :is(#view,.gpf-host) .sv-auth .sv-field>span,:root:root:root body :is(#view,.gpf-host) .sv-auth .sv-field>label{font-size:12px!important}
:root:root:root body :is(#view,.gpf-host) .sv-auth .input{min-height:42px!important;height:42px!important;font-size:16px!important;border-radius:10px!important;padding-top:0!important;padding-bottom:0!important}
:root:root:root body :is(#view,.gpf-host) .sv-auth .sv-namepair{gap:8px!important}
:root:root:root body :is(#view,.gpf-host) .sv-auth .sv-pass .pv-icon{top:1px!important;height:40px!important;width:40px!important}
:root:root:root body :is(#view,.gpf-host) .sv-auth .sv-hint{font-size:11.5px!important}
:root:root:root body :is(#view,.gpf-host) .sv-auth .sv-checks{gap:0!important}
:root:root:root body :is(#view,.gpf-host) .sv-auth .sv-check{min-height:36px!important;padding:5px 0!important;gap:10px!important;font-size:13px!important;line-height:1.35!important}
:root:root:root body :is(#view,.gpf-host) .sv-auth .sv-check input{width:20px!important;height:20px!important;border-radius:6px!important}
:root:root:root body :is(#view,.gpf-host) .sv-auth .sv-check input::after{width:10px!important;height:6px!important}
:root:root:root body :is(#view,.gpf-host) .sv-auth .sv-check i{font-size:11px!important}
:root:root:root body :is(#view,.gpf-host) .sv-submit{min-height:44px!important;height:44px!important;font-size:15px!important}
/* zakładki (Trening/Dziennik, Plan/Suplementy, Trening/Ćwiczenia/Ciało) przewijają się razem ze stroną – bez „pływającego” paska nad treścią */
:root:root:root body #view .pv-tabs{position:static!important;box-shadow:none!important}
/* karta wyzwania w Progresie: miejsce na krzyżyk, żeby nie nachodził na „Szczegóły ›” */
:root:root:root body :is(#view,.gpf-host) .pv-chalmini{padding:8px 30px 8px 10px!important;gap:6px!important}
:root:root:root body :is(#view,.gpf-host) .pv-chalmini-a{gap:8px!important}
:root:root:root body :is(#view,.gpf-host) .pv-chalmini-ic{font-size:15px!important}
:root:root:root body :is(#view,.gpf-host) .pv-chalmini-i{font-size:12px;color:var(--t2);white-space:nowrap;flex:none}
:root:root:root body :is(#view,.gpf-host) .pv-chalmini-go{font-size:16px!important;line-height:1}
:root:root:root body :is(#view,.gpf-host) .pv-chalmini .pv-chal-bar.sm{height:4px!important}
:root:root:root body :is(#view,.gpf-host) .pv-chalmini-x{top:3px!important;right:3px!important;transform:none!important;width:22px!important;height:22px!important;min-height:0!important;padding:0!important;border-radius:7px!important;display:flex!important;align-items:center;justify-content:center;font-size:11px!important;line-height:1!important;opacity:.75}
:root:root:root body :is(#view,.gpf-host) .pv-chalmini-x svg{width:12px!important;height:12px!important}
:root:root:root body :is(#view,.gpf-host) .pv-chalmini-t b{font-size:13px!important}
/* wybór ćwiczenia (Trening bez planu): wyszukiwarka i filtry partii kompaktowo, filtry wyśrodkowane */
:root:root:root body :is(#view,.gpf-host) .pv-search{height:40px!important;border-radius:11px!important;padding:0 12px!important;gap:8px!important}
:root:root:root body :is(#view,.gpf-host) .pv-search input{height:38px!important;min-height:0!important;font-size:14px!important;padding-top:0!important;padding-bottom:0!important}
:root:root:root body :is(#view,.gpf-host) .pv-search svg{width:17px!important;height:17px!important}
:root:root:root body :is(#view,.gpf-host) .pv-chips{gap:6px!important}
:root:root:root body :is(#view,.gpf-host) .pv-chip{min-height:30px!important;padding:0 12px!important;font-size:13px!important}
:root:root:root body :is(#view,.gpf-host) .tv-partchips{justify-content:center!important;margin-top:8px!important}
:root:root:root body :is(#view,.gpf-host) .tv-empty{padding:10px 12px!important}
:root:root:root body :is(#view,.gpf-host) .tv-empty p,:root:root:root body :is(#view,.gpf-host) .pv-empty{font-size:13px!important;line-height:1.4!important}
/* Plan: karta „Prześlij swój plan” – przycisk wyśrodkowany w karcie */
:root:root:root body :is(#view,.gpf-host) .plv-sendcard:not(.pend){display:grid!important;grid-template-columns:auto minmax(0,1fr);column-gap:10px;row-gap:0!important;align-items:start}
:root:root:root body :is(#view,.gpf-host) .plv-sendcard:not(.pend)>div{display:contents}
:root:root:root body :is(#view,.gpf-host) .plv-sendcard:not(.pend)>.plv-sendico{grid-row:1 / span 2;width:34px!important;height:34px!important}
:root:root:root body :is(#view,.gpf-host) .plv-sendcard:not(.pend) b{grid-column:2;font-size:14.5px!important}
:root:root:root body :is(#view,.gpf-host) .plv-sendcard:not(.pend) p{grid-column:2;font-size:12.5px!important;margin:2px 0 0!important}
:root:root:root body :is(#view,.gpf-host) .plv-sendcard:not(.pend) .pv-btn{grid-column:1 / -1;justify-self:center;margin-top:8px}
/* Powiadomienia (toast) na dole: szerokość wg tekstu, ptaszek nie spada do drugiej linijki */
:root:root:root body #toast-container .toast{width:max-content!important;max-width:calc(100vw - 32px)!important;box-sizing:border-box;text-align:center;padding:9px 16px!important;line-height:1.3}
/* Zgody (checkboxy) wszędzie ciaśniej – bez dużych odstępów między nimi */
:root:root:root body :is(#view,.gpf-host) .sv-check{min-height:32px!important;padding:4px 0!important;gap:10px!important;font-size:13.5px!important;line-height:1.35!important;align-items:center!important}
:root:root:root body :is(#view,.gpf-host) .sv-check input{width:22px!important;height:22px!important;border-radius:6px!important}
:root:root:root body :is(#view,.gpf-host) .pv-form>.sv-check+.sv-check{margin-top:-10px}
/* Standard rozmiarów filtrów w całej aplikacji:
   filtry-pigułki 30px / 13px, przełączniki (segmenty) 30px / 13px, wyszukiwarka 40px */
:root:root:root body :is(#view,.gpf-host,#trApp,.tr-modalhost) :is(.pv-chip,.cm-chips button,.rk-exchips button,.tr-partchips button,.tr-pwchips button,.tr-rchip){min-height:30px!important;height:auto!important;padding:0 12px!important;font-size:13px!important;line-height:1.2!important}
:root:root:root body :is(#view,.gpf-host,#trApp,.tr-modalhost) :is(.pv-chips,.cm-chips,.rk-exchips,.tr-partchips,.tr-pwchips){gap:6px!important}
:root:root:root body :is(#view,.gpf-host,#trApp,.tr-modalhost) :is(.pv-seg,.sv-seg,.sv-seg2,.rk-seg,.cm-seg,.tr-sortseg,.tv-jseg){padding:3px!important;border-radius:10px!important;gap:3px!important}
:root:root:root body :is(#view,.gpf-host,#trApp,.tr-modalhost) :is(.pv-seg,.sv-seg,.sv-seg2,.rk-seg,.cm-seg,.tr-sortseg,.tv-jseg) button{height:30px!important;min-height:30px!important;font-size:13px!important;border-radius:8px!important}
:root:root:root body :is(#view,.gpf-host,#trApp,.tr-modalhost) .pv-chip span{font-size:12px!important}
/* Panel trenera: zakładki klienta przewijają się razem ze stroną – bez pływającego paska */
:root:root:root body :is(#trApp,.tr-modalhost) .tr-tabs{position:static!important;box-shadow:none!important}
/* Filtry zawsze w jednym wierszu – przesuwane palcem w bok, bez zawijania do drugiej linijki */
:root:root:root body :is(#view,.gpf-host,#trApp,.tr-modalhost) :is(.pv-chips,.cm-chips,.rk-exchips,.tr-partchips,.tr-pwchips,.tv-partchips){flex-wrap:nowrap!important;overflow-x:auto!important;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
:root:root:root body :is(#view,.gpf-host,#trApp,.tr-modalhost) :is(.pv-chips,.cm-chips,.rk-exchips,.tr-partchips,.tr-pwchips,.tv-partchips)::-webkit-scrollbar{display:none}
:root:root:root body :is(#view,.gpf-host,#trApp,.tr-modalhost) :is(.pv-chips,.cm-chips,.rk-exchips,.tr-partchips,.tr-pwchips,.tv-partchips)>*{flex:none!important;white-space:nowrap!important;width:auto!important}
:root:root:root body :is(#view,.gpf-host) .tv-partchips{justify-content:safe center!important}
:root:root:root body #view .rk-exchips{display:flex!important;gap:6px!important}

/* ===== s194 – wspólny standard rozmiarów (aplikacja i panel trenera) =====
   Tytuł strony 26 · nagłówek karty 18 · przycisk 40/14 · mały przycisk 32/13
   przycisk w pasku u góry 34/13.5 · pole tekstowe 40 · zakładki 32/13.5 · filtry 30/13 */
:root:root:root body :is(#view,.gpf-host) .tv-title{font-size:26px!important;line-height:1!important}
:root:root:root body :is(#view,.gpf-host,#trApp,.tr-modalhost) .pv-btn{min-height:40px!important;height:40px!important;font-size:14px!important}
:root:root:root body :is(#view,.gpf-host,#trApp,.tr-modalhost) .pv-btn.sm:not(.pv-head .pv-btn){min-height:32px!important;height:32px!important;font-size:13px!important;padding:0 11px!important;border-radius:9px!important}
:root:root:root body :is(#view,.gpf-host,#trApp,.tr-modalhost) :is(input.input,.input:not(textarea),select.input){min-height:40px!important;height:40px!important;border-radius:11px!important}
:root:root:root body :is(#view,.gpf-host) .sv-auth .input{min-height:40px!important;height:40px!important}
:root:root:root body .tr-topbar .tr-applink,:root:root:root body .tr-topbar .tr-lang,:root:root:root body .tr-topbar button{min-height:34px!important;height:34px!important;font-size:13.5px!important}
/* Panel trenera: „Wróć” jako ostatni przycisk w prawym górnym rogu (EN · Wróć), jak na pozostałych stronach */
:root:root:root body .tr-topbar [data-back]{order:98}
:root:root:root body .tr-topbar .langbtn{margin-left:auto!important}
:root:root:root body .tr-topbar .langbtn~*,:root:root:root body .tr-topbar [data-back]{margin-left:0!important}
/* s246: komputer z myszką – filtrów nie da się przesunąć palcem, więc zawijają się do kolejnej linii */
@media (hover:hover) and (pointer:fine){:root:root:root body :is(#view,.gpf-host,#trApp,.tr-modalhost) :is(.pv-chips,.cm-chips,.rk-exchips,.tr-partchips,.tr-pwchips,.tv-partchips){flex-wrap:wrap!important;overflow-x:visible!important}}
