/* Section «Профиль» (athlete). Scoped under #ph.xap (set by the section hook while a profile screen or the first run
   shows). The shared list / option / field idiom is the trainer profile's (trainer-v2/app/s-profile.css), re-scoped
   here so both apps read the same; section-only parts are prefixed ap-. Only kit tokens: var(--…). */
#ph.xap i[data-i]{display:inline-grid;place-items:center;font-style:normal;flex:none}
#ph.xap i[data-i] svg{width:18px;height:18px}
#ph.xap .pill i[data-i] svg{width:13px;height:13px}
#ph.xap .row.between{justify-content:space-between}
#ph.xap .hd .ibtn{flex:none}
#ph.xap .pf-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
#ph.xap .pf-p{margin:0}
#ph.xap .scr>*,#ph.xap>.body>*,#ph.xap .sheet-in>*{flex-shrink:0}
#ph.xap .pf-pad{height:84px;flex:none}

/* board: one main value wrapping under the title */
#ph.xap .hd.hv{flex-wrap:wrap;row-gap:4px}
#ph.xap .hd .bv{flex-basis:100%;font:700 34px/1.05 var(--font-d);letter-spacing:-.02em;margin-top:6px}
#ph.xap .hd .bv small{font:600 18px/1 var(--font-d);color:var(--ink-2);margin-left:6px;letter-spacing:0}
#ph.xap .hd .bvs{flex-basis:100%;font-size:15px;color:var(--ink-2)}
#ph.xap .ibtn.bd{position:relative}
#ph.xap .ibtn.bd .dot{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;border-radius:10px;background:var(--danger);color:#fff;font:700 12px/20px var(--font);text-align:center;padding:0 5px}
#ph.xap .av.lg{width:56px;height:56px;border-radius:18px;font-size:19px}

/* group heading (section header, 16) */
#ph.xap .gh{font:600 16px/1.2 var(--font-d);margin:8px 2px -4px;color:var(--ink)}
#ph.xap .gh small{font:500 14px/1.2 var(--font);color:var(--ink-3);margin-left:6px}

/* settings list: plate without padding, rows split by a hairline */
#ph.xap .plate.lst{padding:0;overflow:hidden}
#ph.xap .li{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 12px 8px 14px;width:100%;border:0;background:transparent;text-align:left;cursor:pointer;color:var(--ink);font:inherit;box-sizing:border-box}
#ph.xap .li+.li,#ph.xap .li+.lx,#ph.xap .lx+.li{border-top:1px solid var(--line)}
#ph.xap button.li:active{background:var(--surface-2)}
#ph.xap .li:focus-visible{outline:2px solid var(--focus);outline-offset:-2px;border-radius:var(--r-plate)}
#ph.xap .li .ic{width:36px;height:36px;border-radius:11px;background:var(--surface-2);color:var(--ink-2);display:grid;place-items:center;flex:none}
#ph.xap .li .ic svg{width:19px;height:19px}
#ph.xap .li .ic.txt{font:700 14px/1 var(--font)}
#ph.xap .li .ic.okc{background:var(--ok-soft);color:var(--ok)}
#ph.xap .li .ic.atc{background:var(--attn);color:var(--attn-ink)}
#ph.xap .li .ic.otc{background:var(--out);color:var(--out-ink)}
#ph.xap .li .tx{flex:1;min-width:0}
#ph.xap .li .tx b{display:block;font-size:16px;font-weight:500;line-height:1.3}
#ph.xap .li .tx>span{display:block;font-size:14px;color:var(--ink-2);line-height:1.3;margin-top:1px}
#ph.xap .li .tx .pill{display:inline-flex;vertical-align:middle;margin:3px 4px 0 0}
#ph.xap .li .tx .since{display:block;margin-top:3px}
#ph.xap .li .tx .meter{display:block;height:5px;margin-top:6px;max-width:220px}
#ph.xap .li .tog{display:inline-block;pointer-events:none}
#ph.xap .li .val{font-size:14px;color:var(--ink-2);white-space:nowrap;flex:none}
#ph.xap .li .val.big{font:700 20px/1 var(--font-d);color:var(--ink)}
#ph.xap .li .chev,#ph.xap .li .chev svg{width:18px;height:18px;color:var(--ink-3);flex:none}
#ph.xap .li.static{cursor:default}
#ph.xap .li.danger,#ph.xap .li.danger .tx b{color:var(--danger)}
#ph.xap .li.danger .ic{background:var(--danger-soft);color:var(--danger)}
#ph.xap .li .btn{flex:none;min-height:44px;font-size:15px;padding:0 14px}
#ph.xap .li .chev.up svg{transform:rotate(90deg)}
#ph.xap .li .chev.dn svg{transform:rotate(-90deg)}
#ph.xap .lx{display:flex;flex-wrap:wrap;gap:8px;padding:8px 12px 12px 62px;background:var(--surface-2)}
#ph.xap .lx .btn{min-height:44px;font-size:15px;flex:none;padding:0 14px}

