.vvbp-app{--vvbp-glass:rgba(255,255,255,.16);--vvbp-border:rgba(255,255,255,.26);--vvbp-text:#111;--vvbp-muted:rgba(17,17,17,.64);--vvbp-shadow:0 24px 80px rgba(0,0,0,.18);--vvbp-accent:#8b5cf6;--vvbp-pink:#ec4899;--vvbp-cyan:#22d3ee;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--vvbp-text);width:100%}.vvbp-app.glass-dark{--vvbp-glass:rgba(8,10,18,.46);--vvbp-border:rgba(255,255,255,.16);--vvbp-text:#fff;--vvbp-muted:rgba(255,255,255,.68)}
.vvbp-glass{background:var(--vvbp-glass);backdrop-filter:blur(30px) saturate(165%);-webkit-backdrop-filter:blur(30px) saturate(165%);border:1px solid var(--vvbp-border);box-shadow:var(--vvbp-shadow),inset 0 1px 0 rgba(255,255,255,.22);border-radius:28px;padding:28px;color:var(--vvbp-text)}
.vvbp-app h2{font-size:clamp(28px,4vw,48px);line-height:1.03;margin:6px 0 10px;letter-spacing:-.035em}.vvbp-app h3{margin:28px 0 14px;font-size:18px}.vvbp-kicker{text-transform:uppercase;font-size:10px;letter-spacing:2px;font-weight:800;color:var(--vvbp-accent)}.vvbp-muted{color:var(--vvbp-muted)}
.vvbp-grid2,.vvbp-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.vvbp-form>label,.vvbp-grid2 label,.vvbp-panel label,.vvbp-inline-form label{display:block;font-size:12px;font-weight:700;margin:14px 0}.vvbp-app input,.vvbp-app select,.vvbp-app textarea{width:100%;border:1px solid rgba(120,120,130,.22);background:rgba(255,255,255,.62);color:#111;border-radius:14px;padding:12px 14px;outline:none}.glass-dark input,.glass-dark select,.glass-dark textarea{background:rgba(255,255,255,.10);color:#fff}.vvbp-app input:focus,.vvbp-app select:focus,.vvbp-app textarea:focus{border-color:rgba(139,92,246,.68);box-shadow:0 0 0 3px rgba(139,92,246,.12)}
.vvbp-rate,.vvbp-note,.vvbp-success{border-radius:18px;padding:18px;margin:18px 0}.vvbp-rate{background:rgba(15,15,18,.88);color:#fff}.vvbp-rate span,.vvbp-rate small{display:block}.vvbp-rate strong{font-size:24px;display:block;margin:2px 0 6px}.vvbp-rate small{color:rgba(255,255,255,.7);line-height:1.55}.vvbp-note{background:rgba(139,92,246,.10);border:1px solid rgba(139,92,246,.18)}.vvbp-success{background:rgba(22,163,74,.12);border:1px solid rgba(22,163,74,.24)}
.vvbp-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.vvbp-service-card{overflow:hidden;border-radius:22px;border:1px solid var(--vvbp-border);background:rgba(255,255,255,.20);cursor:pointer;transition:.18s transform,.18s border-color}.vvbp-service-card:hover{transform:translateY(-2px);border-color:rgba(139,92,246,.46)}.vvbp-service-card img,.vvbp-service-card video{width:100%;height:210px;object-fit:cover;display:block;background:#000}.vvbp-service-body{display:block;padding:16px}.vvbp-service-body input{width:auto;margin-right:8px}.vvbp-service-body b,.vvbp-service-body em,.vvbp-service-body strong,.vvbp-service-body small{display:block}.vvbp-service-body em{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--vvbp-muted);font-style:normal;margin:4px 0}.vvbp-service-body p{font-size:12px;line-height:1.6}.vvbp-service-body strong{font-size:16px}.vvbp-service-body small{color:var(--vvbp-muted);margin-top:5px}
.vvbp-actions,.vvbp-button-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.vvbp-btn,.vvbp-ghost-link{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:11px 18px;background:#111;color:#fff!important;text-decoration:none!important;font-size:12px;font-weight:800;cursor:pointer}.glass-dark .vvbp-btn{background:#fff;color:#111!important}.vvbp-btn.small{padding:8px 13px;font-size:11px}.vvbp-btn.tiny{padding:6px 10px;font-size:10px}.vvbp-btn.success{background:#16794b}.vvbp-btn.warn{background:#a36c08}.vvbp-btn.danger{background:#b42318}.vvbp-ghost-link{background:transparent;border:1px solid var(--vvbp-border);color:var(--vvbp-text)!important}.vvbp-back{display:inline-block;color:var(--vvbp-muted);text-decoration:none;margin-bottom:8px}
.vvbp-portal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.vvbp-portal-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}.vvbp-portal-cards>div{padding:16px;border-radius:18px;background:rgba(255,255,255,.16);border:1px solid var(--vvbp-border)}.vvbp-portal-cards b,.vvbp-portal-cards strong{display:block}.vvbp-portal-cards b{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--vvbp-muted)}.vvbp-portal-cards strong{font-size:24px;margin-top:6px}.vvbp-tabs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.vvbp-panel{padding:20px;border-radius:22px;background:rgba(255,255,255,.12);border:1px solid var(--vvbp-border);margin-top:16px}.vvbp-panel h3{margin-top:0}.vvbp-detail-grid span{padding:10px 0;font-size:12px}.vvbp-detail-grid b{display:block;color:var(--vvbp-muted);font-size:10px;text-transform:uppercase;letter-spacing:.8px}
.vvbp-table{overflow:auto}.vvbp-table>div{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:12px;align-items:center;padding:12px 4px;border-bottom:1px solid rgba(128,128,128,.18);min-width:760px}.vvbp-table .head{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--vvbp-muted)}.vvbp-table small,.vvbp-doc-row small{display:block;color:var(--vvbp-muted)}.vvbp-status{display:inline-block;padding:5px 9px;border-radius:999px;background:rgba(139,92,246,.12);font-size:10px;font-weight:800}.vvbp-status.big{font-size:12px;padding:7px 12px}.vvbp-booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.vvbp-booking-card{display:flex;flex-direction:column;gap:5px;padding:18px;border-radius:20px;border:1px solid var(--vvbp-border);background:rgba(255,255,255,.14);color:var(--vvbp-text)!important;text-decoration:none!important}.vvbp-booking-card strong{margin-top:8px}.vvbp-booking-card small{color:var(--vvbp-muted)}
.vvbp-doc-row,.vvbp-fin-lines span,.vvbp-block-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(128,128,128,.16)}.vvbp-fin-lines span.total{font-size:16px;padding-top:14px}.vvbp-task-list{display:grid;gap:8px}.vvbp-task-list span{padding:10px 12px;border-radius:12px;background:rgba(128,128,128,.08)}.vvbp-task-list .done{color:#16794b}.vvbp-task-list .pending{color:var(--vvbp-muted)}.vvbp-agreement-preview{max-height:360px;overflow:auto;padding:16px;border-radius:16px;background:rgba(255,255,255,.18);font-size:12px;line-height:1.65}.vvbp-timeline>div{padding:10px 0;border-bottom:1px solid rgba(128,128,128,.16)}.vvbp-timeline time{display:block;font-size:10px;color:var(--vvbp-muted)}.vvbp-timeline p{margin:3px 0 0;font-size:12px}.vvbp-inline-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:10px;align-items:end}.vvbp-check{display:flex!important;align-items:flex-start;gap:8px}.vvbp-check input{width:auto!important;margin-top:3px}
.vvbp-calendar{margin:20px 0}.vvbp-cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.vvbp-cal-nav{display:flex;gap:6px}.vvbp-cal-nav button{width:34px;height:34px;border-radius:50%;border:1px solid var(--vvbp-border);background:rgba(255,255,255,.18);color:var(--vvbp-text)}.vvbp-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.vvbp-cal-dow{text-align:center;font-size:9px;text-transform:uppercase;color:var(--vvbp-muted);padding:6px}.vvbp-cal-day{min-height:42px;border-radius:12px;border:1px solid rgba(128,128,128,.16);background:rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;font-size:11px}.vvbp-cal-day.blocked{opacity:.72;text-decoration:line-through}.vvbp-cal-day.owner{background:rgba(139,92,246,.14)}.vvbp-cal-day.vyrtual{background:rgba(236,72,153,.14)}.vvbp-cal-day.external{background:rgba(34,211,238,.14)}.vvbp-cal-day.maintenance{background:rgba(100,100,110,.15)}.vvbp-cal-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px;font-size:10px;color:var(--vvbp-muted)}
@media(max-width:800px){.vvbp-glass{padding:20px;border-radius:22px}.vvbp-grid2,.vvbp-tabs-grid,.vvbp-booking-grid{grid-template-columns:1fr}.vvbp-services{grid-template-columns:1fr}.vvbp-portal-cards{grid-template-columns:repeat(2,1fr)}.vvbp-inline-form{grid-template-columns:1fr}.vvbp-service-card img,.vvbp-service-card video{height:190px}}

/* Qualified nonprofit rate */
.vvbp-nonprofit-box{margin:20px 0;padding:20px;border:1px solid rgba(255,255,255,.28);border-radius:22px;background:rgba(255,255,255,.12);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);box-shadow:inset 0 1px 0 rgba(255,255,255,.22)}
.vvbp-nonprofit-box h3{margin:0 0 7px}.vvbp-nonprofit-box p{margin:0 0 14px}.vvbp-nonprofit-box small{display:block;margin-top:6px;opacity:.72}
.vvbp-portal-nav{display:flex;gap:8px;overflow-x:auto;padding:6px 2px 18px;margin-bottom:10px;scrollbar-width:thin}.vvbp-portal-nav a{flex:0 0 auto;padding:9px 13px;border:1px solid var(--vvbp-border);border-radius:999px;color:var(--vvbp-text);text-decoration:none;background:rgba(255,255,255,.16);font-size:12px;font-weight:700}.vvbp-portal-nav a:hover,.vvbp-portal-nav a.active{background:rgba(124,92,255,.18);border-color:rgba(124,92,255,.48)}
