/* Rupliva identity. Layout and persisted theme preferences remain shared. */
:root{--rupliva-blue:#4361ee;--rupliva-ink:#15244c;--rupliva-paper:#f5f2eb;--rupliva-soft:#dde3ff;--rupliva-muted:#677089}
:root[data-theme=light]{--ink:var(--rupliva-ink);--paper:var(--rupliva-paper);--accent:#3c54d3;--accent-soft:var(--rupliva-soft);--muted:#5c657d}
:root[data-theme=dark]{--accent:#b7c5ff;--action:#4361ee;--action-hover:#334bd1;--accent-soft:#343d63}
[data-theme=light] .button{background:#4361ee;border-color:#4361ee;color:#fff}
[data-theme=light] .button:hover{background:#334bd1;border-color:#334bd1}
[data-theme=light] .button.secondary{background:#edf0ff;color:#243b9e;border-color:#a5b3e6}
[data-theme=light] .button.danger{background:#fae8e9;color:#943646;border-color:#d9a5ad}
[data-theme=light] .nav-link.active{background:#dde3ff;color:#213baf;box-shadow:inset 3px 0 #4361ee}
.rupliva-brand{display:block;width:220px;max-width:100%;height:auto;padding:4px 6px;background:#f5f2eb;border-radius:9px;flex-shrink:1}
.rupliva-brand img{display:block;width:100%;height:auto;aspect-ratio:560/130;object-fit:contain}
.sidebar .rupliva-brand{width:100%;padding:4px 0}
.compact-brand{display:none;width:36px;height:36px;flex-shrink:0}
.compact-brand img{display:block;width:100%;height:100%;object-fit:contain}
.auth-story h1{font-family:inherit;font-size:clamp(32px,3.8vw,46px);line-height:1.18;letter-spacing:-1.2px;max-width:360px}
.auth-story .brand-positioning{font-size:12px;letter-spacing:.03em;color:inherit;opacity:.9}
.auth-story .auth-product-copy{font-size:14px;line-height:1.8;max-width:340px}
.auth-story .auth-bottom{color:inherit;opacity:.8}
.auth-links>a{display:inline-block;margin:6px 8px 6px 0}
.brand-footer-name{white-space:nowrap}
.rupliva-pricing{margin:32px 0;min-width:0}
.pricing-heading{max-width:720px;margin-bottom:26px}
.pricing-heading h2{font-size:clamp(24px,2.5vw,34px);line-height:1.25;margin:10px 0 14px}
.pricing-heading p,.pricing-note{color:var(--muted);line-height:1.7}
.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.term-card{min-width:0;background:#fff;border:1px solid #cbd1e2;border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:20px;color:#15244c}
.term-card h3{font-size:23px;line-height:1.3;margin:0 0 20px}
.term-price{display:flex;align-items:baseline;gap:0;margin:0 0 16px;color:#253fc5;flex-wrap:wrap}
.term-price strong{font-size:60px;font-weight:700;line-height:1.1;letter-spacing:-2px}
.term-price span{font-size:17px;font-weight:600;white-space:nowrap;line-height:1.6}
.term-total{font-size:16px;line-height:1.7;margin:0 0 6px;overflow-wrap:normal}
.term-payment{font-size:14px;color:#57617b;margin:0;line-height:1.7}
.term-unavailable{display:inline-block;margin:14px 0 0;font-size:12px;line-height:1.6;border:1px solid #b4bedc;border-radius:6px;padding:5px 8px;color:#45527a}
.pricing-cups{display:flex;align-items:flex-end;justify-content:center;gap:8px;height:136px;margin-top:auto;--cup-scale:1}
.pricing-cups[data-cup-size=M]{--cup-scale:.82}.pricing-cups[data-cup-size=S]{--cup-scale:.65}
.pricing-cups img{display:block;max-width:none;width:auto;height:calc(136px * var(--cup-scale));object-fit:contain;flex-shrink:0}
.pricing-note{font-size:12px;margin:18px 0}
.public-pricing{max-width:1180px;margin:0 auto}
.public-brand-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:64px}
.public-brand-bar nav{display:flex;align-items:center;gap:20px;flex-wrap:wrap;font-size:14px}
.public-pricing-intro{max-width:760px;margin-bottom:48px}
.public-pricing-intro h1{font-size:clamp(34px,4.5vw,58px);line-height:1.15;letter-spacing:-1.7px;margin:20px 0 24px;font-weight:650}
.public-pricing-intro>p:last-child{max-width:650px;line-height:1.8;font-size:16px;color:var(--muted)}
.public-pricing-footer{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:48px 0 12px;font-size:12px;color:var(--muted)}
[data-theme=dark] .term-card{background:#303237;border-color:#596174;color:#f0f2fa}
[data-theme=dark] .term-price{color:#b7c5ff}
[data-theme=dark] .term-payment{color:#c1c7d6}
[data-theme=dark] .term-unavailable{color:#c1c7d6;border-color:#687089}
[data-theme=dark] .auth-story .auth-product-copy{color:#c1c7d6}
.pricing-current{margin:32px 0}.pricing-current .price{font-size:38px}
/* Focus has identical geometry in both themes. */
:focus-visible{outline:3px solid #4361ee;outline-offset:4px}
[data-theme=dark] :focus-visible{outline-color:#bdcaff}
@media(max-width:1279px){.pricing-grid{grid-template-columns:1fr}.term-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end}.pricing-cups{margin:0}}
@media(max-width:760px){.compact-brand{display:block}.staff .compact-brand{display:none}.public-brand-bar{margin-bottom:36px;align-items:flex-start}.public-brand-bar .rupliva-brand{width:180px}.public-brand-bar nav{gap:12px}.public-pricing-intro{margin-bottom:32px}.auth-story .auth-product-copy{display:block}.auth-story{gap:24px}.auth-story .brand-positioning{display:block}.term-card{border-radius:14px}.public-pricing-footer{margin-top:32px}}
@media(max-width:600px){.term-card{grid-template-columns:1fr;padding:22px;gap:16px}.term-card h3{margin-bottom:14px}.term-price strong{font-size:54px}.pricing-cups{height:102px;justify-content:flex-start}.pricing-cups img{height:calc(102px * var(--cup-scale))}.public-brand-bar{flex-wrap:wrap}.public-brand-bar nav{width:100%;justify-content:space-between}.pricing-heading h2{font-size:25px}.public-pricing-intro h1{letter-spacing:-1px}.pricing-current .price{font-size:32px}}
@media(max-width:500px){.topbar>.compact-brand+span{display:none}.auth-story{padding:24px}.auth-card{padding:28px 22px}.public-pricing-intro>p:last-child{font-size:14px}.term-price span{font-size:16px}}
@media(prefers-reduced-motion:reduce){.rupliva-pricing *{transition:none!important}}