/* a row that is the switch itself (≥48 px), the track is decoration */
#ph.xap .tgrow{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;border:0;background:transparent;padding:0;font:inherit;font-size:16px;color:var(--ink);text-align:left;cursor:pointer}
#ph.xap .tgrow+.tgrow{border-top:1px solid var(--line)}
#ph.xap .tgrow .tog{display:inline-block;pointer-events:none}
#ph.xap .tgrow:focus-visible,#ph.xap .li[role="switch"]:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:10px}

/* labelled fields */
#ph.xap .fld{display:flex;flex-direction:column;gap:6px}
#ph.xap .fld>label,#ph.xap .fld>.lb{font-size:14px;font-weight:600;color:var(--ink-2)}
#ph.xap .fld .hint{font-size:14px;color:var(--ink-3)}
#ph.xap .psheet .inp input{background:var(--surface-2);box-shadow:none}
#ph.xap .fld .inp input.big{font:600 22px/1 var(--font-d);letter-spacing:.35em;text-align:center}
#ph.xap .pf-chips{display:flex;flex-wrap:wrap;gap:6px}
#ph.xap .pf-chips .chip{min-height:44px}

/* buttons */
#ph.xap .btn.danger{background:var(--danger);color:#fff}
#ph.xap .btn.quiet{background:transparent;color:var(--ink-2);box-shadow:none;min-height:44px}
#ph.xap .btn.quiet.dz{color:var(--danger)}
#ph.xap .btn[aria-disabled="true"],#ph.xap .btn:disabled{opacity:.45;cursor:default}
#ph.xap .btn.sm{flex:none;min-height:44px;font-size:15px;padding:0 14px}
#ph.xap .dock.col{flex-direction:column;align-items:stretch}
#ph.xap .dock.col>.btn{flex:none;width:100%}
#ph.xap .psheet .dock{margin-top:4px}
#ph.xap .lnk{border:0;background:none;color:var(--ink);font:600 15px/1.2 var(--font);text-decoration:underline;text-underline-offset:3px;min-height:44px;padding:0 2px;cursor:pointer;text-align:left;align-self:flex-start}
#ph.xap .lnk.m2{color:var(--ink-2)}

/* meter */
#ph.xap .meter{display:block;height:8px;border-radius:999px;background:var(--track);overflow:hidden}
#ph.xap .meter i{display:block;height:100%;border-radius:999px;background:var(--fill)}

