/* Veclera Client Portal — CSS v1.0 */
:root{
  --vcp-obs:#0B0F0E; --vcp-dark:#111615; --vcp-dark2:#151A19;
  --vcp-teal:#0E7C7B; --vcp-teal-m:#0A5E5D; --vcp-teal-gl:rgba(14,124,123,.15);
  --vcp-gold:#C9A96E; --vcp-gold-lt:#E2C898;
  --vcp-white:#FDFCFB; --vcp-muted:#8A9090;
  --vcp-green:#1A7A4A; --vcp-red:#C0392B;
  --vcp-serif:'Cormorant Garamond',Georgia,serif;
  --vcp-sans:'Outfit',Arial,sans-serif;
  --vcp-r:10px; --vcp-r-lg:18px; --vcp-r-xl:999px;
  --vcp-trans:all .22s ease;
}
.vcp-wrap{font-family:var(--vcp-sans);max-width:900px;margin:0 auto;padding:40px 20px;}
.vcp-wrap *{box-sizing:border-box;}

/* ── Buttons ── */
.vcp-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:var(--vcp-r-xl);font-family:var(--vcp-sans);font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;border:none;cursor:pointer;text-decoration:none;transition:var(--vcp-trans);}
.vcp-btn--teal{background:var(--vcp-teal);color:#fff;}
.vcp-btn--teal:hover{background:var(--vcp-teal-m);transform:translateY(-2px);box-shadow:0 6px 20px rgba(14,124,123,.4);}
.vcp-btn--gold{background:var(--vcp-gold);color:var(--vcp-obs);}
.vcp-btn--gold:hover{background:var(--vcp-gold-lt);transform:translateY(-2px);box-shadow:0 6px 20px rgba(201,169,110,.35);}
.vcp-btn--outline{background:transparent;color:var(--vcp-teal);border:1.5px solid var(--vcp-teal);}
.vcp-btn--outline:hover{background:var(--vcp-teal-gl);}
.vcp-btn--ghost{background:transparent;color:var(--vcp-muted);border:1.5px solid rgba(255,255,255,.15);}
.vcp-btn--ghost:hover{border-color:rgba(255,255,255,.35);color:var(--vcp-white);}
.vcp-btn--wa{background:#25D366;color:#fff;}
.vcp-btn--wa:hover{background:#1DA851;}
.vcp-btn--lg{padding:15px 32px;font-size:13px;}
.vcp-btn--sm{padding:7px 14px;font-size:10px;}
.vcp-btn--full{width:100%;justify-content:center;}

/* ── Form elements ── */
.vcp-form{display:flex;flex-direction:column;gap:0;}
.vcp-form-section{background:var(--vcp-dark);border:1px solid rgba(255,255,255,.08);border-radius:var(--vcp-r-lg);padding:28px;margin-bottom:16px;}
.vcp-section-title{font-family:var(--vcp-serif);font-size:20px;font-weight:600;color:var(--vcp-white);margin:0 0 20px;display:flex;align-items:center;gap:12px;}
.vcp-section-title span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--vcp-teal);color:#fff;font-family:var(--vcp-sans);font-size:12px;font-weight:700;flex-shrink:0;}
.vcp-field{margin-bottom:16px;}
.vcp-field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.vcp-label{display:block;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--vcp-muted);margin-bottom:7px;}
.vcp-input{width:100%;padding:12px 15px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--vcp-r);color:var(--vcp-white);font-family:var(--vcp-sans);font-size:14px;outline:none;transition:border .2s;}
.vcp-input:focus{border-color:var(--vcp-teal);background:rgba(14,124,123,.08);}
.vcp-input::placeholder{color:rgba(255,255,255,.2);}
.vcp-input option{background:var(--vcp-obs);color:#fff;}
.vcp-hint{font-size:12px;color:var(--vcp-muted);margin-top:5px;line-height:1.5;}
.vcp-pwd-wrap{position:relative;}
.vcp-pwd-wrap .vcp-input{padding-right:44px;}
.vcp-pwd-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:16px;color:rgba(255,255,255,.35);padding:0;}
.vcp-pwd-toggle:hover{color:var(--vcp-teal);}
.vcp-check-label{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:rgba(255,255,255,.7);cursor:pointer;margin-bottom:10px;}
.vcp-check-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--vcp-teal);flex-shrink:0;margin-top:2px;}
.vcp-check-label a{color:var(--vcp-teal);}
.vcp-err{background:rgba(192,57,43,.15);border:1px solid rgba(192,57,43,.3);border-radius:var(--vcp-r);padding:10px 14px;font-size:13px;color:#e74c3c;margin-bottom:12px;}
.vcp-msg{padding:12px 16px;border-radius:var(--vcp-r);font-size:13px;margin-bottom:14px;}
.vcp-msg--success{background:rgba(26,122,74,.15);border:1px solid rgba(26,122,74,.3);color:#4CAF50;}
.vcp-msg--error{background:rgba(192,57,43,.15);border:1px solid rgba(192,57,43,.3);color:#e74c3c;}
.vcp-form-note{font-size:12px;color:var(--vcp-muted);text-align:center;margin-top:12px;}
.vcp-login-nudge{display:flex;align-items:flex-start;gap:10px;background:rgba(14,124,123,.1);border:1px solid rgba(14,124,123,.25);border-radius:var(--vcp-r);padding:12px 16px;font-size:13px;color:rgba(255,255,255,.65);margin-top:4px;}
.vcp-login-nudge a{color:var(--vcp-teal);font-weight:600;}
.vcp-notice{background:rgba(201,169,110,.1);border:1px solid rgba(201,169,110,.25);border-radius:var(--vcp-r);padding:14px 18px;font-size:13px;color:rgba(255,255,255,.75);margin-bottom:16px;}
.vcp-notice--gold{border-color:rgba(201,169,110,.3);}

/* ── Block booking hero ── */
.vcp-block-hero{text-align:center;margin-bottom:32px;}
.vcp-block-hero__badge{display:inline-block;background:rgba(93,64,55,.25);border:1px solid rgba(93,64,55,.4);border-radius:999px;padding:6px 18px;font-size:11px;font-weight:700;color:var(--vcp-gold);letter-spacing:2px;text-transform:uppercase;margin-bottom:14px;}
.vcp-block-hero__h{font-family:var(--vcp-serif);font-size:36px;font-weight:700;color:var(--vcp-white);margin:0 0 10px;line-height:1.15;}
.vcp-block-hero__sub{font-size:15px;color:var(--vcp-muted);max-width:580px;margin:0 auto;line-height:1.75;}

/* ── Block type cards ── */
.vcp-block-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px;}
.vcp-block-type-card{cursor:pointer;}
.vcp-block-type-card input[type=radio]{display:none;}
.vcp-block-type-card__inner{background:rgba(255,255,255,.05);border:2px solid rgba(255,255,255,.1);border-radius:var(--vcp-r-lg);padding:22px;transition:var(--vcp-trans);text-align:center;}
.vcp-block-type-card input:checked+.vcp-block-type-card__inner{border-color:var(--vcp-gold);background:rgba(201,169,110,.08);}
.vcp-block-type-card:hover .vcp-block-type-card__inner{border-color:rgba(201,169,110,.5);background:rgba(201,169,110,.05);}
.vcp-block-type-card__icon{font-size:36px;display:block;margin-bottom:10px;}
.vcp-block-type-card h4{font-family:var(--vcp-serif);font-size:18px;font-weight:600;color:var(--vcp-white);margin:0 0 6px;}
.vcp-block-type-card__price{font-size:13px;font-weight:700;color:var(--vcp-gold);margin-bottom:12px;}
.vcp-block-type-card__specs{list-style:none;padding:0;margin:0;font-size:12px;color:var(--vcp-muted);display:flex;flex-direction:column;gap:4px;}

/* ── Estimate box ── */
.vcp-estimate-box{background:rgba(14,124,123,.12);border:1px solid rgba(14,124,123,.3);border-radius:var(--vcp-r-lg);padding:20px 24px;margin-top:16px;}
.vcp-estimate-box__inner{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:10px;}
.vcp-estimate-box__label{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--vcp-muted);margin-bottom:4px;}
.vcp-estimate-box__range{font-family:var(--vcp-serif);font-size:24px;font-weight:700;color:var(--vcp-gold);}
.vcp-estimate-box__val{font-size:16px;font-weight:600;color:var(--vcp-white);}
.vcp-estimate-box__divider{width:1px;height:40px;background:rgba(255,255,255,.1);}
.vcp-estimate-box__note{font-size:11px;color:var(--vcp-muted);}
.vcp-addons-check{background:rgba(255,255,255,.04);border-radius:var(--vcp-r);padding:14px 16px;margin-bottom:16px;}

/* ── Add-on cards ── */
.vcp-addon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;}
.vcp-addon-card{cursor:pointer;}
.vcp-addon-card input[type=radio]{display:none;}
.vcp-addon-card__inner{background:rgba(255,255,255,.05);border:1.5px solid rgba(255,255,255,.1);border-radius:var(--vcp-r);padding:16px;text-align:center;transition:var(--vcp-trans);}
.vcp-addon-card input:checked+.vcp-addon-card__inner,.vcp-addon-card--on .vcp-addon-card__inner{border-color:var(--vcp-teal);background:var(--vcp-teal-gl);}
.vcp-addon-card:hover .vcp-addon-card__inner{border-color:rgba(14,124,123,.5);}
.vcp-addon-card__icon{font-size:28px;display:block;margin-bottom:8px;}
.vcp-addon-card__name{font-size:13px;font-weight:600;color:var(--vcp-white);margin-bottom:6px;}
.vcp-addon-card__price{font-size:12px;font-weight:700;color:var(--vcp-teal);}
.vcp-selected-addon{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--vcp-teal-gl);border:1px solid rgba(14,124,123,.3);border-radius:var(--vcp-r);font-size:13px;}
.vcp-selected-addon__lbl{color:var(--vcp-muted);}
.vcp-selected-addon strong{color:var(--vcp-white);}
.vcp-selected-addon__price{color:var(--vcp-teal);font-weight:700;margin-left:auto;}

