/* PulsePlay shared visual system. Presentation only. */
:root{color-scheme:light;--bg:#f4f6fb;--card:#fff;--ink:#18243b;--muted:#627089;--line:#e1e7f0;--accent:#c82455;--ok:#23784e;--warn:#94600d;--bad:#b32945}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.6;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
a,button,input,select,textarea{transition:background-color .15s,border-color .15s,box-shadow .15s}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #587ee3;outline-offset:3px}
h1,h2,h3{letter-spacing:-.025em;line-height:1.25}h1{font-size:clamp(26px,3vw,36px);font-weight:750;margin:0 0 24px}h2{font-size:19px;font-weight:700}p{max-width:85ch}
.pc-admin .bar{position:fixed;inset:0 auto 0 0;width:238px;display:flex;flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:24px;padding:30px 18px;background:#12213b;color:#fff;border:0;overflow-y:auto;z-index:20}
.pc-admin .brand{color:#fff;font-size:20px;letter-spacing:-.04em;padding:0 12px 20px;border-bottom:1px solid #ffffff1c;overflow-wrap:anywhere}
.pc-admin .bar nav{display:flex;flex-direction:column;gap:5px;flex-wrap:nowrap}
.pc-admin .bar nav a{color:#c6d1e3;padding:9px 13px;border:0;border-radius:8px;font-size:13px;font-weight:550;line-height:1.35;text-decoration:none}
.pc-admin .bar nav a:hover{background:#ffffff0c;color:#fff}.pc-admin .bar nav a.on,.pc-admin .bar nav a[aria-current=page]{background:#ffffff16;color:#fff;box-shadow:inset 3px 0 #f45e87}
.pc-admin .bar nav a:last-child{margin-top:18px;border-top:1px solid #ffffff1c;border-radius:0;color:#9eafc9;padding-top:18px}
.pc-admin>main{max-width:1500px;margin:0 0 0 238px;padding:40px clamp(22px,3.3vw,54px) 70px;min-width:0}
.card,.tile{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 3px 15px #17274204;padding:24px}.card h2:first-child{margin-top:0}.grid,.tiles{gap:18px}.tiles{margin-bottom:26px}.tile{padding:22px}.tile b{font-size:32px;letter-spacing:-.04em}.tile span{font-weight:600}.tile:hover{box-shadow:0 7px 25px #1727420b;transform:translateY(-1px)}
label{font-size:13px;font-weight:600;gap:7px;color:#44516a}input,select,textarea{background:#fff;border:1px solid #cbd5e3;border-radius:9px;min-height:44px;padding:10px 12px;box-shadow:0 1px 2px #12213b03}input:hover,select:hover,textarea:hover{border-color:#99aac2}input:focus,select:focus,textarea:focus{border-color:#718cc6;box-shadow:0 0 0 3px #6485d216}textarea{font-family:inherit;line-height:1.6;min-height:110px}input[type=checkbox],input[type=radio]{width:18px;min-height:18px;height:18px;accent-color:var(--accent);box-shadow:none;flex-shrink:0}input:disabled,select:disabled{background:#f3f5f9;color:#69778e}button,.btn,.button{min-height:44px;border-radius:9px;padding:10px 18px;background:var(--accent);color:#fff;border:1px solid var(--accent);font-weight:650;line-height:1.4}button:hover,.btn:hover,.button:hover{filter:brightness(.96);text-decoration:none}button:disabled{cursor:not-allowed;opacity:.55}button.ghost{background:#fff;color:var(--accent)}button.danger{background:#fff6f7;border-color:#edc6ce;color:#a8203e}.row{gap:10px;margin-bottom:22px}.stack{gap:18px}
table{border-color:var(--line);border-radius:12px;margin:16px 0 26px;font-size:13px}th{background:#f7f9fc;color:#59687f;font-size:11px;font-weight:700;letter-spacing:.07em;padding:13px 16px}td{padding:14px 16px;border-color:#edf0f6}tr:hover td{background:#fafbfe}.pill,.badge{border:0;font-size:11px;padding:4px 10px;background:#edf2fa}.pill.ok{background:#e8f6ee;color:#236641}.pill.warn{background:#fff3da;color:#87570a}.pill.bad{background:#fcebed;color:#aa2442}.flash,.notice{border-radius:10px;padding:16px 20px}.flash.bad,.notice.error{background:#fff1f3;color:#9a2440}pre{padding:20px;background:#f8faff}.ops-value{color:#18243b}.ops-grid .card{display:flex;flex-direction:column}.ops-grid .card>a{margin-top:auto;font-weight:650}.ops-grid .card h2{font-size:16px}.ops-meta{font-size:13px}.setup-grid .card{padding:24px}
.pc-login .bar{background:#12213b;border:0;padding:22px 32px}.pc-login .brand{color:white}.pc-login main.narrow{max-width:480px;padding:56px 24px}.pc-login h1{margin-bottom:28px}
/* Public storefront */
.top{background:#fff;border-bottom:1px solid var(--line)}.top .logo{letter-spacing:-.04em}.top nav a{font-weight:550}#main .hero{background:linear-gradient(120deg,#f8faff,#f3f5fc 65%,#fff0f5);border-bottom:1px solid #e9eaf3}#main .hero h1{letter-spacing:-.055em;max-width:860px}#main .hero .lede{color:#586981}#main .hero .link{display:inline-block;margin-left:20px;font-weight:650}#main .plan{border-radius:18px;overflow:hidden}#main .checkout{border-radius:18px}#main .fields input{background:#fff}#main .how{background:#fff}#main .faq details{border-color:var(--line)}.foot{border-top:1px solid var(--line)}
/* Customer portal */
.pc-portal{background:radial-gradient(ellipse at top,#eaf0fc 0,transparent 65%),#f5f7fb}.pc-portal>header{background:#12213b;color:#fff;border:0}.pc-portal nav>a{color:#fff}.pc-portal nav>a:last-child{color:#d2dcee}.pc-portal main{padding-top:38px}.pc-portal .login{max-width:520px;padding:34px;box-shadow:0 16px 60px #12213b0a}.pc-portal .login h1{font-size:42px;letter-spacing:-.045em}.pc-portal .card{border-radius:18px}.pc-portal .date{font-size:32px}.pc-portal button.secondary{background:#ffffff14;color:#fff;border-color:#ffffff25}.pc-portal input{width:100%}.pc-portal .eyebrow{font-size:11px;letter-spacing:.14em}.pc-portal footer{color:#65758d}
@media(max-width:1000px){.pc-admin .bar{position:relative;width:auto;inset:auto;padding:18px 22px;gap:14px;overflow:visible}.pc-admin .brand{padding:0;border:0;font-size:19px}.pc-admin .bar nav{flex-direction:row;flex-wrap:wrap;gap:4px}.pc-admin .bar nav a{font-size:12px;padding:8px 10px}.pc-admin .bar nav a:last-child{margin:0;padding:8px 10px;border:0;border-radius:8px}.pc-admin>main{margin:0;padding:28px 22px 50px}}
@media(max-width:600px){.pc-admin>main{padding:24px 16px 48px}.pc-admin .bar{padding:18px 16px}.card,.tile{padding:20px}.grid,.tiles,.ops-grid,.setup-grid{grid-template-columns:1fr!important}.row{align-items:stretch}.row input,.row select{flex:1;min-width:140px}h1{font-size:27px}.pc-portal .login{padding:24px;margin:18px auto}.pc-portal .login h1{font-size:35px}.pc-portal nav,.pc-portal main{padding:20px 16px}#main .hero .link{margin:16px 0 0;display:block}.ops-table{max-width:100%}td,th{padding:12px}button,.btn{max-width:100%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* Storefront-specific contrast and full-card selection. */
.top,.top .logo{color:#18243b}.top nav a{color:#536079}.top nav a:hover{color:#a51b45}#main .hero,#main .hero h1{color:#18243b}#main h2{font-size:clamp(28px,4vw,40px)}#main .hero h1{font-size:clamp(42px,7vw,80px);max-width:14ch}#main .plan input{width:100%;height:100%;min-height:0;border:0;padding:0;box-shadow:none}#main .plan{color:#18243b}#main .hero-in{padding-bottom:clamp(90px,12vw,145px)}@media(prefers-reduced-motion:reduce){.pulse path{stroke-dashoffset:0}}
.pc-admin .grid{min-width:0}.pc-admin .grid>*,.pc-admin label{min-width:0}.pc-admin .grid input,.pc-admin .grid select,.pc-admin .grid textarea{max-width:100%;min-width:0;width:100%}.pc-admin .row>button{align-self:flex-end}@media(max-width:600px){.pc-admin .grid{grid-template-columns:minmax(0,1fr)!important}}
