/* Client portal + app page */
.hd{padding-top:env(safe-area-inset-top,0)}
.pt{padding:calc(110px + env(safe-area-inset-top,0)) 0 calc(80px + env(safe-area-inset-bottom,0))}
.pt .wrap{max-width:920px}
.pt-btn{display:inline-block;background:rgba(255,255,255,.07);border:1px solid var(--line);border-radius:99px;color:#fff;padding:10px 22px;font:700 .85rem var(--bd);cursor:pointer;text-align:center}
.pt-btn:hover{border-color:#fff}.pt-solid{background:#fff;color:#000;border-color:#fff}.pt-solid:hover{box-shadow:-6px 5px 20px rgba(255,0,0,.5),6px 5px 20px rgba(0,0,255,.5)}
.pt-out{margin:0}
.pt-card{max-width:540px;margin:6vh auto 0;background:var(--panel);border:1px solid var(--line);border-radius:32px;backdrop-filter:blur(20px);padding:48px 38px}
.pt-card h1,.pt-h{font-size:clamp(1.9rem,6vw,2.8rem);margin:6px 0 14px}
.pt-sub{color:var(--mute);margin:0 0 26px}
.pt-form{display:grid;gap:14px}
.pt-lbl{font:700 .8rem var(--hd);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.pt-form input{width:100%;background:rgba(0,0,0,.6);border-radius:20px;border:1px solid var(--line);color:#fff;padding:18px;font:700 1.35rem/1 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.14em;text-align:center;text-transform:uppercase}
.pt-form input:focus{border-color:var(--g);outline:0;box-shadow:0 0 0 1px var(--g)}
.pt-go{display:flex;justify-content:center;border:0;border-radius:99px;background:#fff;color:#000;padding:18px;font:700 .92rem var(--bd);letter-spacing:.04em;cursor:pointer;transition:transform .35s,box-shadow .35s}
.pt-go:hover{transform:translateY(-3px);box-shadow:-10px 8px 30px rgba(255,0,0,.45),10px 8px 30px rgba(0,0,255,.45),0 12px 30px rgba(0,255,0,.25)}
.pt-note{color:var(--mute);font-size:.95rem;margin:26px 0 0;text-align:center}.pt-note a{color:#fff;text-decoration:underline}
.pt-empty{border:1px dashed var(--line);border-radius:26px;padding:40px 24px;color:var(--mute);text-align:center}
.pj{background:var(--panel);border:1px solid var(--line);border-radius:26px;padding:30px 28px;margin:0 0 26px}
.pj-h{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}.pj-h h2{font-size:1.4rem}.pj-d{color:var(--mute);font-size:.95rem}
.pj-p{color:var(--mute);margin:10px 0 0}
.fl{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:10px}
.fr{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:20px;background:rgba(0,0,0,.5)}
.ft{min-width:62px;text-align:center;border:1px solid var(--line);border-radius:99px;overflow:hidden;padding:6px 10px;font:700 .72rem var(--bd);letter-spacing:.1em;color:var(--mute)}
.ft[data-k=video]{border-color:var(--r);color:#fff}.ft[data-k=image]{border-color:var(--g);color:#fff}.ft[data-k=audio],.ft[data-k=pdf]{border-color:var(--b);color:#fff}
.fm{min-width:0}.fm strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.fm small{color:var(--mute)}
.fa{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.pv{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.96);display:none;align-items:center;justify-content:center;padding:calc(60px + env(safe-area-inset-top,0)) 16px 24px}
.pv.on{display:flex}.pv-box{width:min(1100px,100%);max-height:100%;display:grid;place-items:center}
.pv-box video,.pv-box img{max-width:100%;max-height:78vh;background:#000}.pv-box video{width:100%}.pv-box audio{width:100%}
.pv-x{position:absolute;top:calc(14px + env(safe-area-inset-top,0));right:16px;background:rgba(255,255,255,.1);border:1px solid var(--line);border-radius:50%;color:#fff;width:48px;height:48px;font-size:1.5rem;cursor:pointer}
/* app page */
.steps{margin:14px 0 0;padding-left:1.2em;color:var(--mute)}.steps li{margin:6px 0}.steps b{color:#fff}
@media(max-width:620px){.fr{grid-template-columns:auto 1fr}.fa{grid-column:1/-1;justify-content:stretch}.fa .pt-btn{flex:1}.pt-card{padding:34px 22px}}
.pt-card.brk::before,.pt-card.brk::after,.pj.brk::before,.pj.brk::after,.fr .ft::before{display:none}
.pt .eyebrow{display:inline-flex;align-items:center;gap:10px;color:#fff;font:600 .78rem var(--bd);letter-spacing:.16em;padding:8px 16px 8px 34px;border:1px solid var(--line);border-radius:99px;background:rgba(255,255,255,.05)}
.pt .eyebrow::before{width:8px;height:8px;border-radius:50%;margin:0;background:var(--g);box-shadow:-8px 0 0 var(--r),8px 0 0 var(--b)}
[data-theme=light] .pt-btn{color:#000;background:rgba(0,0,0,.05)}[data-theme=light] .pt-btn:hover{border-color:#000}
[data-theme=light] .pt-solid{background:#000;color:#fff;border-color:#000}
[data-theme=light] .pt-go{background:#000;color:#fff}
[data-theme=light] .pt-form input{background:#fff;color:#000}
[data-theme=light] .pt-note a,[data-theme=light] .steps b,[data-theme=light] .pt .eyebrow{color:#000}
[data-theme=light] .pt .eyebrow{background:rgba(0,0,0,.04)}
[data-theme=light] .fr{background:#fff}
[data-theme=light] .ft[data-k]{color:#000}
