/* Rampivo's shared interface: small, local styles with no external font or image dependency. */
:root{--rv-bg:#f4f6f1;--rv-surface:#fff;--rv-soft:#f8faf6;--rv-ink:#21382a;--rv-muted:#627464;--rv-line:#dbe5d7;--rv-accent:#315d40;--rv-accent-hover:#244b33;--rv-radius:12px;--rv-shadow:0 8px 28px rgba(28,55,35,.055);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
html[data-theme=dark]{--rv-bg:#152219;--rv-surface:#203027;--rv-soft:#25382c;--rv-ink:#e4efe0;--rv-muted:#afc2aa;--rv-line:#3a5140;--rv-accent:#9ac885;--rv-accent-hover:#b0daa0;--rv-shadow:none}
*,*::before,*::after{box-sizing:border-box}
:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #8bbd75;outline-offset:3px}
:where(button,input,select,textarea){font:inherit}
:where(button,a.button){transition:background-color .16s ease,border-color .16s ease,transform .16s ease}
:where(button,a.button):active{transform:translateY(1px)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Office workspace */
.rampivo-office{background:var(--rv-bg);color:var(--rv-ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.rampivo-office aside{width:218px;padding:27px 14px;background:var(--rv-surface);border-color:var(--rv-line);overflow-y:auto;scrollbar-width:thin}
.rampivo-office main{margin-left:218px;min-width:0}
.rampivo-office .brand{padding:8px 11px;font-size:23px;letter-spacing:-.9px}
.rampivo-office .brand small{letter-spacing:1.5px}
.rampivo-office .navlabel{margin:34px 11px 12px;color:var(--rv-muted)}
.rampivo-office .asidefoot{position:static;margin:24px 11px 4px}
.rampivo-office .nav{border-radius:9px;margin:2px 0;padding:11px 12px;color:var(--rv-muted);min-height:40px;line-height:1.2}
.rampivo-office .nav:hover{background:var(--rv-soft);color:var(--rv-ink)}
.rampivo-office .nav.active{background:#e4f0e1;color:#25553a}
html[data-theme=dark] .rampivo-office .nav.active{background:#344d38;color:#d1ebc9}
.rampivo-office header{height:72px;padding:0 34px;border-color:var(--rv-line);background:var(--rv-surface)}
.rampivo-office main>#content{padding:34px clamp(18px,3vw,42px);max-width:1580px;margin:auto}
.rampivo-office .pagehead{gap:16px;margin-bottom:24px;flex-wrap:wrap}
.rampivo-office .pagehead h1{font-weight:700;letter-spacing:-1.4px;font-size:clamp(27px,3vw,36px)}
.rampivo-office .subtitle{max-width:620px;line-height:1.55;color:var(--rv-muted)}
.rampivo-office .stats{gap:12px;margin-bottom:22px}
.rampivo-office .stat,.rampivo-office .board,.rampivo-office .settingscard,.rampivo-office .jobcard{background:var(--rv-surface);border:1px solid var(--rv-line);border-radius:var(--rv-radius);box-shadow:var(--rv-shadow)}
.rampivo-office .stat{padding:18px 20px}.rampivo-office .stat strong{font-weight:700;letter-spacing:-1px;color:var(--rv-ink)}
.rampivo-office .toolbar{padding:15px 18px;min-height:62px;border-color:var(--rv-line)}
.rampivo-office .board{overflow:auto}.rampivo-office th{background:var(--rv-soft);color:var(--rv-muted)}
.rampivo-office td,.rampivo-office th{border-color:var(--rv-line);padding:15px 17px}
.rampivo-office .primary{background:#315d40;border-radius:9px;min-height:40px;font-weight:650}
.rampivo-office .primary:hover{background:#244b33}
.rampivo-office .secondary{border-color:var(--rv-line);background:var(--rv-surface);color:var(--rv-ink);border-radius:9px;min-height:38px}
.rampivo-office .secondary:hover{background:var(--rv-soft)}
.rampivo-office :is(input,select,textarea):not([type=checkbox]){border:1px solid var(--rv-line);border-radius:9px;background:var(--rv-surface);color:var(--rv-ink);min-height:39px}
.rampivo-office :is(input,textarea)::placeholder{color:#87988a}
.rampivo-office dialog{background:var(--rv-surface);color:var(--rv-ink);border-color:var(--rv-line);border-radius:16px;box-shadow:0 25px 80px #10211846}
.rampivo-office .notice,.rampivo-office .oilpanel,.rampivo-office .tyrepanel{border-radius:var(--rv-radius)}
.rampivo-office .settingtabs{gap:6px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}
.rampivo-office .settingtabs button{white-space:nowrap}
.rampivo-office footer{border-color:var(--rv-line)}
@media(max-width:900px){.rampivo-office aside{width:180px}.rampivo-office main{margin-left:180px}.rampivo-office main>#content{padding:26px 20px}}
@media(max-width:700px){.rampivo-office aside{position:sticky;top:0;z-index:20;width:100%;display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:5px;padding:7px 10px;scrollbar-width:thin;white-space:nowrap}.rampivo-office aside .brand,.rampivo-office aside .navlabel,.rampivo-office aside .asidefoot{display:none}.rampivo-office aside .nav{flex:0 0 auto;width:auto;padding:10px 12px;margin:0;font-size:11px;text-align:center;min-height:42px}.rampivo-office main{margin:0}.rampivo-office header{height:58px;padding:0 16px}.rampivo-office main>#content{padding:24px 14px}.rampivo-office .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.rampivo-office .stats .stat:last-child{grid-column:1/-1}.rampivo-office .stat{padding:14px}.rampivo-office .pagehead{align-items:flex-start}.rampivo-office .pagehead .primary{width:100%}.rampivo-office .toolbar{align-items:flex-start;flex-wrap:wrap}.rampivo-office .toolbar input{max-width:none;width:100%}.rampivo-office dialog{padding:18px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 24px)}.rampivo-office .modalfoot{flex-wrap:wrap}.rampivo-office .modalfoot>*{flex:1 1 auto}.rampivo-office .bookingpager{position:static;width:auto}}

/* Admin and account access */
.rampivo-admin,.rampivo-access,.rampivo-tech,.rampivo-technician-report{background:var(--rv-bg);color:var(--rv-ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.rampivo-admin main{max-width:1240px;padding:24px clamp(16px,3vw,34px)}
.rampivo-admin header{padding:10px 0 20px;border-bottom:1px solid var(--rv-line)}
.rampivo-admin h1{font-size:clamp(27px,3vw,38px);letter-spacing:-1.1px}
.rampivo-admin .card,.rampivo-access .card,.rampivo-tech .card,.rampivo-technician-report .card{background:var(--rv-surface);border:1px solid var(--rv-line);border-radius:16px;box-shadow:var(--rv-shadow)}
.rampivo-admin .card{padding:22px}
.rampivo-admin .adminTabs{border-color:var(--rv-line);scrollbar-width:thin;gap:6px}
.rampivo-admin .adminTabs button{border-radius:9px;padding:10px 14px;min-height:40px}
.rampivo-admin .adminTabs button.active{background:#315d40;color:#fff}
.rampivo-admin button,.rampivo-access button,.rampivo-tech button,.rampivo-technician-report button{border-radius:9px;min-height:42px}
.rampivo-admin button:not(.secondary):not(.danger):not([data-admin-tab]),.rampivo-access button,.rampivo-tech button:not(.secondary),.rampivo-technician-report button{background:#315d40;color:#fff}
.rampivo-admin button:not(.secondary):not(.danger):not([data-admin-tab]):hover,.rampivo-access button:hover,.rampivo-tech button:not(.secondary):hover,.rampivo-technician-report button:hover{background:#244b33}
.rampivo-admin :is(input,select,textarea),.rampivo-access :is(input,select,textarea),.rampivo-tech :is(input,select,textarea),.rampivo-technician-report :is(input,select,textarea){border:1px solid var(--rv-line);border-radius:9px;background:var(--rv-surface);color:var(--rv-ink)}
.rampivo-admin th{background:var(--rv-soft);color:var(--rv-muted)}
.rampivo-admin td,.rampivo-admin th{border-color:var(--rv-line)}
.rampivo-admin .detailgrid div{background:var(--rv-soft)}
.rampivo-admin .featureRow{border-color:var(--rv-line)}
.rampivo-admin p,.rampivo-access p,.rampivo-tech p,.rampivo-technician-report p{color:var(--rv-muted)}
.rampivo-access main{max-width:520px;margin:7vh auto;padding:20px}
.rampivo-access .mark,.rampivo-technician-report .brand,.rampivo-tech .brand{font-weight:760;letter-spacing:-1px;color:#315d40}
.rampivo-access .card{padding:clamp(22px,4vw,34px)}
.rampivo-access h1{font-size:clamp(26px,4vw,32px);letter-spacing:-.8px}
.rampivo-access details{border-color:var(--rv-line);padding-top:16px;margin-top:23px}
.rampivo-access summary{padding:5px 0}
.rampivo-tech main{max-width:980px}
.rampivo-tech .job,.rampivo-tech .checkitem,.rampivo-tech .optionrow{background:var(--rv-surface);border-color:var(--rv-line);border-radius:11px}
.rampivo-tech .job{padding:18px}.rampivo-tech .job strong{color:var(--rv-ink)}
.rampivo-tech .checkgroup{border-color:var(--rv-line);margin-top:22px}
.rampivo-tech .tag{background:#e5f0e0;color:#2b603a}
.rampivo-technician-report main{max-width:700px;padding:22px}
.rampivo-technician-report .card{padding:clamp(20px,4vw,30px)}
.rampivo-marketing{background:#f5f7f1;color:#21392a;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.rampivo-marketing header{background:#fff;border-color:var(--rv-line)}
.rampivo-marketing .mock{background:linear-gradient(135deg,#dcebd7,#adcaa9);box-shadow:0 26px 64px #244c3230}
.rampivo-marketing .card,.rampivo-marketing .screen{border-radius:16px;box-shadow:var(--rv-shadow)}
.rampivo-marketing .button{border-radius:9px;background:#315d40}.rampivo-marketing .button:hover{background:#244b33}
.rampivo-marketing .button.alt{background:#e7eee3;color:#294f34}
@media(max-width:700px){.rampivo-admin main,.rampivo-tech main,.rampivo-technician-report main{padding:16px}.rampivo-admin .card{padding:16px}.rampivo-admin .adminTabs{overflow-x:auto;flex-wrap:nowrap}.rampivo-admin .detailgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.rampivo-tech .grid{grid-template-columns:1fr}.rampivo-marketing .hero{padding-top:54px;gap:30px}.rampivo-marketing .cards{gap:12px}}

.rampivo-office .staffrowactions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.rampivo-office .staffrowactions button{min-height:36px;padding:7px 10px}.rampivo-office #officeStaffStatus:not(:empty){margin-top:12px;color:#8c4f30}@media(max-width:560px){.rampivo-office .teamrow{align-items:flex-start;flex-wrap:wrap}.rampivo-office .staffrowactions{width:100%;justify-content:flex-start}}
/* Optional tablet offer on the marketing page */
.rampivo-marketing .tabletsection{padding-top:74px;padding-bottom:78px;scroll-margin-top:86px}.tabletgrid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(25px,5vw,70px);align-items:start}.tabletstory h2{max-width:570px}.tabletvisual{margin:28px 0;max-width:550px;padding:24px;border-radius:24px;background:linear-gradient(140deg,#d8e8d0,#b0cdae)}.tabletdevice{margin:auto;max-width:445px;padding:12px;border:7px solid #25392e;border-radius:23px;background:#25392e;box-shadow:0 20px 36px #243e2b32}.tabletglass{min-height:215px;border-radius:10px;background:#f7faf4;padding:20px;color:#234331;display:flex;flex-direction:column;gap:10px}.tabletglass small{font-weight:750;letter-spacing:1.3px}.tabletglass strong{font-size:22px;letter-spacing:-.6px}.tabletglass span{background:#e8f0e2;padding:10px 12px;border-radius:8px;font-size:13px}.tabletbenefits{padding-left:19px;line-height:1.8;color:#3e5c46}.tabletbenefits li{margin:5px 0}.tabletfoot{font-size:12px;line-height:1.6;color:#667c68;display:block}.tabletquote{background:#fff;border:1px solid #d9e6d6;border-radius:20px;padding:clamp(22px,4vw,34px);box-shadow:var(--rv-shadow)}.tabletquote .tabletprice{font-size:clamp(40px,5vw,54px);font-weight:780;letter-spacing:-1.8px;color:#254d34;margin:15px 0 4px}.tabletprice small{font-size:15px;font-weight:500;letter-spacing:0;color:#718676}.tabletquote label{display:block;font-size:13px;font-weight:700;margin:22px 0 8px}.tabletquote input{width:95px;padding:11px;border:1px solid #c7d9c6;border-radius:9px;font-size:18px}.tabletbreakdown{margin:24px 0;border-top:1px solid #dde9da}.tabletbreakdown>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e5eee1;font-size:14px}.tabletbreakdown .tabletgrand{align-items:center;border-bottom:0;padding:18px 0 10px;font-weight:700}.tabletgrand strong{font-size:28px;color:#245039}.tabletquote .button{margin:10px 0 16px}.tabletquote .tabletfoot{margin-top:4px}@media(max-width:800px){.tabletgrid{grid-template-columns:1fr}.rampivo-marketing .tabletsection{padding-top:54px}.tabletquote{max-width:600px}}@media(max-width:760px){.rampivo-marketing nav a[href="#tablets"]{display:none}}
