/* partner.css: the Hawaii partner page (phone first). Tokens only, from https://lavatory.ai/ui/lav-ui.css.
   Self-contained module: dist/partners/_partner/ is copied as is into the partners.lavatory.ai project. */
html.lav-themed body.pt{margin:0;background:var(--lav-bg);color:var(--lav-ink);font:var(--lav-fs-md)/1.45 var(--lav-font);min-height:100vh;-webkit-text-size-adjust:100%}
.pt *{box-sizing:border-box}
.pt a{color:var(--lav-brand)}
.pt :focus-visible{outline:2px solid var(--lav-focus);outline-offset:2px;border-radius:6px}
.pt .lav-head{position:sticky;top:0;padding:10px 14px;gap:10px;flex-wrap:nowrap}
.pt .pt-mark{display:flex;align-items:center;gap:10px;min-width:0}
.pt .pt-mark img{width:34px;height:34px;border-radius:8px;flex:none}
.pt .lav-theme-btn{min-height:40px;padding:6px 14px;font-size:13px}
.pt-banner{background:var(--lav-gold-tint);border-bottom:1px solid var(--lav-gold-line);color:var(--lav-ink);font-size:13.5px;padding:9px 14px;text-align:center}
.pt-banner a{font-weight:600}
.pt-states{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;padding:8px 14px 0;font-size:12.5px;color:var(--lav-mut)}
.pt-wrap{max-width:640px;margin:0 auto;padding:14px 14px 40px}
.pt-wrap h1{font-size:var(--lav-fs-xl);letter-spacing:-.3px;margin:6px 0 2px;font-weight:var(--lav-w-strong)}
.pt-sub{color:var(--lav-mut);font-size:13.5px;margin:0 0 6px}
.pt-grp{font-size:12px;text-transform:uppercase;letter-spacing:var(--lav-track-label);color:var(--lav-brand);font-weight:var(--lav-w-strong);margin:22px 0 8px;display:flex;align-items:center;gap:8px}
.pt-grp::after{content:"";flex:1;height:2px;background:var(--lav-line)}
.pt-card{display:block;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;min-height:76px;margin:0 0 10px;padding:14px 16px}
.pt-card:hover{border-color:var(--lav-line-strong)}
.pt-card .top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.pt-card .when{font-weight:var(--lav-w-strong);font-size:16px}
.pt-card .win{color:var(--lav-mut);font-size:13.5px}
.pt-card .who{font-weight:var(--lav-w-strong);font-size:17px;margin:8px 0 1px;overflow-wrap:anywhere}
.pt-card .where{color:var(--lav-mut);font-size:14px}
.pt-card .what{margin-top:8px;font-size:14px}
.pt-card .extra{color:var(--lav-mut);font-size:13px;margin-top:2px}
.pt-card.cancelled{border-color:var(--lav-bad)}
.pt-card.changed{border-color:var(--lav-warn)}
.pt-chip{display:inline-block;font-size:12.5px;font-weight:600;padding:3px 10px;border-radius:14px;white-space:nowrap;background:var(--lav-track);color:var(--lav-mut)}
.pt-chip.good{background:var(--lav-good-bg);color:var(--lav-good)}
.pt-chip.warn{background:var(--lav-warn-bg);color:var(--lav-warn-ink)}
.pt-chip.bad{background:var(--lav-bad-bg);color:var(--lav-bad)}
.pt-chip.info{background:var(--lav-info-bg);color:var(--lav-info-ink)}
.pt .back{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;margin:0 0 4px;font-weight:600;background:none;border:0;color:var(--lav-brand);font-size:15px;cursor:pointer}
.pt-sec{margin:14px 0}
.pt-sec h2{font-size:12px;text-transform:uppercase;letter-spacing:var(--lav-track-label);color:var(--lav-mut);margin:0 0 6px;font-weight:var(--lav-w-strong)}
.pt-val{font-size:16px;overflow-wrap:anywhere}
.pt-val.none{color:var(--lav-mut)}
.pt-act{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.pt .lav-btn.pt-big{min-height:56px;font-size:17px;padding:12px 18px;flex:1 1 140px;border-radius:var(--lav-r)}
.pt .lav-btn.pt-call{min-height:48px;font-size:15.5px;flex:none}
.pt .lav-btn.pt-wide{width:100%}
.pt-change{background:var(--lav-warn-bg);border:1px solid var(--lav-warn);color:var(--lav-warn-ink);border-radius:var(--lav-r);padding:12px 14px;margin:12px 0}
.pt-change b{display:block;font-size:16px;margin-bottom:4px}
.pt-change ul{margin:6px 0 0;padding-left:18px}
.pt-done{background:var(--lav-good-bg);border:1px solid var(--lav-good);color:var(--lav-good);border-radius:var(--lav-r);padding:12px 14px;margin:12px 0;font-weight:600}
.pt-done.bad{background:var(--lav-bad-bg);border-color:var(--lav-bad);color:var(--lav-bad)}
.pt-pre{white-space:pre-wrap}
.pt .lav-textarea{font-size:16px;min-height:96px}
.pt .lav-input{font-size:18px;min-height:52px;padding:10px 12px;letter-spacing:.02em}
.pt .lav-input.code{font-size:28px;letter-spacing:.5em;text-align:center}
.pt-note{font-size:13px;color:var(--lav-mut);margin:8px 0}
.pt-signin{max-width:420px;margin:0 auto;padding:22px 16px 40px}
.pt-signin h1{font-size:var(--lav-fs-xl);margin:10px 0 6px}
.pt-gbtn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;border-radius:var(--lav-r);border:1px solid var(--lav-line-strong);background:var(--lav-panel);color:var(--lav-ink);font-weight:600;font-size:16px;text-decoration:none}
.pt-foot{padding:6px 14px 26px}
.pt-foot .lav-foot{justify-content:center;flex-wrap:wrap}
@media(min-width:700px){.pt-wrap{padding-top:22px}.pt-card{padding:16px 18px}}
@media(prefers-reduced-motion:reduce){.pt *{transition:none!important;animation:none!important}}
.pt .lav-btn,.pt button,.pt input,.pt textarea{font-family:var(--lav-font)}
.pt-visit{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--lav-line)}
.pt-visit:first-of-type{border-top:0}
.pt-vbtn{min-height:44px;padding:0 14px;flex:none}
.pt-vs.good{color:var(--lav-good)}.pt-vs.bad{color:var(--lav-bad)}

.pt-nl{white-space:pre-wrap}
.pt-period{margin:10px 0 2px}

.pt-gps{font-size:13px;color:var(--lav-good);margin-top:4px;font-weight:600}

/* long term jobs: one fold per billing cycle, only the current one open */
.pt-vgrp{border-top:1px solid var(--lav-line)}.pt-vgrp:first-of-type{border-top:0}.pt-vgrp>summary{cursor:pointer;font-weight:600;padding:12px 0;line-height:1.35}.pt-vgrp>summary .pt-sub{font-weight:400;margin:0}