#ph.xap .opts{display:grid;gap:8px}
#ph.xap .opt{display:flex;align-items:center;gap:12px;width:100%;min-height:60px;padding:12px 14px;border:0;border-radius:var(--r-plate);background:var(--surface-1);box-shadow:var(--sh-1);text-align:left;cursor:pointer;color:var(--ink);font:inherit;box-sizing:border-box}
#ph.xap .opt .rd{width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 2px var(--ink-3);flex:none}
#ph.xap .opt[aria-checked="true"]{box-shadow:0 0 0 2px var(--accent),var(--sh-1)}
#ph.xap .opt[aria-checked="true"] .rd{box-shadow:inset 0 0 0 7px var(--accent)}
#ph.xap .opt .tx{flex:1;min-width:0}
#ph.xap .opt .tx b{display:block;font-size:16px;font-weight:600}
#ph.xap .opt .tx>span{display:block;font-size:14px;color:var(--ink-2);margin-top:1px}
#ph.xap .opt .tx .pill{margin-top:3px}
#ph.xap .opt .pr{text-align:right;flex:none}
#ph.xap .opt .pr b{display:block;font:700 18px/1.1 var(--font-d);white-space:nowrap}
#ph.xap .opt .pr span{font-size:13px;color:var(--ink-3)}
#ph.xap .opt:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
#ph.xap .psheet .opt{box-shadow:none;background:var(--surface-2)}
#ph.xap .psheet .opt[aria-checked="true"]{box-shadow:0 0 0 2px var(--accent)}


/* bullet list */
#ph.xap .bl{margin:0;padding:0;list-style:none;display:grid;gap:10px;font-size:16px}
#ph.xap .bl li{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:start}
#ph.xap .bl li svg{width:20px;height:20px;color:var(--ink-3);margin-top:2px}
#ph.xap .bl li.ok svg{color:var(--ok)}

/* reminders */
#ph.xap .rm{display:flex;align-items:center;gap:10px;padding:8px 6px 8px 14px;min-height:64px}
#ph.xap .rm+.rm{border-top:1px solid var(--line)}
#ph.xap .rm .tx{all:unset;box-sizing:border-box;flex:1;min-width:0;min-height:44px;display:flex;flex-direction:column;justify-content:center;cursor:pointer}
#ph.xap .rm .tx:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:8px}
#ph.xap .rm .tx b{display:block;font-size:16px;font-weight:500;line-height:1.3}
#ph.xap .rm .tx span{display:block;font-size:14px;color:var(--ink-2);margin-top:2px}
#ph.xap .rm .ck{width:44px;height:44px;border-radius:50%;border:0;background:transparent;display:grid;place-items:center;cursor:pointer;flex:none;color:var(--ink-3)}
#ph.xap .rm .ck>span{width:26px;height:26px;border-radius:50%;box-shadow:inset 0 0 0 2px currentColor;display:grid;place-items:center}
#ph.xap .rm .ck svg{width:16px;height:16px;opacity:0}
#ph.xap .rm.done .ck{color:var(--ok)}
#ph.xap .rm.done .ck>span{background:var(--ok-soft)}
#ph.xap .rm.done .ck svg{opacity:1}
#ph.xap .rm.done .tx b{color:var(--ink-3);text-decoration:line-through;text-decoration-thickness:1px}
#ph.xap .rm .av.nb{background:var(--surface-2);color:var(--ink-2)}



/* confirm / success */
#ph.xap .who{display:flex;align-items:center;gap:12px}
#ph.xap .t20{font-size:20px!important;line-height:1.2}
#ph.xap .okm{width:64px;height:64px;border-radius:22px;background:var(--ok-soft);color:var(--ok);display:grid;place-items:center;margin:0 auto 12px}
#ph.xap .okm svg{width:30px;height:30px}
#ph.xap .pf-done{text-align:center;padding:22px 16px}
#ph.xap .pf-done h4{justify-content:center;font-size:20px;margin-bottom:6px}
#ph.xap .pf-soft{background:var(--surface-2);border-radius:14px;min-height:52px}