/* ── Auth ── */
.vcp-auth{max-width:520px;}
.vcp-auth-tabs{display:flex;background:rgba(255,255,255,.05);border-radius:999px;padding:4px;margin-bottom:28px;}
.vcp-auth-tab{flex:1;padding:10px;background:transparent;border:none;border-radius:999px;font-family:var(--vcp-sans);font-size:12px;font-weight:700;letter-spacing:.5px;color:rgba(255,255,255,.4);cursor:pointer;transition:var(--vcp-trans);}
.vcp-auth-tab--active{background:var(--vcp-teal);color:#fff;}
.vcp-auth-heading{font-family:var(--vcp-serif);font-size:28px;font-weight:700;color:var(--vcp-white);margin:0 0 6px;}
.vcp-auth-sub{font-size:14px;color:var(--vcp-muted);margin-bottom:24px;line-height:1.6;}
.vcp-auth-divider{text-align:center;position:relative;margin:20px 0;}
.vcp-auth-divider::before{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:rgba(255,255,255,.1);}
.vcp-auth-divider span{position:relative;background:var(--vcp-obs);padding:0 14px;font-size:11px;color:var(--vcp-muted);letter-spacing:1px;}
.vcp-already-in{font-size:14px;color:var(--vcp-muted);} .vcp-already-in a{color:var(--vcp-teal);}

/* ── Dashboard ── */
.vcp-dashboard{max-width:1100px;}
.vcp-dash-header{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:24px 28px;background:var(--vcp-dark);border:1px solid rgba(255,255,255,.08);border-radius:var(--vcp-r-lg);margin-bottom:16px;}
.vcp-dash-header__left{display:flex;align-items:center;gap:16px;}
.vcp-dash-avatar{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--vcp-teal),var(--vcp-teal-m));display:flex;align-items:center;justify-content:center;font-family:var(--vcp-serif);font-size:20px;font-weight:700;color:#fff;flex-shrink:0;}
.vcp-dash-header__name{font-family:var(--vcp-serif);font-size:22px;font-weight:700;color:var(--vcp-white);margin:0 0 2px;}
.vcp-dash-header__company{font-size:13px;color:var(--vcp-muted);margin:0 0 6px;}
.vcp-dash-header__actions{display:flex;gap:8px;flex-wrap:wrap;}
.vcp-status-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.5px;}
.vcp-dash-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:20px;background:rgba(255,255,255,.04);border-radius:12px;padding:6px;}
.vcp-dash-tab{display:flex;align-items:center;gap:6px;padding:9px 16px;border-radius:8px;font-family:var(--vcp-sans);font-size:12px;font-weight:600;color:rgba(255,255,255,.45);text-decoration:none;transition:var(--vcp-trans);}
.vcp-dash-tab--active{background:var(--vcp-teal);color:#fff;}
.vcp-dash-tab:hover:not(.vcp-dash-tab--active){background:rgba(255,255,255,.06);color:var(--vcp-white);}
.vcp-dash-panel{display:flex;flex-direction:column;gap:20px;}
.vcp-dash-stats{display:flex;gap:12px;flex-wrap:wrap;}
.vcp-dash-stat{background:var(--vcp-dark);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:18px 20px;flex:1;min-width:140px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;}
.vcp-dash-stat>span:first-child{font-size:22px;}
.vcp-dash-stat strong{font-family:var(--vcp-serif);font-size:22px;}
.vcp-dash-stat>span:last-child{font-size:10px;color:var(--vcp-muted);letter-spacing:1px;text-transform:uppercase;}
.vcp-dash-section{background:var(--vcp-dark);border:1px solid rgba(255,255,255,.08);border-radius:var(--vcp-r-lg);padding:22px;}
.vcp-dash-section h3{font-family:var(--vcp-serif);font-size:18px;color:var(--vcp-white);margin:0 0 16px;}
.vcp-dash-section-header{display:flex;justify-content:space-between;align-items:center;}
.vcp-dash-section-header h3{margin:0;}
.vcp-dash-quick h3{font-family:var(--vcp-serif);font-size:18px;color:var(--vcp-white);margin:0 0 14px;}
.vcp-dash-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.vcp-quick-card{display:flex;align-items:center;gap:14px;padding:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--vcp-r);text-decoration:none;transition:var(--vcp-trans);}
.vcp-quick-card:hover{background:rgba(14,124,123,.1);border-color:rgba(14,124,123,.3);transform:translateY(-2px);}
.vcp-quick-card__icon{font-size:28px;flex-shrink:0;}
.vcp-quick-card strong{display:block;font-size:14px;font-weight:700;color:var(--vcp-white);margin-bottom:3px;}
.vcp-quick-card span{font-size:12px;color:var(--vcp-muted);}
.vcp-table-wrap{overflow-x:auto;border-radius:var(--vcp-r);}
.vcp-table{width:100%;border-collapse:collapse;font-size:13px;}
.vcp-table thead th{padding:10px 12px;background:rgba(255,255,255,.05);font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--vcp-muted);border-bottom:1px solid rgba(255,255,255,.08);text-align:left;white-space:nowrap;}
.vcp-table tbody td{padding:12px 12px;border-bottom:1px solid rgba(255,255,255,.05);color:rgba(255,255,255,.75);vertical-align:middle;}
.vcp-table tbody tr:hover td{background:rgba(255,255,255,.03);}
.vcp-empty{text-align:center;padding:52px 24px;}
.vcp-empty__icon{font-size:48px;margin-bottom:14px;}
.vcp-empty p{font-size:14px;color:var(--vcp-muted);margin-bottom:20px;}
.vcp-retainer-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--vcp-r);padding:16px;margin-bottom:10px;}
.vcp-retainer-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;}
.vcp-retainer-card__ref{font-family:monospace;font-size:12px;color:var(--vcp-teal);}
.vcp-retainer-card h4{font-size:15px;font-weight:600;color:var(--vcp-white);margin:0 0 8px;}
.vcp-retainer-card__meta{display:flex;gap:16px;font-size:12px;color:var(--vcp-muted);}
/* Full retainer */
.vcp-retainer-full{background:var(--vcp-dark);border:1px solid rgba(255,255,255,.08);border-radius:var(--vcp-r-lg);padding:26px;margin-bottom:14px;}
.vcp-retainer-full__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.vcp-retainer-full__ref{font-family:monospace;font-size:13px;color:var(--vcp-teal);}
.vcp-retainer-full__value{font-family:var(--vcp-serif);font-size:26px;font-weight:700;color:var(--vcp-gold);}
.vcp-retainer-full__value span{font-family:var(--vcp-sans);font-size:12px;color:var(--vcp-muted);}
.vcp-retainer-full__title{font-family:var(--vcp-serif);font-size:22px;color:var(--vcp-white);margin:0 0 18px;}
.vcp-retainer-full__meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px;}
.vcp-retainer-full__meta-item{background:rgba(255,255,255,.04);border-radius:var(--vcp-r);padding:12px 14px;}
.vcp-retainer-full__meta-item span{display:block;font-size:10px;color:var(--vcp-muted);letter-spacing:1px;text-transform:uppercase;margin-bottom:4px;}
.vcp-retainer-full__meta-item strong{font-size:14px;color:var(--vcp-white);}
.vcp-retainer-full__section{margin-bottom:16px;}
.vcp-retainer-full__section-title{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--vcp-muted);margin-bottom:10px;}
.vcp-retainer-full__tags{display:flex;flex-wrap:wrap;gap:6px;}
.vcp-tag{background:rgba(14,124,123,.15);border:1px solid rgba(14,124,123,.25);border-radius:999px;padding:4px 12px;font-size:12px;color:var(--vcp-teal);}
.vcp-retainer-full__sites{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;font-size:13px;color:rgba(255,255,255,.65);}
.vcp-retainer-full__summary{display:flex;gap:0;border:1px solid rgba(255,255,255,.08);border-radius:var(--vcp-r);overflow:hidden;margin-bottom:16px;}
.vcp-retainer-full__summary>div{flex:1;padding:14px;text-align:center;border-right:1px solid rgba(255,255,255,.08);}
.vcp-retainer-full__summary>div:last-child{border-right:none;}
.vcp-retainer-full__summary span{display:block;font-size:10px;color:var(--vcp-muted);letter-spacing:1px;text-transform:uppercase;margin-bottom:4px;}
.vcp-retainer-full__summary strong{font-family:var(--vcp-serif);font-size:18px;color:var(--vcp-gold);}
.vcp-retainer-full__actions{display:flex;gap:10px;flex-wrap:wrap;}
/* Account */
.vcp-account-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.vcp-account-card{background:var(--vcp-dark);border:1px solid rgba(255,255,255,.08);border-radius:var(--vcp-r-lg);padding:24px;}
.vcp-account-card h4{font-family:var(--vcp-serif);font-size:18px;color:var(--vcp-white);margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.07);}
.vcp-account-info{background:rgba(255,255,255,.03);border-radius:var(--vcp-r);padding:16px;margin-top:20px;}
.vcp-account-info h4{font-size:14px;border-bottom:1px solid rgba(255,255,255,.07);}
.vcp-account-info__row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:13px;}
.vcp-account-info__row span{color:var(--vcp-muted);}
.vcp-account-info__row strong{color:var(--vcp-white);}
/* Success */
.vcp-success{background:linear-gradient(135deg,rgba(14,124,123,.15),rgba(201,169,110,.08));border:1px solid rgba(14,124,123,.3);border-radius:var(--vcp-r-lg);padding:48px 36px;text-align:center;}
.vcp-success__icon{font-size:52px;margin-bottom:14px;}
.vcp-success h2{font-family:var(--vcp-serif);font-size:30px;color:var(--vcp-white);margin:0 0 12px;}
.vcp-success p{font-size:14px;color:var(--vcp-muted);margin:0 0 16px;line-height:1.8;}
.vcp-success__ref{background:rgba(14,124,123,.12);border:1px solid rgba(14,124,123,.25);border-radius:999px;padding:8px 20px;display:inline-block;font-family:monospace;font-size:14px;color:var(--vcp-teal);margin-bottom:20px;}
.vcp-success__next{background:rgba(255,255,255,.04);border-radius:var(--vcp-r);padding:18px 22px;margin-bottom:24px;text-align:left;}
.vcp-success__next p{font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--vcp-muted);margin-bottom:10px;}
.vcp-success__next ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;}
.vcp-success__next li{font-size:13px;color:rgba(255,255,255,.65);}
.vcp-success__actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
/* Admin */
.vcp-admin-wrap{font-family:var(--vcp-sans);max-width:1200px;}
.vcp-admin-stats{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0 20px;}
.vcp-admin-stat{background:#fff;border:1px solid #e5e5e5;border-radius:10px;padding:16px 20px;min-width:130px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;}
.vcp-admin-stat>span:first-child{font-size:22px;}
.vcp-admin-stat strong{font-family:Georgia,serif;font-size:22px;}
.vcp-admin-stat>span:last-child{font-size:10px;color:#888;letter-spacing:1px;text-transform:uppercase;}
/* Responsive */
@media(max-width:768px){
  .vcp-field-row,.vcp-block-type-grid,.vcp-addon-grid,.vcp-account-grid,.vcp-retainer-full__meta{grid-template-columns:1fr;}
  .vcp-dash-quick-grid{grid-template-columns:1fr;}
  .vcp-dash-header{flex-direction:column;align-items:flex-start;}
  .vcp-dash-tabs{gap:2px;}
  .vcp-dash-tab{padding:7px 10px;font-size:11px;}
  .vcp-retainer-full__summary{flex-direction:column;}
}
