/* Owner portal: phone first, one column, on top of app.css. */
.pt { max-width: 760px; margin: 0 auto; padding: 0 16px 64px; display: grid; gap: 16px; }
.pt-head { position: sticky; top: 0; z-index: 20; background: var(--bg); display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 0 10px; }
.pt-head .club { display: grid; gap: 1px; min-width: 0; }
.pt-head .club b { font-size: 1.02rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pt-head .club small { color: var(--muted); font-size: .76rem; }
.pt-nav { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; border-bottom: 1px solid var(--line); }
.pt-nav a { padding: 9px 12px; font-weight: 600; color: var(--muted); text-decoration: none; border-bottom: 2px solid transparent; margin-bottom: -1px; white-space: nowrap; }
.pt-nav a[aria-current="page"] { color: var(--accent-ink); border-bottom-color: var(--accent); }
.pt-nav .count { display: inline-block; margin-left: 4px; font-size: .68rem; padding: 0 6px; border-radius: 99px; background: var(--warn); color: #fff; }
.balance { padding: 18px; display: grid; gap: 6px; justify-items: center; text-align: center; }
.balance b { font-size: 1.9rem; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.balance small { color: var(--muted); }
.balance .btn { margin-top: 6px; height: 42px; min-width: 200px; }
.hlist { display: grid; gap: 12px; }
.hbig { display: grid; grid-template-columns: 72px 1fr; gap: 14px; padding: 14px; cursor: pointer; align-items: center; }
.hbig:hover { border-color: #c4ced9; }
.hbig .av { width: 72px; height: 72px; border-radius: 14px; font-size: 1.3rem; }
.hbig b { font-size: 1.05rem; }
.hbig small { display: block; color: var(--muted); font-size: .8rem; }
.hbig .chips { display: flex; gap: 4px; flex-wrap: wrap; margin-top: 4px; }
.kindpick { display: grid; gap: 8px; }
.kindpick button { text-align: left; border: 1px solid var(--line); background: var(--surface); border-radius: 10px; padding: 12px 14px; cursor: pointer; display: grid; gap: 2px; }
.kindpick button:hover { border-color: var(--accent); }
.kindpick button b { font-size: .92rem; }
.kindpick button span { color: var(--muted); font-size: .8rem; }
.signin { min-height: 100vh; display: grid; place-items: center; padding: 24px 16px; }
.signin form { width: min(380px, 100%); display: grid; gap: 14px; }
.signin .btn { height: 42px; }
.codebox { letter-spacing: .4em; font-size: 1.3rem; text-align: center; font-variant-numeric: tabular-nums; }
.devcode { background: var(--warn-soft); color: #7c3d06; border-radius: 8px; padding: 8px 10px; font-size: .82rem; }

.pt-head .club { flex: 1; min-width: 0; }
.pt-head .tools { display: flex; gap: 6px; align-items: center; flex-wrap: nowrap; flex: none; }
.pt-head .tools .btn { padding: 0 10px; }
.memcard { padding: 20px; display: grid; gap: 14px; color: #fff; background: radial-gradient(500px 220px at 90% 0%, rgba(34, 179, 169, .45), transparent 60%), linear-gradient(150deg, #00203f, #014a55); border: 0; }
.memcard small { opacity: .75; font-size: .76rem; letter-spacing: .06em; text-transform: uppercase; } .memcard > div > b { display: block; font-size: 1.35rem; margin-top: 2px; }
.memcard dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 0; } .memcard dt { font-size: .7rem; opacity: .7; text-transform: uppercase; letter-spacing: .05em; } .memcard dd { margin: 0; font-weight: 600; }
.memcard.ended { background: linear-gradient(150deg, #4b5563, #374151); } .memcard p { margin: 0; font-size: .85rem; }
.evcard { display: grid; grid-template-columns: 58px 1fr; gap: 14px; padding: 14px; }
.evcard.x { opacity: .6; }
.evdate { display: grid; justify-items: center; align-content: start; padding-top: 2px; } .evdate b { font-size: 1.5rem; line-height: 1; } .evdate span { font-size: .72rem; text-transform: uppercase; color: var(--muted); letter-spacing: .06em; }
.evcard .grow { display: grid; gap: 4px; min-width: 0; } .evcard .grow > b { font-size: 1.02rem; } .evcard p { margin: 2px 0; font-size: .86rem; white-space: pre-wrap; }
.rsvp { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-top: 4px; } .rsvp label { display: flex; gap: 6px; align-items: center; font-size: .82rem; color: var(--muted); } .rsvp select { height: 32px; } .rsvpnote { font-size: .8rem; }
.evmonth { margin: 8px 0 0; font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.evcard.hasposter { padding-top: 0; overflow: hidden; }
.evposter { grid-column: 1 / -1; margin: 0 -14px; display: block; background: var(--sunk); }
.evposter img { width: 100%; max-height: 460px; object-fit: contain; display: block; background: #0f1720; }
.evmore { display: flex; gap: 6px; flex-wrap: wrap; margin: 2px 0; } .evmore img { width: 72px; height: 72px; object-fit: cover; border-radius: 8px; border: 1px solid var(--line); }

/* Owner experience v2. Scoped to the portal document; app.css is unchanged. */
body.po-ui { --accent:#017670; --accent-ink:#01615c; --accent-soft:#e6f3f0; --bg:#f5f7f8; --navy:#00203f; background:var(--bg); }
.po-app { display:grid; grid-template-columns:248px minmax(0,1fr); min-height:100dvh; }
.po-sidebar { position:sticky; top:0; height:100dvh; display:flex; flex-direction:column; padding:28px 20px 20px; background:white; border-right:1px solid var(--line-2); }
.po-brand { display:flex; align-items:center; gap:10px; color:inherit; text-decoration:none; }
.po-brand .svmark { width:40px; height:40px; border-radius:10px; }
.po-brand .product { font-size:1.2rem; }
.po-brand .svby { width:75px; margin-top:3px; }
.po-club { display:flex; align-items:center; gap:10px; padding:22px 0 26px; margin-top:18px; border-top:1px solid var(--line-2); }
.po-club-avatar { width:35px; height:35px; border-radius:10px; background:#f0f4f7; color:var(--navy); display:grid; place-items:center; font-weight:700; font-size:.75rem; flex:none; }
.po-club>div { min-width:0; display:grid; gap:3px; }
.po-club b { font-size:.77rem; line-height:1.45; }
.po-club small { font-size:.67rem; color:var(--muted); }
.po-side-nav { display:grid; gap:6px; }
.po-side-nav a { display:flex; align-items:center; gap:12px; min-height:48px; padding:12px; border-radius:10px; text-decoration:none; color:var(--muted); font-size:.85rem; font-weight:500; }
.po-side-nav a:hover { background:var(--surface-2); color:var(--accent-ink); }
.po-side-nav a[aria-current=page] { background:var(--accent-soft); color:var(--accent-ink); font-weight:650; }
.po-nav-icon { display:grid; place-items:center; position:relative; }
.po-nav-icon .i { width:20px; height:20px; }
.po-nav-icon i { position:absolute; top:-6px; right:-10px; min-width:15px; height:15px; padding:0 3px; background:var(--warn); border-radius:20px; color:white; font:600 9px/15px var(--f-body); }
.po-sidebar-foot { margin-top:auto; padding-top:25px; display:grid; gap:12px; }
.po-person { display:flex; gap:10px; align-items:center; padding-top:18px; border-top:1px solid var(--line-2); }
.po-person>span,.po-account-avatar { width:36px; height:36px; border-radius:50%; display:grid; place-items:center; background:var(--accent-soft); color:var(--accent-ink); font-size:.75rem; font-weight:700; flex:none; text-decoration:none; }
.po-person>div { min-width:0; display:grid; gap:2px; }
.po-person b { font-size:.8rem; }.po-person small { font-size:.65rem; color:var(--muted); overflow:hidden; text-overflow:ellipsis; }
.po-sidebar-foot>.btn { justify-content:flex-start; padding-left:0; color:var(--muted); font-weight:400; }
.po-workspace { min-width:0; }
.po-topbar { height:84px; padding:0 36px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line-2); background:white; }
.po-desktop-label { display:grid; gap:3px; }.po-desktop-label .eyebrow { font-size:.6rem; color:var(--accent-ink); }.po-desktop-label b { font-size:.83rem; font-weight:500; }
.po-topbar .tools { gap:16px; }.po-topbar .bell { border-radius:50%; background:var(--surface-2); border-color:var(--line-2); }
.po-mobile-brand { display:none; }
.po-main { padding:30px 36px 20px; max-width:1320px; margin:0 auto; }
.po-main>#page { gap:22px; min-width:0; }
.po-page-title { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.po-page-title .eyebrow { font-size:.66rem; letter-spacing:.12em; }
.po-page-title h1 { font-size:1.7rem; font-weight:650; margin:4px 0 5px; letter-spacing:-.035em; }
.po-page-title p { margin:0; color:var(--muted); font-size:.84rem; }
.po-refresh { height:36px; font-size:.76rem; }
.po-hero { position:relative; overflow:hidden; display:grid; grid-template-columns:1.2fr 1fr; gap:25px; padding:30px; border-radius:20px; color:white; background:radial-gradient(ellipse at 60% 0%,#0b555e,transparent 70%),#00203f; }
.po-hero:before { content:""; position:absolute; width:300px; height:300px; border:1px solid #ffffff12; border-radius:50%; right:30%; top:-145px; box-shadow:0 0 0 45px #ffffff04,0 0 0 90px #ffffff03; pointer-events:none; }
.po-hero-copy,.po-hero-balance,.po-hero-horse { position:relative; }
.po-kicker { display:block; font-size:.59rem; letter-spacing:.17em; color:#94cfc5; font-weight:600; }
.po-hero h2 { font-size:2.3rem; line-height:1.1; margin:12px 0; font-weight:600; letter-spacing:-.045em; }
.po-hero-copy p { font-size:.78rem; color:#c3d5dd; max-width:260px; line-height:1.7; margin:0 0 19px; }
.po-white-btn { display:inline-flex; align-items:center; gap:14px; background:#fff; padding:10px 14px; color:var(--navy); border-radius:9px; font-size:.75rem; font-weight:600; text-decoration:none; }
.po-hero-balance { align-self:center; display:grid; justify-items:start; gap:8px; padding:24px; border:1px solid #ffffff22; background:#ffffff0a; border-radius:15px; backdrop-filter:blur(3px); }
.po-hero-balance small { font-size:.72rem; color:#b7d6db; }
.po-hero-balance>b { font-size:1.85rem; letter-spacing:-.035em; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.po-hero-balance>span { font-size:.65rem; color:#abc7d0; }
.po-hero-balance>a { color:#ddf7f0; display:flex; align-items:center; gap:8px; font-size:.72rem; margin-top:6px; text-decoration:none; }
.po-hero-balance>.btn { background:#fff; color:var(--navy); margin-top:6px; font-size:.75rem; }
.po-hero-horse { align-self:center; justify-self:center; display:grid; place-items:center; gap:12px; color:#9bcac8; }
.po-hero-horse .i { width:95px; height:95px; stroke-width:.7; }.po-hero-horse span { font-size:.7rem; }
.po-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.po-stats>a { display:grid; justify-items:center; text-align:center; gap:6px; border:1px solid var(--line-2); background:white; border-radius:14px; padding:17px 10px; color:inherit; text-decoration:none; }
.po-stats>a:hover { border-color:var(--accent); }.po-stats span { color:var(--muted); font-size:.72rem; }.po-stats b { font-size:1.55rem; color:var(--navy); font-variant-numeric:tabular-nums; }.po-stats small { color:var(--muted); font-size:.64rem; }
.po-inline-note { display:flex; align-items:center; gap:10px; border:1px solid #dcebe8; border-radius:10px; padding:12px 16px; font-size:.74rem; text-decoration:none; background:#eef6f3; color:var(--accent-ink); }.po-inline-note>.i:last-child { margin-left:auto; }
.po-quick-actions { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:10px; }
.po-quick-actions>button,.po-quick-actions>a { display:flex; align-items:center; justify-content:center; gap:8px; border:1px solid var(--line); border-radius:11px; min-height:46px; background:#fff; text-decoration:none; color:var(--ink); font-size:.76rem; cursor:pointer; }
.po-quick-actions .i { color:var(--accent-ink); }.po-quick-actions>*:hover { border-color:var(--accent); }
.po-section-heading { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:15px; }.po-section-heading .eyebrow { font-size:.58rem; color:var(--accent-ink); }.po-section-heading h2 { font-size:1.12rem; margin-top:4px; font-weight:600; }.po-section-heading>a { display:flex; align-items:center; gap:7px; text-decoration:none; font-size:.74rem; }
.po-horse-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.po-horse-card { position:relative; display:grid; padding:0; border:1px solid var(--line-2); background:#fff; border-radius:16px; overflow:hidden; cursor:pointer; text-align:left; color:inherit; }
.po-horse-card:hover { border-color:var(--accent); }.po-horse-image { position:relative; background:#e3eceb; height:145px; overflow:hidden; }.po-horse-image .av { display:grid; place-items:center; width:100%; height:100%; border-radius:0; object-fit:cover; font-size:2.3rem; background:linear-gradient(120deg,#d8e8e2,#dce9ef); color:#56847f; font-weight:500; }
.po-horse-image>.chip { position:absolute; left:12px; bottom:12px; box-shadow:0 1px 5px #00203f15; }.po-horse-meta { padding:16px 18px; display:grid; gap:5px; padding-right:45px; }.po-horse-meta>b { font-size:1.02rem; font-weight:600; }.po-horse-meta>span { color:var(--muted); font-size:.73rem; }.po-horse-meta>small { color:var(--muted); font-size:.67rem; }.po-card-arrow { position:absolute; bottom:23px; right:17px; color:var(--accent-ink); }
.po-home-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:16px; }.po-panel { border:1px solid var(--line-2); background:white; border-radius:15px; overflow:hidden; }.po-panel>header { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:17px 20px; border-bottom:1px solid var(--line-2); }.po-panel h2 { font-size:.9rem; }.po-panel>header>.i { color:var(--muted); }.po-count { padding:2px 8px; border-radius:30px; background:var(--accent-soft); font-size:.7rem; color:var(--accent-ink); }
.po-agenda-row,.po-care-row { display:flex; width:100%; gap:12px; align-items:center; border:0; border-bottom:1px solid var(--line-2); background:transparent; color:inherit; text-decoration:none; text-align:left; padding:15px 18px; cursor:pointer; }.po-agenda-row:last-child,.po-care-row:last-child { border-bottom:0; }.po-agenda-row>span:nth-child(2),.po-care-row>span:nth-child(2) { display:grid; gap:4px; flex:1; min-width:0; }.po-agenda-row b,.po-care-row b { font-size:.75rem; font-weight:600; }.po-agenda-row small,.po-care-row small { font-size:.66rem; color:var(--muted); }.po-agenda-row>.i,.po-care-row>.i { color:var(--muted); width:15px; }.po-datebox { display:grid; justify-items:center; gap:2px; border-radius:9px; background:var(--surface-2); min-width:43px; padding:7px; }.po-datebox b { font-size:1.1rem; line-height:1.1; color:var(--navy); }.po-datebox small { font-size:.6rem; text-transform:uppercase; }.po-care-dot { width:8px; height:8px; border-radius:50%; background:var(--warn); flex:none; }.po-care-dot.late { background:var(--crit); }.po-panel-foot { display:block; padding:13px 18px; font-size:.74rem; text-decoration:none; border-top:1px solid var(--line-2); }
.po-horse-toolbar { display:flex; flex-wrap:wrap; gap:10px; align-items:center; padding:14px; background:#fff; border:1px solid var(--line-2); border-radius:12px; }.po-search { position:relative; flex:1; min-width:180px; }.po-search>.i { position:absolute; top:11px; left:10px; color:var(--muted); }.po-search input { width:100%; padding-left:34px; }.po-care-filter { display:flex; align-items:center; gap:6px; font-size:.76rem; }.po-care-filter input { accent-color:var(--accent); }
.po-main .card { box-shadow:none; border-color:var(--line-2); border-radius:15px; }.po-main .balance { background:linear-gradient(120deg,#00203f,#064d56); color:white; border:0; padding:26px; }.po-main .balance small { color:#c2d9df; }.po-main .balance .btn { background:white; color:var(--navy); border-color:white; }.po-main .kindpick { grid-template-columns:1fr 1fr; }.po-main .kindpick button { min-height:88px; border-radius:13px; padding:16px; }.po-main .kindpick button b { font-size:.85rem; }.po-main .kindpick button span { font-size:.73rem; line-height:1.6; }.po-main .evcard { border-radius:15px; padding:20px; }.po-main .evposter { margin:0 -20px; }.po-main .top h2 { font-size:1.35rem; }.po-main .card>header { padding:17px 20px; }.po-main .card .pad { padding:20px; }.po-ui input.in,.po-ui select.in { min-height:42px; }.po-ui .btn.primary { background:var(--accent); border-color:var(--accent); }.po-main .btn { min-height:38px; }.po-signout { justify-self:start; color:var(--crit); }.po-footer { border-top:1px solid var(--line-2); margin-top:32px; padding:20px 0 0; color:var(--muted); font-size:.67rem; display:flex; gap:10px; justify-content:space-between; flex-wrap:wrap; }
.po-bottom-nav { display:none; }
.po-signin { display:grid; grid-template-columns:1fr 1fr; min-height:100dvh; }.po-welcome { position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; padding:48px; color:white; background:radial-gradient(ellipse at 100% 90%,#176f68,transparent 70%),#00203f; }.po-welcome:before { content:""; position:absolute; width:420px; height:420px; border:1px solid #ffffff12; border-radius:50%; right:-150px; bottom:-150px; box-shadow:0 0 0 50px #ffffff03,0 0 0 100px #ffffff03; }.po-welcome-mark { font-size:1.35rem; font-weight:700; }.po-welcome-mark>span { display:block; font-size:.55rem; color:#b9d7d5; letter-spacing:.15em; margin-top:6px; font-weight:400; }.po-welcome h1 { font-size:clamp(2.5rem,4.6vw,5.5rem); letter-spacing:-.06em; line-height:1.08; margin:20px 0; font-weight:500; }.po-welcome p { font-size:.84rem; line-height:1.8; color:#bdd3da; max-width:270px; }.po-welcome>span { font-size:.6rem; letter-spacing:.17em; color:#aac6cd; }.po-login-panel { display:grid; place-items:center; padding:36px; background:white; }.po-login-panel form { width:min(380px,100%); display:grid; gap:22px; }.po-login-panel .svlock { margin-bottom:18px; }.po-login-panel .btn { min-height:48px; border-radius:11px; }.po-login-panel .eyebrow { color:var(--accent); margin-bottom:6px; }.po-login-panel .in { height:48px; border-radius:10px; }.po-login-foot { border-top:1px solid var(--line-2); padding-top:18px; margin:0; font-size:.71rem; color:var(--muted); line-height:1.6; }
@media(max-width:1100px) { .po-app { grid-template-columns:215px minmax(0,1fr); }.po-sidebar { padding:24px 14px; }.po-main { padding:25px 24px; }.po-topbar { padding:0 24px; }.po-hero { padding:24px; gap:15px; }.po-hero-balance { padding:18px; }.po-hero-balance>b { font-size:1.4rem; }.po-home-grid { grid-template-columns:1fr; } }
@media(max-width:760px) {
  .po-app { display:block; }.po-sidebar { display:none; }.po-topbar { position:sticky; top:0; z-index:25; height:69px; padding:0 18px; background:#ffffffed; backdrop-filter:blur(10px); }.po-mobile-brand { display:block; }.po-desktop-label { display:none; }.po-topbar .tools { gap:10px; }.po-brand .svmark { width:31px; height:31px; }.po-brand .product { font-size:1rem; }.po-brand .svby { width:63px; }.po-account-avatar { display:none; }.po-role-switch { font-size:.65rem; height:31px; padding:0 8px; }.po-main { padding:23px 16px calc(92px + env(safe-area-inset-bottom,0px)); }.po-main>#page { gap:19px; }.po-page-title { align-items:flex-start; }.po-page-title h1 { font-size:1.4rem; margin-top:5px; }.po-page-title p { font-size:.74rem; }.po-refresh { font-size:0; width:36px; padding:0; min-width:36px; }.po-refresh .i { width:16px; }.po-hero { grid-template-columns:1fr; padding:23px; gap:20px; border-radius:19px; }.po-hero h2 { font-size:2.1rem; }.po-hero h2 br { display:none; }.po-hero-copy p { margin-bottom:14px; max-width:none; font-size:.74rem; }.po-hero-copy .po-white-btn { display:none; }.po-hero-balance { align-self:stretch; border-radius:12px; padding:15px 17px; display:grid; grid-template-columns:1fr auto; gap:7px 10px; }.po-hero-balance>small { grid-column:1 / -1; font-size:.68rem; }.po-hero-balance>b { font-size:1.55rem; grid-column:1; grid-row:2; }.po-hero-balance>span { grid-column:1 / -1; font-size:.61rem; }.po-hero-balance>a,.po-hero-balance>.btn { grid-column:2; grid-row:2; margin:0; align-self:center; font-size:.67rem; }.po-hero-horse { display:none; }.po-stats { gap:8px; }.po-stats>a { padding:13px 6px; gap:5px; border-radius:12px; }.po-stats span { font-size:.66rem; }.po-stats b { font-size:1.4rem; }.po-stats small { font-size:.58rem; line-height:1.5; }.po-inline-note { padding:11px 12px; font-size:.68rem; line-height:1.6; }.po-quick-actions { grid-template-columns:1fr 1fr; gap:8px; }.po-quick-actions>* { font-size:.69rem !important; min-height:45px !important; padding:8px; }.po-section-heading h2 { font-size:1.05rem; }.po-section-heading>a { font-size:.69rem; }.po-horse-grid { grid-template-columns:1fr; gap:11px; }.po-horse-card { grid-template-columns:83px minmax(0,1fr) 20px; align-items:center; gap:12px; padding:12px; border-radius:14px; }.po-horse-image { height:83px; border-radius:10px; }.po-horse-image .av { font-size:1.4rem; }.po-horse-image>.chip { position:static; display:none; }.po-horse-meta { padding:0; gap:5px; }.po-horse-meta>b { font-size:.94rem; }.po-horse-meta>span { font-size:.67rem; }.po-horse-meta>small { font-size:.63rem; line-height:1.5; }.po-card-arrow { position:static; }.po-home-grid { gap:15px; }.po-panel>header { padding:15px 17px; }.po-agenda-row,.po-care-row { padding:14px 16px; }.po-main .kindpick { grid-template-columns:1fr; }.po-main .card>header { padding:15px 16px; }.po-main .card .pad { padding:16px; }.po-main .balance { padding:21px; }.po-horse-toolbar { gap:10px; padding:12px; }.po-search { min-width:100%; }.po-horse-toolbar>select { flex:1; min-width:0; font-size:.75rem; }.po-care-filter { font-size:.68rem; }.po-page-title>.btn { font-size:.69rem; padding:0 9px; min-height:38px; }.po-footer { font-size:.61rem; line-height:1.8; margin-top:25px; }
  .po-bottom-nav { display:grid; grid-template-columns:repeat(var(--po-tabs),minmax(0,1fr)); position:fixed; z-index:35; bottom:0; left:0; right:0; padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px)); background:#fffffff5; backdrop-filter:blur(12px); border-top:1px solid var(--line-2); box-shadow:0 -4px 20px #00203f08; }.po-bottom-nav>a { display:grid; justify-items:center; align-content:center; gap:5px; min-height:49px; text-decoration:none; color:#6f7c8c; font-size:.6rem; font-weight:500; }.po-bottom-nav .po-nav-icon { width:43px; height:27px; border-radius:10px; }.po-bottom-nav [aria-current=page] { color:var(--accent-ink); font-weight:650; }.po-bottom-nav [aria-current=page] .po-nav-icon { background:var(--accent-soft); }.po-ui .toast { bottom:calc(92px + env(safe-area-inset-bottom,0px)); max-width:90vw; font-size:.76rem; }.po-ui .drawer { width:100%; top:auto; max-height:94dvh; border-radius:22px 22px 0 0; padding-bottom:env(safe-area-inset-bottom,0px); }.po-ui .drawer .body { padding:20px 17px; gap:16px; }.po-ui .drawer footer { flex-wrap:wrap; }.po-ui .drawer footer .btn { min-height:42px; }
  .po-signin { display:block; background:white; min-height:100dvh; }.po-welcome { padding:28px 25px; min-height:245px; justify-content:center; border-radius:0 0 28px 28px; }.po-welcome-mark { display:none; }.po-welcome h1 { font-size:2.2rem; margin:10px 0; }.po-welcome h1 br { display:none; }.po-welcome p { font-size:.75rem; max-width:260px; margin-bottom:0; }.po-welcome>span { display:none; }.po-welcome .po-kicker { font-size:.58rem; }.po-login-panel { padding:30px 25px; }.po-login-panel form { gap:20px; }.po-login-panel .svlock { margin-bottom:8px; }.po-login-panel h2 { font-size:1.35rem !important; }
}
@media(max-width:360px) { .po-hero-balance { grid-template-columns:1fr; }.po-hero-balance>a,.po-hero-balance>.btn { grid-column:1; grid-row:4; justify-self:start; }.po-stats small { font-size:.55rem; }.po-role-switch { max-width:80px; }.po-nav-icon .i { width:18px; height:18px; } }
@media print { .po-sidebar,.po-topbar,.po-bottom-nav,.po-refresh,.po-footer { display:none !important; }.po-app { display:block; }.po-main { padding:0; max-width:none; } }

.po-horse-meta>.po-horse-status { display:none; }
.po-horse-section { border:1px solid var(--line); border-radius:12px; padding:0 14px; }
.po-horse-section>summary { cursor:pointer; padding:14px 0; font-size:.85rem; font-weight:600; color:var(--navy); }
.po-horse-section[open] { padding-bottom:14px; }
.po-horse-section>div+div { margin-top:12px; }
.po-horse-section .empty { padding:16px 0; }
@media(max-width:760px) { .po-horse-meta>.po-horse-status { display:inline-flex; justify-self:start; font-size:.6rem; padding:1px 7px; } }

/* Membership experience uses the same shell and keeps owner-only tools separate. */
.po-member-card { position:relative; overflow:hidden; border-radius:22px; padding:32px; display:grid; gap:32px; color:white; background:radial-gradient(ellipse at 80% 0%,#166b65,transparent 70%),linear-gradient(130deg,#00203f,#013e4e); }
.po-member-card:after { position:absolute; content:""; width:270px; height:270px; border:1px solid #ffffff12; border-radius:50%; right:-50px; bottom:-130px; box-shadow:0 0 0 35px #ffffff04,0 0 0 70px #ffffff03; pointer-events:none; }
.po-member-card-head { display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:.8rem; }.po-member-state { padding:5px 9px; border:1px solid #ffffff30; border-radius:40px; background:#ffffff0b; font-size:.64rem; white-space:nowrap; }.po-member-name { display:grid; gap:6px; }.po-member-name small { font-size:.6rem; letter-spacing:.18em; color:#a5c5cb; }.po-member-name b { font-size:1.9rem; letter-spacing:-.035em; font-weight:500; }.po-member-card-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; position:relative; z-index:1; }.po-member-card-meta>div { display:grid; gap:5px; }.po-member-card-meta small { color:#a4c6cb; font-size:.66rem; }.po-member-card-meta b { font-size:.82rem; font-weight:500; }.po-member-ended { background:linear-gradient(130deg,#384657,#5b6572); }
.po-member-shortcuts { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.po-member-shortcuts>a,.po-dual-callout { display:flex; align-items:center; gap:14px; border:1px solid var(--line-2); border-radius:14px; background:white; color:inherit; text-decoration:none; padding:20px; }.po-member-shortcuts>a>.i:first-child,.po-dual-callout>.i:first-child { width:23px; height:23px; color:var(--accent-ink); }.po-member-shortcuts span,.po-dual-callout span { display:grid; gap:4px; flex:1; }.po-member-shortcuts b,.po-dual-callout b { font-size:.83rem; }.po-member-shortcuts small,.po-dual-callout small { color:var(--muted); font-size:.71rem; line-height:1.6; }.po-member-shortcuts>a>.i:last-child,.po-dual-callout>.i:last-child { width:15px; color:var(--muted); }.po-member-due { display:flex; align-items:center; justify-content:space-between; padding:22px; gap:14px; }.po-member-due>div { display:grid; gap:5px; }.po-member-due small { font-size:.73rem; color:var(--muted); }.po-member-due b { font-size:1.6rem; font-variant-numeric:tabular-nums; }.po-member-due span { font-size:.7rem; color:var(--muted); }.po-dual-callout { background:#eef6f3; border-color:#d8e8e2; }
@media(max-width:760px) { .po-member-card { padding:24px; gap:27px; border-radius:19px; }.po-member-card-head { font-size:.69rem; align-items:flex-start; }.po-member-state { font-size:.58rem; }.po-member-name b { font-size:1.55rem; }.po-member-card-meta { gap:8px; }.po-member-card-meta small { font-size:.59rem; }.po-member-card-meta b { font-size:.72rem; }.po-member-shortcuts { grid-template-columns:1fr; gap:10px; }.po-member-shortcuts>a,.po-dual-callout { padding:17px; }.po-member-due { padding:18px; flex-wrap:wrap; }.po-member-due b { font-size:1.4rem; }.po-dual-callout small { font-size:.67rem; } }

/* Compact + aligned (2026-10-28): tighter boxes, one header style, readable buttons. */
.po-topbar { height:64px; }
.po-sidebar { padding:22px 16px 18px; }
.po-club { padding:16px 0 18px; margin-top:16px; }
.po-club b { font-size:.8rem; line-height:1.3; }
.po-side-nav { gap:2px; }
.po-side-nav a { min-height:40px; padding:9px 12px; }
.po-main { padding:24px 32px 18px; max-width:1180px; }
.po-main>#page { gap:18px; }
.po-page-title h1 { font-size:1.45rem; margin:3px 0 4px; }
.po-hero { padding:22px 26px; gap:20px; border-radius:16px; align-items:center; }
.po-hero h2 { font-size:1.75rem; margin:8px 0; }
.po-hero-copy p { margin-bottom:14px; }
.po-hero-balance { padding:16px 18px; gap:6px; border-radius:12px; }
.po-hero-balance>b { font-size:1.6rem; }
.po-stats { gap:12px; }
.po-stats>a { padding:12px 10px; gap:3px; border-radius:12px; }
.po-stats b { font-size:1.4rem; line-height:1.2; }
.po-quick-actions>button,.po-quick-actions>a { min-height:42px; }
.po-section-heading { margin-bottom:10px; }
/* Horse cards: small photo beside the details instead of a tall banner */
.po-horse-grid { grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:12px; }
.po-horse-card { grid-template-columns:64px minmax(0,1fr) 20px; align-items:center; gap:14px; padding:12px 14px; border-radius:14px; }
.po-horse-image { height:64px; border-radius:10px; }
.po-horse-image .av { font-size:1.3rem; }
.po-horse-image>.chip { display:none; }
.po-horse-meta { padding:0; gap:3px; }
.po-horse-meta>.po-horse-status { display:inline-flex; justify-self:start; font-size:.62rem; padding:1px 7px; }
.po-card-arrow { position:static; }
.po-home-grid { align-items:start; }
.po-panel>header { padding:13px 18px; }
.po-agenda-row,.po-care-row { padding:11px 18px; }
.po-datebox { min-width:40px; padding:5px; }
/* Cards and forms */
.po-main .card>header { padding:13px 18px; }
.po-main .card .pad { padding:16px 18px; }
.po-main .balance { padding:20px; gap:4px; }
.po-main .balance b { font-size:1.7rem; }
.po-ui .po-main .balance .btn.primary { background:#fff; color:var(--navy); border-color:#fff; }
.po-main .kindpick button { min-height:0; padding:12px 14px; }
.po-main .evcard { padding:16px; }
.po-main .evposter { margin:0 -16px; }
.po-page-title>.btn { flex:none; }
.po-stats>a { align-content:start; }
/* Member card */
.po-member-card { padding:22px 24px; gap:18px; border-radius:16px; }
.po-member-name b { font-size:1.5rem; }
.po-member-shortcuts { gap:12px; }
.po-member-shortcuts>a,.po-dual-callout { padding:14px 16px; }
.po-member-due { padding:16px 18px; }
.po-member-due b { font-size:1.4rem; }
/* Sign-in logo on the dark side */
.po-welcome-mark { display:flex; align-items:center; gap:12px; position:relative; }
.po-welcome-mark .svmark { width:44px; height:44px; border-radius:11px; }
.po-welcome-mark>span { display:grid; gap:4px; margin:0; font-size:1.3rem; letter-spacing:0; color:#fff; font-weight:700; }
.po-welcome-mark .product span { color:#5ce8e2; }
.po-welcome-mark small { font-size:.55rem; color:#b9d7d5; letter-spacing:.15em; font-weight:500; }
.po-welcome-by { width:96px; position:relative; opacity:.9; }
@media(max-width:760px) {
  .po-topbar { height:60px; }
  .po-main { padding:18px 14px calc(88px + env(safe-area-inset-bottom,0px)); }
  .po-main>#page { gap:14px; }
  .po-page-title h1 { font-size:1.3rem; }
  .po-hero { padding:18px; gap:14px; }
  .po-hero h2 { font-size:1.5rem; }
  .po-hero-balance { padding:12px 14px; }
  .po-hero-balance>b { font-size:1.35rem; }
  .po-stats>a { padding:10px 6px; }
  .po-stats b { font-size:1.25rem; }
  .po-quick-actions>* { min-height:42px !important; }
  .po-horse-grid { grid-template-columns:1fr; gap:10px; }
  .po-horse-card { grid-template-columns:56px minmax(0,1fr) 20px; padding:10px 12px; }
  .po-horse-image { height:56px; }
  .po-member-card { padding:18px; gap:14px; }
  .po-member-name b { font-size:1.3rem; }
  .po-member-shortcuts>a,.po-dual-callout { padding:13px 14px; }
  .po-main .balance { padding:16px; }
  .po-page-title>.btn:not(.po-refresh) { font-size:.72rem; }
  .po-welcome { min-height:200px; padding:24px 22px; }
  .po-welcome-by { display:none; }
  .po-page-title>.po-refresh { font-size:0; width:36px; min-width:36px; padding:0; gap:0; justify-content:center; }
}
.po-main .evposter img { max-height:240px; }
.po-main .evmore img { width:56px; height:56px; }
@media(max-width:760px) { .po-main .evposter img { max-height:200px; } }
.po-welcome .po-welcome-mark .product { color:#fff; font-size:1.3rem; }
.po-welcome .po-welcome-mark .product span { color:#5ce8e2; }
.po-welcome-mark .svmark { box-shadow:0 0 0 1px #ffffff33; }
/* Expected horse: passport prompt in the record + a reminder on the card */
.po-passport-note { display:flex; align-items:center; gap:12px; }
.po-passport-note>.i { width:22px; height:22px; color:var(--accent-ink); flex:none; }
.po-passport-note>span { display:grid; gap:2px; flex:1; min-width:0; }
.po-passport-note small { color:var(--muted); font-size:.76rem; }
.po-passport-note>.btn { flex:none; }
.po-horse-todo { font-size:.66rem; color:#9a4a07; font-weight:600; }
@media(max-width:420px) { .po-passport-note { flex-wrap:wrap; } .po-passport-note>.btn { width:100%; justify-content:center; } }
.po-expected { display:grid; gap:12px; }
.po-expected>.po-passport-note+.po-passport-note { padding-top:12px; border-top:1px solid var(--line-2); }
.po-horse-todo.ok { color:var(--accent-ink); }

/* Phones with a notch (iPhone app): keep the top bar below the status bar. */
.po-topbar { box-sizing: content-box; padding-top: env(safe-area-inset-top, 0px); }
.pt-head { padding-top: calc(14px + env(safe-area-inset-top, 0px)); }

/* Footer stays at the bottom of the screen on short pages */
.po-workspace { display:flex; flex-direction:column; min-height:100dvh; }
.po-main { flex:1; display:flex; flex-direction:column; width:100%; }
.po-main>#page { flex:1 0 auto; align-content:start; }
.po-footer { margin-top:auto; padding-top:18px; }
.po-main>#page+.po-footer { margin-top:32px; }

/* Sign-in: password or email code */
.po-way { display:grid; grid-template-columns:1fr 1fr; gap:4px; padding:4px; background:var(--sunk); border-radius:11px; }
.po-way button { border:0; background:transparent; border-radius:8px; padding:9px 8px; font:inherit; font-size:.8rem; font-weight:600; color:var(--muted); cursor:pointer; }
.po-way button[aria-pressed="true"] { background:#fff; color:var(--ink); box-shadow:0 1px 3px #00203f1f; }

/* Owner's own photo */
.po-me-photo { width:100%; height:100%; border-radius:50%; object-fit:cover; display:block; }
.po-person>span, .po-account-avatar { overflow:hidden; }
.po-me { display:flex; gap:16px; align-items:center; }
.po-me>div { display:grid; gap:3px; min-width:0; }
.po-me small { color:var(--muted); font-size:.8rem; overflow-wrap:anywhere; }
.po-photo-pick { position:relative; display:block; cursor:pointer; flex:none; line-height:0; }
.po-photo-pick>.av { position:static; }
.po-photo-pick>.po-pick-cap { position:absolute; right:-4px; bottom:-4px; width:32px; height:32px; border-radius:50%; display:grid; place-items:center; background:var(--accent); color:#fff; border:3px solid #fff; box-shadow:0 2px 6px #00203f26; }
.po-photo-pick>.po-pick-cap .i { width:15px; height:15px; }
.po-photo-pick:hover>.po-pick-cap { background:var(--accent-ink); }
.po-photo-pick.round>.po-pick-cap { right:0; bottom:0; }
.po-photo-pick.round .av { border-radius:50%; }
.po-me-acts { display:flex; gap:14px; margin-top:4px; }
.po-me-link { border:0; background:none; padding:0; font:inherit; font-size:.8rem; font-weight:600; color:var(--accent-ink); cursor:pointer; }
.po-me-link:hover { text-decoration:underline; }
#mephoto-rm { color:var(--muted); }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.po-photo-pick.busy { opacity:.55; pointer-events:none; }

/* My Horses: tidy cards */
.po-hcount { margin:-4px 0 -6px; font-size:.78rem; }
.po-main .po-horse-grid:has(.po-hc) { grid-template-columns:repeat(auto-fill,minmax(340px,1fr)); }
.po-hc { grid-template-columns:76px minmax(0,1fr) 20px; align-items:center; gap:16px; padding:14px 16px; min-height:104px; }
.po-hc .po-horse-image { height:76px; width:76px; border-radius:12px; }
.po-hc .po-horse-image .av { font-size:1.45rem; }
.po-hc .po-horse-meta { padding:0; gap:4px; }
.po-hc-top { display:flex; align-items:center; gap:8px; min-width:0; }
.po-hc-top { flex-wrap:wrap; row-gap:3px; }
.po-hc-top b { font-size:1rem; font-weight:650; min-width:0; overflow-wrap:anywhere; }
.po-hc-top .chip { flex:none; font-size:.64rem; padding:1px 8px; }
.po-hc .po-horse-meta>span { font-size:.78rem; }
.po-hc .po-horse-meta>small { font-size:.72rem; }
.po-hc .po-card-arrow { position:static; }
@media(max-width:760px) {
  .po-main .po-horse-grid:has(.po-hc) { grid-template-columns:1fr; }
  .po-hc { grid-template-columns:60px minmax(0,1fr) 18px; gap:12px; padding:11px 12px; min-height:0; }
  .po-hc .po-horse-image { width:60px; height:60px; }
  .po-me { gap:14px; }
  .po-me .av.lg { width:80px; height:80px; font-size:1.4rem; }
}

/* Club news + horse updates (2026-11-05) */
.po-news header { display:flex; justify-content:space-between; align-items:baseline; gap:10px; }
.po-news header h2 { margin:0; font-size:1.02rem; }
.po-news-body p, .po-update p { margin:6px 0; white-space:pre-wrap; color:var(--ink); }
.po-update { display:flex; gap:12px; padding:10px 0; border-top:1px solid var(--line); }
.po-update:first-child { border-top:0; }
.po-update .when { min-width:56px; color:var(--muted); font-size:.82rem; }
.po-update .grow { flex:1; min-width:0; }
.po-news .evmore img, .po-update .evmore img { width:96px; height:96px; }