/* stat tiles */
#ph.xap .gt{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#ph.xap .plate.gtile{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:108px;padding:12px 14px;border:0;text-align:left;cursor:pointer;color:var(--ink);font:inherit;width:100%;box-sizing:border-box}
#ph.xap .gtile .ic{width:32px;height:32px;border-radius:10px;background:var(--surface-2);color:var(--ink-2);display:grid;place-items:center;margin-bottom:6px}
#ph.xap .gtile .ic svg{width:18px;height:18px}
#ph.xap .gtile b{font:700 20px/1.15 var(--font-d);letter-spacing:-.01em}
#ph.xap .gtile>span:not(.ic){font-size:14px;color:var(--ink-2);line-height:1.25}
#ph.xap .gtile .meter{width:100%;margin-top:6px;height:6px}
#ph.xap .gtile.attn .ic{background:var(--attn);color:var(--attn-ink)}
#ph.xap .gtile.ok .ic{background:var(--ok-soft);color:var(--ok)}
#ph.xap .gtile:focus-visible,#ph.xap .card-l:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
#ph.xap .plate.card-l{display:block;width:100%;border:0;text-align:left;cursor:pointer;color:var(--ink);font:inherit;box-sizing:border-box}
#ph.xap .card-l .big{font:700 26px/1 var(--font-d)}
#ph.xap .wsum span{display:block;line-height:1.3;margin-top:3px;font-size:13px}

/* tabs as a full-width segmented control */
#ph.xap .seg.full{display:flex;flex:none}
#ph.xap .seg.full button{flex:1;font-size:15px;min-height:44px}
#ph.xap .seg.full button b{font-weight:600;color:var(--ink-3);margin-left:4px}
#ph.xap .seg button{min-height:44px}

/* banner with one action */
#ph.xap .note.bnr{display:flex;align-items:center;gap:12px}
#ph.xap .note.bnr>div{flex:1;min-width:0}
#ph.xap .note.bnr .btn{flex:none;min-height:44px}
#ph.xap .note.calm{background:var(--surface-2);color:var(--ink)}


/* palette picker */
#ph.xap .pal{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#ph.xap .pal button{display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 10px;border:0;border-radius:14px;background:var(--surface-2);color:var(--ink);font:500 15px/1.2 var(--font);text-align:left;cursor:pointer}
#ph.xap .pal button[aria-checked="true"]{box-shadow:0 0 0 2px var(--accent);font-weight:600}
#ph.xap .pal .sw{display:flex;flex:none;border-radius:10px;overflow:hidden;box-shadow:0 0 0 1px var(--line)}
#ph.xap .pal .sw i{width:16px;height:32px;display:block}
#ph.xap .pal button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}

/* step rows inside a sheet */
#ph.xap .pf-srow{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:16px;min-height:48px}
#ph.xap .pf-srow+.pf-srow{border-top:1px solid var(--line)}
#ph.xap .stp{display:flex;align-items:center;gap:6px}
#ph.xap .stp button{width:44px;height:44px;border-radius:12px;border:0;background:var(--surface-2);color:var(--ink);font:700 20px/1 var(--font);cursor:pointer}
#ph.xap .stp b{min-width:36px;text-align:center;font:700 20px/1 var(--font-d)}
#ph.xap .pf-q{display:grid;gap:6px}
#ph.xap .pf-q .seg{width:100%;display:flex}
#ph.xap .pf-q .seg button{flex:1}
#ph.xap .pf-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
#ph.xap .pf-head h4{flex:1}


