:root{
  --vcb-ink:#0b0f14;
  --vcb-sub:#415362;
  --vcb-line:#d6dde2;
  --vcb-bg:#ffffff;
  --vcb-soft:#eef3f6;
  --vcb-soft2:#e7eef2;
  --vcb-brand:#4A6572;
  --vcb-brand2:#2f4650;
  --vcb-white:#ffffff;
  --vcb-shadow:0 10px 30px rgba(0,0,0,.08);
  --vcb-radius:16px;
  --vcb-radius2:22px;
  --vcb-font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
}
.vcb-wrap{font-family:var(--vcb-font); color:var(--vcb-ink);}
.vcb-hero{margin:0 0 18px 0;}
.vcb-title{margin:0 0 6px 0; font-size:28px; letter-spacing:-0.02em;}
.vcb-subtitle{margin:0; color:var(--vcb-sub); max-width:860px;}
.vcb-grid{display:flex; flex-direction:column; gap:18px;}
.vcb-section{background:linear-gradient(180deg, #fff, #fbfdff); border:1px solid var(--vcb-line); border-radius:var(--vcb-radius2); padding:18px;}
.vcb-section-head{display:flex; flex-direction:column; gap:4px; margin-bottom:12px;}
.vcb-section-title{font-size:16px; font-weight:700; color:var(--vcb-brand2);}
.vcb-section-sub{font-size:13px; color:var(--vcb-sub);}
.vcb-cards{display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:12px;}
@media (max-width: 980px){ .vcb-cards{grid-template-columns:repeat(2, minmax(0, 1fr));} }
@media (max-width: 620px){ .vcb-cards{grid-template-columns:repeat(1, minmax(0, 1fr));} }
.vcb-card{display:flex; flex-direction:column; gap:10px; text-align:left; background:var(--vcb-soft); border:1px solid var(--vcb-line); border-radius:18px; padding:14px; cursor:pointer; transition:transform .12s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;}
.vcb-card:hover{transform:translateY(-1px); box-shadow:0 8px 18px rgba(0,0,0,.06); background:var(--vcb-soft2);}
.vcb-card.is-selected{background:#f0f6f8; border-color:rgba(74,101,114,.45); box-shadow:0 10px 26px rgba(74,101,114,.12);}
.vcb-card-top{display:flex; align-items:flex-start; justify-content:space-between; gap:12px;}
.vcb-card-title{font-weight:700; font-size:14px; line-height:1.25;}
.vcb-card-tag{font-size:11px; color:var(--vcb-brand2); background:rgba(74,101,114,.12); padding:4px 8px; border-radius:999px; white-space:nowrap;}
.vcb-card-desc{font-size:12.5px; color:var(--vcb-sub); line-height:1.45; min-height:34px;}
.vcb-card-cta{font-size:12px; color:var(--vcb-brand); font-weight:700; margin-top:auto;}
.vcb-hidden{display:none !important;}
.vcb-stackbar{position:fixed; left:0; right:0; bottom:0; z-index:9999; padding:10px 12px;}
.vcb-stackbar-inner{max-width:1100px; margin:0 auto; background:rgba(255,255,255,.92); backdrop-filter: blur(10px); border:1px solid var(--vcb-line); border-radius:22px; box-shadow:var(--vcb-shadow); padding:12px 12px; display:flex; align-items:center; justify-content:space-between; gap:10px;}
.vcb-stackbar-title{font-weight:800; letter-spacing:-0.02em;}
.vcb-stackbar-summary{font-size:12.5px; color:var(--vcb-sub);}
.vcb-btn{border:1px solid var(--vcb-line); border-radius:14px; padding:10px 12px; font-weight:700; cursor:pointer; background:#fff;}
.vcb-btn:hover{box-shadow:0 8px 18px rgba(0,0,0,.06);}
.vcb-btn-primary{background:var(--vcb-brand); border-color:var(--vcb-brand); color:#fff;}
.vcb-btn-primary:hover{background:var(--vcb-brand2); border-color:var(--vcb-brand2);}
.vcb-btn-ghost{background:transparent;}
.vcb-drawer{max-width:1100px; margin:10px auto 0 auto; background:#fff; border:1px solid var(--vcb-line); border-radius:22px; box-shadow:var(--vcb-shadow); overflow:hidden;}
.vcb-drawer-head{display:flex; align-items:center; justify-content:space-between; padding:12px 14px; border-bottom:1px solid var(--vcb-line);}
.vcb-drawer-title{font-weight:800;}
.vcb-iconbtn{border:1px solid var(--vcb-line); background:#fff; border-radius:12px; padding:8px 10px; cursor:pointer;}
.vcb-drawer-body{padding:12px 14px; display:flex; flex-direction:column; gap:14px; max-height:50vh; overflow:auto;}
.vcb-drawer-group-title{font-weight:800; color:var(--vcb-brand2); margin-bottom:8px;}
.vcb-chip{display:flex; gap:10px; align-items:flex-start; justify-content:space-between; background:var(--vcb-soft); border:1px solid var(--vcb-line); border-radius:16px; padding:10px;}
.vcb-chip-title{font-weight:800; font-size:13px;}
.vcb-chip-desc{font-size:12px; color:var(--vcb-sub); margin-top:2px;}
.vcb-chip-remove{border:1px solid rgba(74,101,114,.25); background:#fff; border-radius:12px; padding:8px 10px; cursor:pointer; font-weight:800; color:var(--vcb-brand2);}
.vcb-chip-remove:hover{background:rgba(74,101,114,.06);}
.vcb-modal{position:fixed; inset:0; background:rgba(5,10,14,.55); z-index:10000; display:flex; align-items:center; justify-content:center; padding:18px;}
.vcb-modal-card{width:min(900px, 100%); background:#fff; border-radius:22px; box-shadow:0 18px 60px rgba(0,0,0,.25); border:1px solid rgba(255,255,255,.15); overflow:hidden;}
.vcb-modal-head{display:flex; align-items:center; justify-content:space-between; padding:12px 14px; border-bottom:1px solid var(--vcb-line); background:linear-gradient(180deg, #fff, #f7fbfd);}
.vcb-modal-title{font-weight:900; letter-spacing:-0.02em;}
.vcb-modal-body{padding:14px; display:grid; grid-template-columns: 1fr 1fr; gap:14px;}
@media (max-width: 860px){ .vcb-modal-body{grid-template-columns:1fr; } }
.vcb-review{background:var(--vcb-soft); border:1px solid var(--vcb-line); border-radius:18px; padding:12px; max-height:48vh; overflow:auto;}
.vcb-review-title{font-weight:900; color:var(--vcb-brand2); margin:10px 0 6px 0;}
.vcb-review-list{margin:0 0 8px 18px; color:var(--vcb-sub);}
.vcb-review-empty{color:var(--vcb-sub);}
.vcb-form{background:#fff; border:1px solid var(--vcb-line); border-radius:18px; padding:12px;}
.vcb-field{display:flex; flex-direction:column; gap:6px; margin-bottom:10px;}
.vcb-field label{font-size:12px; font-weight:900; color:var(--vcb-brand2);}
.vcb-field input, .vcb-field select, .vcb-field textarea{
  border:1px solid var(--vcb-line); border-radius:14px; padding:10px 10px; font-size:14px; outline:none;
}
.vcb-field input:focus, .vcb-field select:focus, .vcb-field textarea:focus{border-color:rgba(74,101,114,.6); box-shadow:0 0 0 4px rgba(74,101,114,.12);}
.vcb-grid2{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
@media (max-width: 520px){ .vcb-grid2{grid-template-columns:1fr;} }
.vcb-form-actions{display:flex; gap:10px; justify-content:flex-end; margin-top:10px;}
.vcb-form-status{margin-top:10px; font-size:13px; color:var(--vcb-sub);}
.vcb-form-status.is-error{color:#9b1c1c; font-weight:800;}
.vcb-form-status.is-success{color:#0f766e; font-weight:800;}
body.vcb-noscroll{overflow:hidden;}