@media (prefers-reduced-motion:reduce){#ph.xap .tog::after{transition:none}}

/* ================= athlete additions ================= */
#ph.xap .scr>*{flex:none}
#ph.xap .plate{display:flex;flex-direction:column;gap:10px}
#ph.xap .plate.lst,#ph.xap .plate.card-l{display:block}
#ph.xap .plate>h4{margin:0}
#ph.xap .plate h4 small{font:500 14px/1.2 var(--font);color:var(--ink-3);text-align:right}
#ph.xap .gh small{font-weight:500}
#ph.xap .ap-acts{display:flex;gap:8px;flex-wrap:wrap}
#ph.xap .ap-acts>.btn{flex:1 1 auto}
#ph.xap .ap-err{margin:0;display:flex;gap:6px;align-items:flex-start;font-size:15px;line-height:1.35;color:var(--danger);font-weight:600}
#ph.xap .ap-err i{margin-top:1px}
#ph.xap .ap-dz{color:var(--danger)}
#ph.xap .ap-tav{background:var(--surface-3);color:var(--ink)}
#ph.xap>.hd .ap-tav{background:var(--board-plate);color:var(--board-ink)}
#ph.xap .ap-inset{box-shadow:none;background:var(--surface-2)}
#ph.xap .ap-inset .li:active{background:var(--surface-3)}
#ph.xap .ap-inset .tgrow{padding:0 14px}

/* board of the root: avatar + name, the weight as the one value */
#ph.xap>.hd.hv .bv{margin-top:10px}
#ph.xap>.hd .bv small{display:inline-block}

/* goal: start → today → target */
#ph.xap .ap-gbar{position:relative;height:8px;border-radius:999px;background:var(--track);margin:8px 0 2px}
#ph.xap .ap-gbar i{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:var(--fill)}
#ph.xap .ap-gbar em{position:absolute;top:-6px;width:20px;height:20px;border-radius:50%;background:var(--surface-1);box-shadow:0 0 0 3px var(--fill);transform:translateX(-50%)}
#ph.xap .ap-gl{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}
#ph.xap .ap-gl span{display:flex;flex-direction:column}
#ph.xap .ap-gl .c{align-items:center;text-align:center}
#ph.xap .ap-gl .r{align-items:flex-end;text-align:right}
#ph.xap .ap-gl b{font:700 17px/1.2 var(--font-d);white-space:nowrap}
#ph.xap .ap-gl small{font-size:13px;color:var(--ink-3)}
#ph.xap .ap-wins{display:grid;grid-template-columns:1fr 1fr;gap:8px;border-top:1px solid var(--line);padding-top:10px}
#ph.xap .ap-win{display:flex;align-items:center;gap:8px;min-height:48px;border:0;border-radius:14px;background:var(--surface-2);padding:6px 10px;text-align:left;color:var(--ink);font:500 14px/1.25 var(--font);cursor:pointer}
#ph.xap .ap-win i{color:var(--ink-2)}
#ph.xap .ap-win b{font-weight:700}
#ph.xap .ap-win:focus-visible{outline:2px solid var(--focus);outline-offset:2px}

/* trainer card */
#ph.xap .ap-trh{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:12px;min-height:48px;cursor:pointer;width:100%}
#ph.xap .ap-trh:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:12px}
#ph.xap .ap-trh .tx{flex:1;min-width:0}
#ph.xap .ap-trh b{display:block;font-size:17px;font-weight:600}
#ph.xap .ap-trh .tx span{display:block;font-size:14px;color:var(--ink-2)}
#ph.xap .ap-trh .chev,#ph.xap .ap-trh .chev svg{width:18px;height:18px;color:var(--ink-3)}
#ph.xap .ap-next{display:flex;gap:10px;align-items:flex-start;background:var(--surface-2);border-radius:14px;padding:10px 12px}
#ph.xap .ap-next>i{margin-top:2px;color:var(--ink-2)}
#ph.xap .ap-next b{display:block;font-size:16px;font-weight:600}
#ph.xap .ap-next span{display:block;font-size:14px;color:var(--ink-2)}
#ph.xap .ap-next.sm{padding:8px 12px}
#ph.xap .ap-badge{position:relative}
#ph.xap .ap-cnt{min-width:20px;height:20px;border-radius:10px;background:var(--danger);color:#fff;font:700 12px/20px var(--font);text-align:center;padding:0 5px}
#ph.xap .ap-empty{display:flex;gap:12px;align-items:flex-start}
#ph.xap .ap-empty .ico{width:44px;height:44px;border-radius:14px;background:var(--surface-2);color:var(--ink-2);display:grid;place-items:center;flex:none}
#ph.xap .ap-empty .ico.ok{background:var(--ok-soft);color:var(--ok)}
#ph.xap .ap-empty .ico svg{width:22px;height:22px}
#ph.xap .ap-empty b{display:block;font-size:17px;font-weight:600;margin-bottom:2px;word-break:break-word}
#ph.xap .ap-empty span{display:block;font-size:15px;line-height:1.4;color:var(--ink-2)}

/* «Кто что видит» in brief: six cells */
#ph.xap .ap-mx{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}
#ph.xap .ap-mx>span{display:flex;align-items:center;gap:6px;min-height:40px;border-radius:12px;padding:6px 8px;background:transparent;box-shadow:inset 0 0 0 1.5px var(--surface-3);color:var(--ink-3);font-size:13px;line-height:1.15}
#ph.xap .ap-mx>span.on{background:var(--surface-2);box-shadow:none;color:var(--ink)}
#ph.xap .ap-mx small{font-size:13px;font-weight:500}
#ph.xap .ap-mx i svg{width:16px;height:16px}

/* access matrix */
#ph.xap .ap-mtx{padding:6px 0 0;gap:0;overflow:hidden}
#ph.xap .ap-mh{display:flex;justify-content:space-between;padding:6px 14px 8px;font:600 12px/1 var(--font);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}
#ph.xap .ap-mr{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:10px 14px;border:0;border-top:1px solid var(--line);background:transparent;text-align:left;color:var(--ink);font:inherit;cursor:pointer}
#ph.xap .ap-mr:active{background:var(--surface-2)}
#ph.xap .ap-mr:focus-visible{outline:2px solid var(--focus);outline-offset:-2px;border-radius:12px}
#ph.xap .ap-mr .ic{width:36px;height:36px;border-radius:11px;background:var(--surface-2);color:var(--ink-3);display:grid;place-items:center;flex:none}
#ph.xap .ap-mr .ic.on{background:var(--ok-soft);color:var(--ok)}
#ph.xap .ap-mr .tx{flex:1;min-width:0}
#ph.xap .ap-mr .tx b{display:block;font-size:16px;font-weight:500;line-height:1.3}
#ph.xap .ap-mr .tx span{display:block;font-size:14px;line-height:1.3;color:var(--ink-2);margin-top:1px}
#ph.xap .ap-mr .tog{pointer-events:none}
#ph.xap .ap-mr[aria-checked="false"] .tx span{color:var(--ink-3)}

/* trainer's requests */
#ph.xap .ap-rqh{display:flex;align-items:center;gap:10px}
#ph.xap .ap-rqh .tx b{display:block;font-size:16px;font-weight:600}
#ph.xap .ap-rqh .tx span{font-size:13px;color:var(--ink-3)}
#ph.xap .ap-shots,#ph.xap .ap-pick{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
#ph.xap .ap-pick{grid-template-columns:repeat(4,1fr)}
#ph.xap .ap-shot{position:relative;border:0;padding:0;background:none;color:var(--ink);display:flex;flex-direction:column;gap:4px;font:500 13px/1.2 var(--font);text-align:left}
#ph.xap .ap-shot svg{width:100%;aspect-ratio:3/4;height:auto;border-radius:12px;display:block;box-shadow:var(--sh-img)}
#ph.xap .ap-shot span{color:var(--ink-2)}
#ph.xap button.ap-shot{cursor:pointer;min-height:44px}
#ph.xap button.ap-shot svg{opacity:.55;transition:opacity var(--t-fast) var(--ease)}
#ph.xap button.ap-shot.on svg{opacity:1;box-shadow:0 0 0 2px var(--accent),var(--sh-img)}
#ph.xap .ap-shot .ck{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:grid;place-items:center}
#ph.xap .ap-shot .ck svg{width:14px;height:14px;box-shadow:none;aspect-ratio:auto;border-radius:0;opacity:1}
#ph.xap button.ap-shot:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:12px}

/* rights */
#ph.xap .ap-rt{align-items:flex-start;padding-top:12px;padding-bottom:12px}
#ph.xap .ap-rt .tx b .pill{margin:0 0 0 4px;vertical-align:1px}
#ph.xap .ap-at{display:block;font-size:13px;color:var(--ok);margin-top:3px;font-weight:600}

/* booking */
#ph.xap .ap-bk{display:flex;align-items:center;gap:10px;background:var(--surface-2);border-radius:14px;padding:8px 6px 8px 12px}
#ph.xap .ap-bk>div{flex:1;min-width:0}
#ph.xap .ap-bk b{display:block;font-size:16px;font-weight:600}
#ph.xap .ap-bk span{display:block;font-size:14px;color:var(--ink-2)}
#ph.xap .ap-bk>i{color:var(--attn-ink)}
#ph.xap .ap-bk>i.ok{color:var(--ok)}
#ph.xap .ap-days{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
#ph.xap .ap-days button{border:0;border-radius:14px;background:var(--surface-2);min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;color:var(--ink)}
#ph.xap .ap-days small{font:600 12px/1 var(--font);text-transform:uppercase;color:var(--ink-3)}
#ph.xap .ap-days b{font:700 18px/1 var(--font-d)}
#ph.xap .ap-days button.none b{color:var(--ink-3);font-weight:600}
#ph.xap .ap-days button.on{background:var(--accent);color:var(--on-accent)}
#ph.xap .ap-days button.on small{color:inherit;opacity:.75}
#ph.xap .ap-days button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}

/* QR */
#ph.xap .ap-qr{display:flex;align-items:center;gap:14px}
#ph.xap .ap-qr .ap-qrsvg{width:112px;height:112px;flex:none;color:var(--ink);border-radius:12px;box-shadow:0 0 0 1px var(--line)}
#ph.xap .ap-qr b{display:block;font:700 22px/1.1 var(--font-d);letter-spacing:.06em}
#ph.xap .ap-qr>div span{display:block;font-size:14px;color:var(--ink-2);margin-top:4px}
#ph.xap .ap-qr.big{justify-content:center}
#ph.xap .ap-qr.big .ap-qrsvg{width:220px;height:220px}
#ph.xap .ap-found{display:flex;align-items:center;gap:12px}
#ph.xap .ap-found>div b{display:block;font-size:18px;font-weight:600}
#ph.xap .ap-found>div span{display:block;font-size:14px;color:var(--ink-2)}

/* simulated camera */
#ph.xap .ap-cam{position:relative;height:260px;border-radius:18px;background:#0B0B0C;overflow:hidden;display:grid;place-items:center}
#ph.xap .ap-frame{width:170px;height:170px;border-radius:20px;box-shadow:0 0 0 2px rgba(255,255,255,.85),0 0 0 999px rgba(0,0,0,.35)}
#ph.xap .ap-line{position:absolute;left:calc(50% - 80px);width:160px;height:2px;background:#fff;opacity:.8;top:50%;animation:ap-scan 1.4s var(--ease) infinite alternate}
#ph.xap .ap-camt{position:absolute;bottom:12px;left:0;right:0;text-align:center;color:#E4E4E7;font:600 14px/1 var(--font)}
@keyframes ap-scan{from{transform:translateY(-78px)}to{transform:translateY(78px)}}

/* reminders */
#ph.xap .ap-rm{padding-right:4px}
#ph.xap .ap-rm.off .tx b{color:var(--ink-2)}
#ph.xap .ap-sw{width:60px;height:48px;border:0;background:transparent;display:grid;place-items:center;cursor:pointer;flex:none;border-radius:12px}
#ph.xap .ap-sw:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}
#ph.xap .ap-sw .tog{pointer-events:none}

/* pro */
#ph.xap .ap-pro li span b{display:block;font-weight:600;font-size:16px}
#ph.xap .ap-pro li span small{display:block;font-size:14px;color:var(--ink-2);line-height:1.35;margin-top:1px}
#ph.xap .ap-pro li svg{color:var(--ink-2)}
#ph.xap .ap-pro li.ok svg{color:var(--ok)}

/* data */
#ph.xap .ap-ob{align-items:flex-start;padding-top:12px;padding-bottom:12px}
#ph.xap .ap-ob em{font-style:normal;font-weight:600;color:var(--attn-ink)}
#ph.xap .ap-ob em.f{color:var(--danger)}
#ph.xap .ap-why{display:block;font-size:14px;line-height:1.35;color:var(--ink);background:var(--surface-2);border-radius:10px;padding:8px 10px;margin-top:6px}
#ph.xap .ap-stor{display:flex;height:12px;border-radius:999px;overflow:hidden;gap:2px;background:var(--track)}
#ph.xap .ap-stor i{display:block;min-width:3px}
#ph.xap .s0{background:var(--ink)}#ph.xap .s1{background:var(--fill)}#ph.xap .s2{background:var(--grid-part)}
#ph.xap .s3{background:var(--ink-3)}#ph.xap .s4{background:var(--attn-line)}#ph.xap .s5{background:var(--surface-3)}
#ph.xap .ap-sl{display:grid;gap:0}
#ph.xap .ap-sl>div{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:15px;min-height:36px;border-top:1px solid var(--line)}
#ph.xap .ap-sl>div:first-child{border-top:0}
#ph.xap .ap-sl span{display:flex;align-items:center;gap:8px;color:var(--ink)}
#ph.xap .ap-sl span i{width:10px;height:10px;border-radius:3px;flex:none}
#ph.xap .ap-sl b{font-weight:600}
#ph.xap .ap-sl .tot{border-top:1.5px solid var(--ink-3);font-weight:700}
#ph.xap .ap-sl .tot b{font:700 16px/1 var(--font-d)}

/* first run */
#ph.xap>.hd.ap-st .bv{font-size:26px;line-height:1.15;margin-top:4px}
#ph.xap .ap-segs{flex-basis:100%;display:flex;gap:4px;margin-top:4px}
#ph.xap .ap-segs i{flex:1;height:4px;border-radius:3px;background:var(--surface-3)}
#ph.xap .ap-segs i.d{background:var(--ink-2)}
#ph.xap .ap-segs i.c{background:var(--ink)}
#ph.xap .ap-pq{gap:10px}
#ph.xap .ap-pq p{margin:0;font-size:16px;line-height:1.4}
#ph.xap .ap-pq.miss{box-shadow:0 0 0 2px var(--attn-line),var(--sh-1)}
#ph.xap .ap-cb{width:26px;height:26px;border-radius:8px;box-shadow:inset 0 0 0 2px var(--ink-3);display:grid;place-items:center;flex:none;color:var(--on-accent)}
#ph.xap .ap-cb.on{background:var(--accent);box-shadow:none}
#ph.xap .ap-cb svg{width:16px;height:16px}
#ph.xap .ap-agree{display:flex;align-items:flex-start;gap:12px;width:100%;min-height:56px;padding:14px;border:0;border-radius:var(--r-plate);background:var(--surface-1);box-shadow:var(--sh-1);color:var(--ink);font:500 16px/1.4 var(--font);text-align:left;cursor:pointer}
#ph.xap .ap-agree.miss{box-shadow:0 0 0 2px var(--attn-line),var(--sh-1)}
#ph.xap .ap-agree:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
#ph.xap .ap-docq{margin-top:10px;border-top:1px solid currentColor;padding-top:6px;color:inherit;font-weight:600}
#ph.xap .ap-cons li span b{font-weight:600}
#ph.xap .ap-gf{gap:12px}
#ph.xap .ap-gf .opt{box-shadow:none;background:var(--surface-2)}
#ph.xap .ap-gf .opt[aria-checked="true"]{box-shadow:0 0 0 2px var(--accent)}
#ph.xap .ap-wv{min-width:88px!important;font-size:18px!important}

@media (prefers-reduced-motion:reduce){#ph.xap .ap-line{animation:none}#ph.xap button.ap-shot svg{transition:none}}
#ph.xap .ap-swb{display:flex;border-radius:8px;overflow:hidden;box-shadow:0 0 0 1px var(--line);flex:none}
#ph.xap .ap-swb i{width:12px;height:24px;display:block}
#ph.xap .ap-cb.miss{box-shadow:inset 0 0 0 2px var(--danger)}
#ph.xap .note .ap-err{margin-top:8px}
