:root {
    --vcs-green: #078b62;
    --vcs-green-dark: #056747;
    --vcs-orange: #f59b23;
    --vcs-ink: #1e2824;
    --vcs-muted: #66716c;
    --vcs-line: #d7dfdb;
    --vcs-soft: #f4f8f6;
    --vcs-white: #fff;
    --vcs-shadow: 0 7px 24px rgba(20, 64, 48, .07);
}

/* 1.0.19: compact spread tree, explicit manual sharing and per-device help. */
.vcs-app [hidden] { display: none !important; }
.vcs-app .vcs-share-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0; }
.vcs-app .vcs-share-actions > .vcs-btn { flex: 1 1 190px; }
.vcs-app .vcs-share-dialog { width: min(560px, calc(100% - 24px)); max-height: 88vh; padding: 0; border: 1px solid var(--vcs-line); border-radius: 16px; background: white; color: var(--vcs-ink); box-shadow: 0 20px 70px #12352e40; font: inherit; }
.vcs-app .vcs-share-dialog:not([open]) { display: none; }
.vcs-app .vcs-share-dialog::backdrop { background: #102f2866; }
.vcs-app .vcs-share-dialog.is-fallback { position: fixed; inset: 6vh 0 auto; z-index: 100000; margin-inline: auto; box-shadow: 0 0 0 100vmax #102f2866; }
.vcs-share-dialog-body { position: relative; padding: 24px; }
.vcs-share-dialog-body h2 { padding-right: 30px; margin: 0 0 18px; font-size: 24px; line-height: 1.3; }
.vcs-app .vcs-share-close { position: absolute; right: 10px; top: 7px; width: 44px; height: 44px; background: transparent; border: 0; font-size: 30px; cursor: pointer; color: var(--vcs-muted); }
.vcs-share-dialog label { display: block; margin: 12px 0; }
.vcs-share-dialog textarea, .vcs-share-dialog input { display: block; width: 100%; padding: 10px; margin-top: 6px; border: 1px solid var(--vcs-line); border-radius: 8px; background: #fff; color: var(--vcs-ink); }
.vcs-share-dialog textarea { min-height: 150px; resize: vertical; overflow-wrap: anywhere; }
.vcs-share-dialog [role="status"] { font-size: 14px; overflow-wrap: anywhere; }
.vcs-share-dialog [data-vcs-share-copy] { width: 100%; white-space: normal; overflow-wrap: anywhere; text-align: center; }
.vcs-share-apps, .vcs-share-manual { margin: 12px 0; padding: 12px; border: 1px solid var(--vcs-line); border-radius: 10px; background: var(--vcs-soft); }
.vcs-share-open-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.vcs-share-open-actions > .vcs-btn { flex: 1 1 110px; padding: 9px 12px; }
.vcs-share-apps summary { padding: 6px 0; color: var(--vcs-green-dark); cursor: pointer; font-size: 14px; }
.vcs-share-apps a { color: var(--vcs-green-dark); }
.vcs-app .vcs-main > .vcs-spread-card { grid-column: 1 / -1; min-width: 0; }
.vcs-app .vcs-spread-card h2 { text-align: left; margin-bottom: 4px; }
.vcs-spread-intro { color: var(--vcs-muted); }
.vcs-spread-stats { display: grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap: 12px; margin: 18px 0 12px; }
.vcs-spread-stats > span { display: flex; flex-direction:column; align-items:center; gap: 6px; padding:12px 8px; border-radius:10px; background:var(--vcs-soft); text-align:center; min-width:0; }
.vcs-spread-stats strong { color: var(--vcs-green-dark); font-size: 25px; }
.vcs-spread-stats span span { font-size: 14px; }
.vcs-spread-preview { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; color: var(--vcs-muted); font-size: 14px; }
.vcs-spread-chip { display: inline-block; padding: 5px 9px; border-radius: 8px; background: var(--vcs-soft); overflow-wrap: anywhere; }
.vcs-spread-preview p { flex-basis: 100%; }
.vcs-spread-card > details { margin: 14px 0; border-top: 1px solid var(--vcs-line); padding-top: 12px; }
.vcs-spread-card summary, .vcs-device-guide summary { cursor: pointer; padding: 8px 0; color: var(--vcs-green-dark); }
.vcs-tree-root { display: inline-block; margin: 12px 0 0; padding: 7px 16px; border-radius: 9px; background: var(--vcs-green); color: white; font-weight: 700; }
.vcs-spread-tree { list-style: none; margin: 0 0 0 14px; padding: 0 0 0 16px; border-left: 1px solid var(--vcs-line); }
.vcs-spread-tree > li { position: relative; margin: 8px 0; padding: 3px 0; min-width: 0; }
.vcs-spread-tree > li::before { content: ''; position: absolute; left: -16px; top: 21px; width: 12px; border-top: 1px solid var(--vcs-line); }
.vcs-tree-node > summary, .vcs-tree-node > div { padding: 8px; border-radius: 8px; background: var(--vcs-soft); overflow-wrap: anywhere; }
.vcs-tree-node small { display: block; margin-top: 3px; font-size: 12px; font-weight: 400; color: var(--vcs-muted); }
.vcs-spread-tree.vcs-tree-deep { margin-left: 0; padding-left: 8px; }
.vcs-spread-tree.vcs-tree-deep > li::before { left: -8px; width: 5px; }
.vcs-device-guide { padding: 14px; margin-top: 16px; border-radius: 10px; background: var(--vcs-soft); font-size: 14px; }
.vcs-device-guide details { border-top: 1px solid var(--vcs-line); margin-top: 12px; padding-top: 6px; }
.vcs-device-guide details strong { display: block; margin-top: 10px; }
@media (max-width: 480px) {
    .vcs-share-dialog-body { padding: 18px; }
    .vcs-spread-stats { gap: 8px 18px; }
    .vcs-spread-tree { margin-left: 5px; padding-left: 12px; }
    .vcs-spread-tree > li::before { left: -12px; width: 9px; }
}

body.vcs-standalone-page { margin: 0 !important; padding: 0 !important; background: #f6f8f7; }
body.vcs-standalone-page .vcs-standalone-shell { width: 100%; min-height: 100vh; margin: 0; padding: 0; }
body.vcs-standalone-page .vcs-standalone-shell > .vcs-app { margin-inline: auto; }

.vcs-app,
.vcs-app * { box-sizing: border-box; }
.vcs-app { width: min(100%, 760px); margin: 0 auto; padding: 6px; color: var(--vcs-ink); font: 16px/1.45 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.vcs-app button,
.vcs-app input,
.vcs-app select,
.vcs-app textarea { font: inherit; }
.vcs-app button,
.vcs-app a { -webkit-tap-highlight-color: transparent; }
.vcs-app img { max-width: 100%; }
.vcs-main { display: grid; gap: 10px; }
.vcs-panel { margin: 0; padding: clamp(16px, 4vw, 28px); border: 1px solid var(--vcs-line); border-radius: 12px; background: var(--vcs-white); box-shadow: var(--vcs-shadow); }
.vcs-panel h1,
.vcs-panel h2,
.vcs-panel h3 { margin: 0 0 14px; line-height: 1.22; text-align: center; }
.vcs-panel h1 { font-size: clamp(22px, 5vw, 31px); }
.vcs-panel h2 { font-size: clamp(19px, 4vw, 27px); }
.vcs-panel h3 { font-size: 17px; }
.vcs-panel p { margin: 8px 0; }
.vcs-subtitle,
.vcs-data-time,
.vcs-empty { color: var(--vcs-muted); text-align: center; }

.vcs-header { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 64px; margin-bottom: 10px; padding: 8px 12px; border: 1px solid var(--vcs-line); border-radius: 12px; background: rgba(255,255,255,.97); box-shadow: var(--vcs-shadow); }
.vcs-header-brand { display: inline-flex; min-width: 0; align-items: center; gap: 9px; color: var(--vcs-ink) !important; text-decoration: none !important; font-size: clamp(18px, 4vw, 23px); font-weight: 750; }
.vcs-header-brand img { width: 46px; height: 46px; flex: 0 0 auto; object-fit: contain; }
.vcs-header-brand-copy { display: flex; min-width: 0; flex-direction: column; line-height: 1.12; }
.vcs-header-brand-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: inherit; }
.vcs-header-brand-copy small { margin-top: 3px; overflow: hidden; color: var(--vcs-green-dark); text-overflow: ellipsis; white-space: nowrap; font-size: 12px; font-weight: 600; }
.vcs-header-quick-give { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; padding: 7px 11px; border: 1px solid var(--vcs-green); border-radius: 999px; background: var(--vcs-white); color: var(--vcs-green-dark) !important; text-decoration: none !important; font-weight: 750; white-space: nowrap; }
.vcs-header-quick-give[hidden] { display: none !important; }
/* Shared navigation is visible on arrival and remains available while scrolling. */
.vcs-app > .vcs-header { position: sticky; top: calc(var(--vcs-admin-offset, 0px) + max(6px, env(safe-area-inset-top))); z-index: 9990; }
body.admin-bar .vcs-app { --vcs-admin-offset: 32px; }
@media(max-width:782px){body.admin-bar .vcs-app { --vcs-admin-offset: 46px; }}
.vcs-app .vcs-notice-panel,
.vcs-app .vcs-owned-item,
.vcs-app [id^="vcs-request-"] { scroll-margin-top: calc(var(--vcs-header-height, 64px) + var(--vcs-admin-offset, 0px) + 18px); }
.vcs-footer { margin-top: 10px; padding: 22px 12px; text-align: center; color: var(--vcs-muted); font-size: 13px; letter-spacing: .08em; }

.vcs-home-hero { min-height: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; padding-block: clamp(20px, 5vw, 36px); text-align: center; background: #edf7f0; }
.vcs-logo-heading { margin: 0; width: min(80%, 270px); }
.vcs-home-logo-art { display: block; width: 100%; aspect-ratio: 1254 / 1105; overflow: hidden; }
/* Keep the original logo and wordmark; render the current slogan as live text. */
.vcs-home-hero-logo { display: block; width: 100%; height: auto; margin: 0; object-fit: contain; mix-blend-mode: multiply; }
.vcs-home-hero .vcs-home-brand { margin: 0; color: var(--vcs-green-dark); font-size: clamp(36px, 9vw, 58px); line-height: 1.05; }
.vcs-home-slogan { display: block; margin: 5px 0 0; color: var(--vcs-green-dark); font-size: clamp(18px, 4.7vw, 25px); font-weight: 650; line-height: 1.3; }
.vcs-home-network-copy { width: min(100%, 620px); padding: clamp(12px, 3vw, 22px); border: 0; background: transparent; box-shadow: none; }
.vcs-home-network-copy h2 { margin: 0 0 12px; font-size: clamp(20px, 5vw, 30px); }
.vcs-home-network-copy p { width: min(100%, 540px); margin: 0 auto; color: var(--vcs-ink); font-size: clamp(14px, 3.6vw, 17px); line-height: 1.55; }
.vcs-eyebrow { font-weight: 700; letter-spacing: .04em; }

.vcs-action-banner { display: block; width: 100%; padding: 16px 18px; border: 1px solid var(--vcs-green); border-radius: 12px; background: var(--vcs-white); color: var(--vcs-green-dark); text-align: center; text-decoration: none !important; font-size: clamp(20px, 5vw, 28px); font-weight: 750; line-height: 1.2; cursor: pointer; }
.vcs-action-banner:hover,
.vcs-action-banner:focus-visible { background: var(--vcs-soft); color: var(--vcs-green-dark); }
.vcs-home-return { margin-top: 2px; color: var(--vcs-ink); border-color: var(--vcs-line); }

.vcs-btn { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 10px 18px; border: 1px solid var(--vcs-line); border-radius: 9px; background: var(--vcs-white); color: var(--vcs-ink); text-decoration: none !important; font-weight: 650; cursor: pointer; }
.vcs-btn:hover,
.vcs-btn:focus-visible { border-color: var(--vcs-green); color: var(--vcs-green-dark); }
.vcs-btn-primary { border-color: var(--vcs-green); background: var(--vcs-green); color: #fff; }
.vcs-btn-primary:hover,
.vcs-btn-primary:focus-visible { background: var(--vcs-green-dark); color: #fff; }
.vcs-btn-light { background: var(--vcs-soft); }
.vcs-btn[disabled] { opacity: .55; cursor: wait; }
.vcs-two-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.vcs-two-actions .vcs-btn { width: 100%; }
.vcs-text-button { border: 0; background: transparent; color: var(--vcs-green-dark); text-align: center; font-weight: 700; cursor: pointer; }

.vcs-item-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.vcs-item-card { min-width: 0; padding: 0; overflow: hidden; border: 1px solid var(--vcs-line); border-radius: 10px; background: var(--vcs-white); color: var(--vcs-ink); cursor: pointer; }
.vcs-item-card img,
.vcs-item-card .vcs-image-placeholder { display: flex; width: 100%; aspect-ratio: 1 / .85; align-items: center; justify-content: center; object-fit: cover; background: var(--vcs-soft); color: var(--vcs-muted); }
.vcs-item-card > span:last-child { display: block; padding: 9px 6px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 650; }
.vcs-item-card:hover,
.vcs-item-card:focus-visible { border-color: var(--vcs-green); box-shadow: 0 0 0 2px rgba(7, 139, 98, .12); }
.vcs-item-detail { position: relative; margin-top: 16px; padding: 20px; border: 1px solid var(--vcs-green); border-radius: 10px; background: var(--vcs-soft); }
.vcs-close { position: absolute; top: 6px; right: 8px; width: 38px; height: 38px; border: 0; background: transparent; color: var(--vcs-muted); font-size: 28px; cursor: pointer; }
.vcs-detail-images { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 12px 0; }
.vcs-detail-images img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 8px; }
.vcs-selected { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--vcs-line); text-align: center; }
.vcs-selected .vcs-btn { margin-top: 16px; }

.vcs-map { position: relative; min-height: 290px; margin: 18px 0; overflow: hidden; border: 1px solid var(--vcs-line); border-radius: 12px; background: linear-gradient(135deg, #eef5ef 25%, #f8f4e9 25%, #f8f4e9 50%, #edf5f3 50%, #edf5f3 75%, #f8f4e9 75%); background-size: 64px 64px; }
.vcs-map::before,
.vcs-map::after { content: ""; position: absolute; inset: -20% 40% -20% auto; width: 9px; transform: rotate(25deg); background: rgba(255,255,255,.85); box-shadow: 0 0 0 1px rgba(0,0,0,.04); }
.vcs-map::after { inset: 55% -10% auto -10%; width: auto; height: 9px; transform: rotate(-8deg); }
.vcs-map-label { position: absolute; inset: 50% auto auto 50%; transform: translate(-50%, -50%); text-align: center; font-size: 21px; font-weight: 750; z-index: 1; }
.vcs-map-label small { font-size: 13px; font-weight: 500; }
.vcs-map-nearby { position: absolute; left: 50%; bottom: 18px; z-index: 3; transform: translateX(-50%); background: rgba(255,255,255,.94); box-shadow: 0 4px 14px rgba(0,0,0,.10); white-space: nowrap; }
.vcs-map-pin { position: absolute; z-index: 2; padding: 5px 8px; border-radius: 999px; background: var(--vcs-green); color: #fff !important; text-decoration: none !important; font-size: 11px; font-weight: 750; box-shadow: 0 3px 10px rgba(0,0,0,.18); }
.vcs-map-pin-1 { top: 18%; left: 18%; }
.vcs-map-pin-2 { top: 24%; right: 16%; }
.vcs-map-pin-3 { bottom: 20%; left: 24%; }
.vcs-map-pin-4 { right: 23%; bottom: 16%; }
.vcs-map-pin-5 { top: 50%; left: 8%; }
.vcs-real-map-wrap { position: relative; margin-top: 18px; isolation: isolate; }
.vcs-real-map { height: 380px; border: 1px solid var(--vcs-line); border-radius: 12px; background: #eef5ef; }
.vcs-real-map-wrap .vcs-map-nearby { z-index: 800; bottom: 36px; }
.vcs-map-status { text-align: center; overflow-wrap: anywhere; }
.vcs-map-privacy { font-size: 12px; color: var(--vcs-muted); }
.vcs-map-stations { padding-left: 22px; }
.vcs-map-stations li { padding-block: 6px; }
.vcs-real-map .leaflet-control-attribution { font-size: 10px; }
.vcs-video-panel { display: flex; min-height: 260px; align-items: center; justify-content: center; background: linear-gradient(150deg, #f8fbfa, #edf5f1); color: var(--vcs-muted); }

.vcs-portal { text-align: center; }
.vcs-portal h2 { font-size: clamp(25px, 7vw, 40px); }
.vcs-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.vcs-stats div { min-height: 120px; padding: 20px 12px; border: 1px solid var(--vcs-line); border-radius: 12px; background: var(--vcs-white); text-align: center; }
.vcs-stats small { display: block; min-height: 35px; }
.vcs-stats strong { display: block; margin-top: 8px; color: var(--vcs-green-dark); font-size: 32px; }

.vcs-app label { display: block; margin: 0 0 12px; font-weight: 650; }
.vcs-app input:not([type="radio"]):not([type="file"]),
.vcs-app select,
.vcs-app textarea { width: 100%; min-height: 44px; margin-top: 5px; padding: 9px 11px; border: 1px solid #bfcac4; border-radius: 8px; background: #fff; color: var(--vcs-ink); }
.vcs-app textarea { resize: vertical; }
.vcs-app input:focus,
.vcs-app select:focus,
.vcs-app textarea:focus { outline: 2px solid rgba(7, 139, 98, .17); border-color: var(--vcs-green); }
.vcs-form-row { display: flex; align-items: end; gap: 10px; }
.vcs-form-row input { flex: 1; }
.vcs-form-status { min-height: 24px; margin-top: 10px !important; color: var(--vcs-green-dark); font-weight: 650; }
.vcs-form-status.is-error { color: #a52c2c; }
.vcs-inline-form[hidden] { display: none; }

.vcs-photo-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.vcs-photo-grid img,
.vcs-photo-grid .vcs-image-placeholder { display: flex; width: 100%; aspect-ratio: 1; align-items: center; justify-content: center; object-fit: cover; border: 1px solid var(--vcs-line); border-radius: 9px; background: var(--vcs-soft); color: var(--vcs-muted); }
.vcs-station-now h3 { margin-top: 24px; }
.vcs-file-box { display: flex !important; min-height: 72px; align-items: center; justify-content: center; padding: 10px; border: 1px dashed #9eb1a8; border-radius: 9px; background: var(--vcs-soft); text-align: center; cursor: pointer; }
.vcs-file-box input[type="file"] { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.vcs-more-file { position: relative; display: inline-flex; margin: 8px 0 12px; color: var(--vcs-blue); font-weight: 800; cursor: pointer; }
.vcs-more-file input[type="file"] { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.vcs-upload-grid { margin: 18px 0; }
.vcs-upload-grid .vcs-file-box { aspect-ratio: 1; margin: 0; }
.vcs-expected-item { padding: 20px 0; border-top: 1px solid var(--vcs-line); }
.vcs-expected-item:first-child { padding-top: 0; border-top: 0; }
.vcs-environment-message { padding-block: 34px; text-align: center; }
.vcs-environment-message strong { display: block; margin-top: 22px; font-size: 18px; }
.vcs-maintenance { text-align: center; }
.vcs-app .vcs-maintenance-task { flex-direction: column; gap: 5px; text-align: center; }
.vcs-maintenance-task > span,
.vcs-maintenance-task > small { display: block; width: 100%; }
.vcs-maintenance-task > small { font-weight: 400; }
.vcs-page-station .vcs-btn { text-align: center; }
.vcs-station-welcome { background: #edf7f0; border-color: #bdd9c8; text-align: center; padding-block: clamp(26px, 5vw, 42px); }
.vcs-app .vcs-station-welcome h1 { margin: 0 0 18px; color: var(--vcs-green-dark); font-size: clamp(19px, 4.9vw, 31px); font-weight: 750; line-height: 1.3; }
.vcs-station-welcome h1 > span { display: block; }
.vcs-station-welcome h1 > span:first-child { margin-bottom: 5px; font-size: .72em; font-weight: 600; }
.vcs-station-code { display: inline-block; padding: 7px 22px; border-radius: 12px; background: #fff; color: var(--vcs-green-dark); font-size: clamp(30px, 7.5vw, 42px); font-weight: 800; line-height: 1.2; letter-spacing: .04em; }
.vcs-station-address { color: var(--vcs-green-dark); font-weight: 600; overflow-wrap: anywhere; }
.vcs-station-invitation { color: var(--vcs-ink); }
.vcs-station-welcome > .vcs-btn { margin-top: 12px; }
.vcs-station-photo-time { text-align: center; color: var(--vcs-muted); font-size: 14px; }
.vcs-station-photo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vcs-snapshot-upload { display: flex; justify-content: center; margin: 18px 0 10px; }
.vcs-snapshot-upload .vcs-file-box { position: relative; width: min(100%, 200px); min-height: 150px; margin: 0; color: var(--vcs-green-dark); overflow-wrap: anywhere; }
.vcs-snapshot-upload .vcs-file-box:focus-within,
.vcs-snapshot-more:focus-within { outline: 2px solid var(--vcs-green); outline-offset: 3px; }
.vcs-app .vcs-snapshot-more { display: flex; justify-content: center; align-items: center; width: fit-content; min-height: 44px; margin: 0 auto 8px; color: var(--vcs-green-dark); }
.vcs-snapshot-count { text-align: center; color: var(--vcs-muted); font-size: 13px; }
.vcs-snapshot-count:empty,
[data-vcs-snapshot] .vcs-form-status:empty { min-height: 0; margin: 0 !important; }
[data-vcs-snapshot] .vcs-centered-action { margin-top: 12px; }
[data-vcs-snapshot] .vcs-form-status { text-align: center; }
.vcs-app .vcs-station-expected > h2 { font-size: clamp(14px, 4.3vw, 26px); white-space: nowrap; letter-spacing: -.025em; }
.vcs-station-expected .vcs-expected-item { text-align: center; }
.vcs-expected-photos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vcs-expected-photos:empty { display: none; }
.vcs-app .vcs-expected-time { margin-top: 12px; text-align: center; }
@media (max-width: 640px) {
    .vcs-station-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.vcs-online-link { text-align: center; }
.vcs-online-link .vcs-action-banner { margin: 14px 0; }

.vcs-handover { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; min-width: 0; margin: 20px 0; padding: 16px; border: 1px solid var(--vcs-line); border-radius: 10px; }
.vcs-handover legend { padding: 0 8px; font-weight: 750; }
.vcs-handover > label { display: flex; align-items: center; gap: 7px; margin: 0; }
.vcs-handover > div { min-width: 0; padding-left: 26px; }
.vcs-handover > label > input[type="radio"] { flex: 0 0 auto; }
.vcs-handover input,
.vcs-handover select { margin-top: 0 !important; }
.vcs-owned-summary { display: flex; align-items: center; gap: 14px; }
.vcs-owned-summary > img,
.vcs-owned-summary > .vcs-image-placeholder { display: flex; width: 92px; height: 80px; flex: 0 0 auto; align-items: center; justify-content: center; border-radius: 8px; background: var(--vcs-soft); object-fit: cover; }
.vcs-owned-summary h2 { margin-bottom: 4px; text-align: left; }
.vcs-owned-item > .vcs-btn { width: 100%; margin-top: 16px; }
.vcs-chat-window { position: relative; }
.vcs-chat-history { min-height: 170px; max-height: 360px; margin: 12px 0; padding: 14px; overflow-y: auto; border: 1px solid var(--vcs-line); border-radius: 9px; background: #fbfcfb; }
.vcs-chat-message { width: fit-content; max-width: 86%; margin: 8px 0; padding: 8px 11px; border-radius: 10px; background: #eef1ef; }
.vcs-chat-message.is-mine { margin-left: auto; background: #dff4eb; }
.vcs-chat-actions { display: flex; justify-content: center; gap: 10px; margin-top: 14px; }
.vcs-request-choice { width: 100%; margin: 5px 0; }

.vcs-receive-list > h1 { padding: 18px; text-align: center; }
.vcs-receive-item h2 { text-align: left; }
.vcs-receive-item > h3 { margin-top: 22px; }

.vcs-referral { text-align: center; }
.vcs-referral-maker { display: grid; grid-template-columns: .9fr 1.1fr; gap: 16px; align-items: end; text-align: left; }
.vcs-referral-maker textarea { margin: 0; }
.vcs-referral-tree { display: grid; grid-template-columns: 100px 1fr; gap: 18px; margin: 22px 0; align-items: center; text-align: left; }
.vcs-referral-tree > strong { font-size: 34px; text-align: center; }
.vcs-referral-tree p { display: grid; grid-template-columns: 110px 1fr 100px; gap: 8px; align-items: center; margin: 5px 0; }
.vcs-referral-tree p span { color: var(--vcs-muted); font-size: 12px; }
.vcs-recovery { padding: 16px; text-align: center; box-shadow: none; }
.vcs-recovery > p:first-child { margin: 0 0 12px; color: var(--vcs-muted); font-size: 14px; }
.vcs-recovery .vcs-form-row { width: min(100%, 600px); margin-inline: auto; align-items: center; }
.vcs-recovery .vcs-form-row input { min-width: 0; margin: 0; }
.vcs-recovery .vcs-form-row .vcs-btn { flex: 0 0 auto; }
.vcs-recovery .vcs-form-status:empty,
[data-vcs-item-form] .vcs-form-status:empty { min-height: 0; margin: 0 !important; }
.vcs-centered-action { display: flex; justify-content: center; }
.vcs-spread-card > [data-vcs-share-kind="network"] { display: flex; width: fit-content; max-width: 100%; margin-inline: auto; }
.vcs-space-notify { padding: 16px; text-align: center; }
.vcs-space-notify > .vcs-text-button { max-width: 100%; min-height: 44px; }
.vcs-page-space .vcs-main { grid-template-columns: minmax(0, 1fr); }
.vcs-page-space .vcs-main > * { min-width: 0; }

.vcs-station-partners { text-align: center; }
.vcs-partner-logo { display: flex; width: 190px; height: 110px; margin: 20px auto 26px; align-items: center; justify-content: center; border: 1px dashed #9eb1a8; border-radius: 50%; color: var(--vcs-muted); font-size: 32px; }
.vcs-system-partners { text-align: center; }
.vcs-system-partners h2 { font-size: 17px; }

.vcs-toast { position: fixed; right: 14px; bottom: 14px; z-index: 99999; max-width: min(390px, calc(100vw - 28px)); padding: 12px 16px; border-radius: 9px; background: var(--vcs-green-dark); color: #fff; box-shadow: 0 10px 30px rgba(0,0,0,.18); }
.vcs-toast.is-error { background: #8f2f2f; }


@media (min-width: 1000px) {
}
@media (min-width: 1000px) {
    .vcs-app { width: min(100%, 1120px); }
    .vcs-app.vcs-page-space.vcs-flow-give { width: min(100%, 880px); }
}

@media (max-width: 640px) {
    .vcs-app { font-size: 15px; }
    .vcs-panel { padding: 15px 12px; border-radius: 9px; box-shadow: none; }
    .vcs-header { min-height: 58px; padding: 6px 9px; border-radius: 10px; }
    .vcs-header-brand img { width: 42px; height: 42px; }
    .vcs-header-brand { gap: 7px; font-size: 18px; }
    .vcs-header-brand-copy small { max-width: 190px; font-size: 10.5px; }
    .vcs-header-quick-give { min-height: 36px; padding: 6px 10px; font-size: 14px; }
    .vcs-home-hero { min-height: 500px; }
    .vcs-item-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .vcs-photo-grid { gap: 6px; }
    .vcs-photo-grid .vcs-image-placeholder { font-size: 12px; }
    .vcs-two-actions { gap: 7px; }
    .vcs-two-actions .vcs-btn { padding-inline: 8px; font-size: 13px; }
    .vcs-referral-maker { grid-template-columns: 1fr; }
    .vcs-referral-tree { grid-template-columns: 70px 1fr; gap: 8px; }
    .vcs-referral-tree > strong { font-size: 27px; }
    .vcs-referral-tree p { grid-template-columns: 1fr; gap: 1px; padding: 6px 0; border-bottom: 1px solid var(--vcs-line); }
    .vcs-form-row { align-items: stretch; }
    .vcs-form-row .vcs-btn { flex: 0 0 auto; }
    .vcs-chat-actions { flex-direction: column; }
    .vcs-chat-actions .vcs-btn { width: 100%; }
    .vcs-stats div { min-height: 105px; padding: 15px 8px; }
    .vcs-stats strong { font-size: 27px; }
}

/* 1.0.6: compact introduction and map controls. */
.vcs-home-network-copy { padding-inline: 0; }
.vcs-home-network-copy h2 { font-size: clamp(19px, 4.8vw, 24px); font-weight: 700; line-height: 1.35; white-space: normal; text-wrap: balance; }
.vcs-home-network-copy p { font-size: clamp(14px, 3.6vw, 17px); }
.vcs-real-map { overflow: hidden; }
.vcs-real-map .maplibregl-canvas { max-width: none; }
.vcs-station-marker { border: 2px solid #fff; border-radius: 18px; background: #007f50; color: white; padding: 5px 9px; font-size: 12px; cursor: pointer; box-shadow: 0 2px 8px #0004; }
.vcs-map-sr-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.vcs-real-map-wrap .vcs-map-nearby { max-width: calc(100% - 24px); white-space: normal; }
.vcs-real-map .maplibregl-ctrl-attrib { font-size: 10px; }
.vcs-real-map .maplibregl-popup-content { color: #153e2d; padding: 16px; }

/* 1.0.7 */
.vcs-footer { border-top: 1px solid #cbd9d0; padding: 22px 12px; margin-top: 24px; letter-spacing: normal; font-size: clamp(14px, 3.5vw, 18px); line-height: 1.65; color: #263f34; }
.vcs-footer a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.vcs-video-panel { min-height: 0; padding: 0; overflow: hidden; }
.vcs-video-panel video { display: block; width: 100%; max-height: 70vh; background: #000; }

/* 1.0.8: clearer home heading, discreet timestamp and prominent actions. */
.vcs-app .vcs-data-time { margin: -4px 0 2px; color: #66716c; font-size: 12px; font-weight: 400; line-height: 1.4; }
.vcs-app #vcs-station-map > h2 { margin-bottom: 10px; }
.vcs-app button.vcs-map-nearby { min-height: 52px; width: max-content; max-width: calc(100% - 24px); padding: 13px 22px; border: 2px solid #fff; border-radius: 999px; background: var(--vcs-green-dark); color: #fff; font-size: clamp(17px, 4.4vw, 20px); font-weight: 750; line-height: 1.3; text-align: center; white-space: normal; box-shadow: 0 4px 16px rgba(0,0,0,.24); cursor: pointer; }
.vcs-app .vcs-proposal-action { min-height: 60px; padding: 18px 20px; border: 2px solid var(--vcs-green-dark); border-radius: 12px; background: var(--vcs-green-dark); color: #fff; font-size: clamp(18px, 4.6vw, 24px); font-weight: 750; line-height: 1.35; text-wrap: balance; box-shadow: 0 4px 12px rgba(5,103,71,.18); }
.vcs-app button.vcs-map-nearby:hover,
.vcs-app .vcs-proposal-action:hover { background: #044f37; color: #fff; }
.vcs-app button.vcs-map-nearby:focus-visible,
.vcs-app .vcs-proposal-action:focus-visible { outline: 3px solid var(--vcs-orange); outline-offset: 3px; }

/* 1.0.9 */
.vcs-environment-message { background: #edf7f0; text-align: center; }
.vcs-environment-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin: 24px 0; }
.vcs-environment-icon { display: inline-flex; justify-content: center; align-items: center; width: 48px; height: 48px; border-radius: 50%; background: #fff1db; color: #056747; font-size: 30px; font-weight: 700; }
.vcs-environment-grid h3 { margin: 12px 0 8px; }
.vcs-environment-grid p { font-size: 15px; line-height: 1.6; }
.vcs-hold-note { font-size: 14px; color: var(--vcs-muted); }
.vcs-receive-item { scroll-margin-top: 80px; }
.vcs-receive-item:target { border: 2px solid var(--vcs-green); }
.vcs-exchange-status { padding: 12px; background: #edf7f0; border-radius: 8px; }
@media (max-width: 560px) { .vcs-environment-grid { grid-template-columns: 1fr; gap: 24px; } }

/* 1.0.10: single-line mobile headings, full product photos and partner brands. */
.vcs-app .vcs-home-network-copy h2 { font-size: clamp(10px, 3.25vw, 20px); white-space: nowrap; text-wrap: nowrap; letter-spacing: -.02em; }
.vcs-app .vcs-proposal-action { font-size: clamp(14px, 4.2vw, 22px); padding: 16px 10px; min-height: 54px; white-space: nowrap; text-wrap: nowrap; letter-spacing: -.02em; }
.vcs-app #vcs-partner-portal h2 { font-size: clamp(14px, 4vw, 24px); white-space: nowrap; letter-spacing: -.02em; }
.vcs-app .vcs-item-card { display: flex; flex-direction: column; text-align: left; align-self: start; }
.vcs-app .vcs-item-card img,
.vcs-app .vcs-item-card .vcs-image-placeholder { aspect-ratio: 3 / 4; height: auto; object-fit: contain; background: #f5f5f1; }
.vcs-app .vcs-item-card > span:last-child { padding: 10px 9px 12px; font-size: 14px; font-weight: 500; line-height: 1.45; white-space: normal; overflow: visible; overflow-wrap: anywhere; text-overflow: clip; }
.vcs-app .vcs-detail-images img { object-fit: contain; background: #f5f5f1; }
.vcs-app #vcs-partner-portal { background: #edf7f0; border-color: #bdd9c8; text-align: center; }
.vcs-app #vcs-partner-portal .vcs-btn-primary { background: var(--vcs-green-dark); color: #fff; min-height: 48px; font-weight: 700; }
.vcs-brand-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-top: 20px; }
.vcs-brand-card { display: flex; flex-direction: column; justify-content: center; padding: 14px 10px; border: 1px solid var(--vcs-line); border-radius: 10px; background: #fff; }
.vcs-brand-card a { display: block; color: inherit; text-decoration: none; }
.vcs-brand-card a:focus-visible { outline: 2px solid var(--vcs-green); outline-offset: 4px; }
.vcs-app .vcs-brand-logo { display: block; width: 100%; height: 76px; object-fit: contain; margin: 0 auto 10px; }
.vcs-brand-card span { display: block; font-size: 14px; font-weight: 550; overflow-wrap: anywhere; }
.vcs-app .vcs-footer { position: relative; margin-top: 18px; padding: 26px 18px; border: 1px solid #d5e5db; border-radius: 12px; background: #edf7f0; }
.vcs-footer::before { content: ''; display: block; width: 64px; height: 4px; margin: 0 auto 16px; border-radius: 4px; background: linear-gradient(90deg, #078b62 65%, #f59b23 65%); }
.vcs-footer-caption { display: block; margin-bottom: 8px; color: #66716c; font-size: 13px; }
.vcs-app .vcs-footer a { display: block; max-width: 540px; margin: auto; color: var(--vcs-green-dark); font-size: clamp(14px,3.6vw,17px); font-weight: 600; line-height: 1.6; text-decoration: none; }
.vcs-app .vcs-footer a:hover { text-decoration: underline; }
@media (max-width: 560px) { .vcs-brand-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }

/* 1.0.11 invitation forms */
.vcs-invitation-body { white-space: pre-wrap; overflow-wrap: anywhere; text-align: left; }
.vcs-invitation form { display: grid; gap: 14px; text-align: left; }
.vcs-invitation form label { display: grid; gap: 6px; }
.vcs-invitation input, .vcs-invitation textarea { width: 100%; min-width: 0; padding: 10px; border: 1px solid var(--vcs-line); border-radius: 8px; }

/* 1.0.12: centered product names and compact company line. */
.vcs-app .vcs-item-card > span:last-child { width: 100%; text-align: center; }
.vcs-app .vcs-footer a { max-width: none; font-size: clamp(9px, 3vw, 15px); white-space: nowrap; letter-spacing: -.02em; }

/* 1.0.15: compact shared identity and environmental message. */
.vcs-header { gap: 6px; padding-inline: 8px; }
.vcs-header-brand { gap: 5px; color: var(--vcs-green-dark) !important; flex: 1 1 auto; }
.vcs-header-brand img { width: 32px; height: 32px; }
.vcs-header-brand-copy { flex-direction: row; }
.vcs-header-brand-copy strong { color: var(--vcs-green-dark); font-size: clamp(10px, 2.55vw, 18px); font-weight: 650; white-space: nowrap; }
.vcs-header-quick-give { flex: 0 0 auto; padding-inline: 7px; font-size: 12px; }
.vcs-environment-message { padding-block: 20px; }
.vcs-environment-grid { margin: 16px 0; gap: 16px; }
.vcs-environment-grid p { margin: 8px 0 0; }
.vcs-environment-message strong { margin-top: 12px; font-size: clamp(13px, 3.5vw, 18px); }
.vcs-app .vcs-footer a, .vcs-app .vcs-footer a:hover, .vcs-app .vcs-footer a:focus { text-decoration: underline; text-underline-offset: 3px; touch-action: manipulation; min-height: 44px; padding-block: 10px; }
@media (max-width: 560px) {
 .vcs-environment-grid { gap: 12px; }
 .vcs-environment-grid > div { display: flex; align-items: center; gap: 12px; text-align: left; }
 .vcs-environment-icon { flex: 0 0 40px; width: 40px; height: 40px; font-size: 24px; }
 .vcs-environment-grid p { margin: 0; }
}

.vcs-map-guide { text-align: center; color: var(--vcs-muted); margin: 0 0 14px; font-size: 14px; }

/* 1.0.17 notifications */
.vcs-notice-toggle { flex: 0 0 auto; border: 1px solid var(--vcs-line); border-radius: 20px; background: white; color: var(--vcs-green-dark); padding: 8px; min-height: 40px; cursor: pointer; }
.vcs-notice-panel { position: relative; margin: 12px 0; scroll-margin-top: 86px; }
.vcs-notice-panel[hidden], .vcs-app button[hidden], .vcs-app form[hidden] { display: none !important; }
.vcs-notice-link { display: block; padding: 12px; margin-block: 6px; border: 1px solid var(--vcs-line); border-radius: 8px; color: var(--vcs-green-dark); text-decoration: underline; }
.vcs-notice-panel form { display: grid; gap: 8px; margin-block: 14px; }
.vcs-notice-panel input { max-width: 100%; }
.vcs-notice-panel details { margin-top: 16px; }
.vcs-notice-panel button { cursor: pointer; min-height: 44px; }
@media(max-width: 440px) { .vcs-header-brand img { width: 24px; height: 24px; } .vcs-header-brand-copy strong { font-size: 8.5px; } .vcs-header { gap: 3px; } .vcs-notice-toggle { padding: 6px; } }

.vcs-notice-toast { position: fixed; bottom: 22px; left: 50%; transform: translateX(-50%); max-width: 90vw; padding: 16px; z-index: 10010; color: white; background: #056747; border: 0; border-radius: 10px; cursor: pointer; }

/* 1.0.18: equally sized item captions and public-area guidance. */
.vcs-app .vcs-item-card > .vcs-item-caption { display: block; width: 100%; min-width: 0; padding: 10px 9px 12px; overflow: hidden; text-align: center; }
.vcs-item-caption .vcs-item-name, .vcs-item-caption .vcs-item-area { display: block; width: 100%; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.vcs-item-caption .vcs-item-name { font-size: 14px; line-height: 21px; font-weight: 500; }
.vcs-item-caption .vcs-item-area { margin-top: 3px; font-size: 12px; line-height: 18px; color: var(--vcs-muted); font-weight: 400; }
.vcs-address-advice { margin: 7px 0 0; font-size: 12px; line-height: 1.5; color: var(--vcs-muted); }
.vcs-handover [data-vcs-mode="address"] { min-width: 0; }
.vcs-environment-message > h2 { font-size: clamp(16px, 4.1vw, 24px); font-weight: 400; line-height: 1.4; }

/* 1.0.21: clearer giving action and recovery-center workflow. */
.vcs-app .vcs-home-give-banner { border-color: var(--vcs-green); background: var(--vcs-green); color: #fff; }
.vcs-app .vcs-home-give-banner:hover, .vcs-app .vcs-home-give-banner:focus-visible { background: var(--vcs-green-dark); color: #fff; }
.vcs-app .vcs-environment-message > h2 { color: var(--vcs-green-dark); font-family: inherit; font-size: clamp(20px, 5vw, 28px); font-weight: 750; line-height: 1.2; }
.vcs-recovery-status { margin-top: 6px; color: var(--vcs-green-dark); font-weight: 650; }
@media(max-width: 440px) { .vcs-header-brand-copy strong { font-size: clamp(9px, 2.5vw, 10px); } }

/* 1.0.25: community upkeep, timestamped photo batches and only two giving modes. */
.vcs-community-invitation { margin-top: 24px; padding: 18px; border-radius: 10px; background: var(--vcs-soft); text-align: center; }
.vcs-community-invitation h3 { margin: 0 0 10px; color: var(--vcs-green-dark); font-size: clamp(16px, 4vw, 19px); line-height: 1.5; }
.vcs-community-invitation p { margin: 8px 0 0; line-height: 1.65; }
.vcs-app .vcs-small { font-size: 13px; line-height: 1.6; color: var(--vcs-muted); }
.vcs-station-availability { padding: 12px 16px; margin: 14px 0; border: 1px solid var(--vcs-line); border-radius: 9px; font-size: 14px; line-height: 1.6; text-align: center; }
.vcs-station-availability strong { display: block; }
.vcs-snapshot-batch { margin: 16px 0; min-width: 0; }
.vcs-snapshot-submitted { text-align: center; font-size: 14px; line-height: 1.5; font-weight: 600; }
.vcs-station-photo-grid > a { display: block; min-width: 0; border-radius: 9px; }
.vcs-station-photo-grid > a:focus-visible { outline: 3px solid var(--vcs-green); outline-offset: 3px; }
.vcs-station-photo-grid > a > img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; }
.vcs-app .vcs-snapshot-report { display: block; margin: 8px auto 0; font-size: 12px; min-height: 44px; }
.vcs-snapshot-history, .vcs-reference-photos, .vcs-station-report, .vcs-sharing-rules { margin: 16px 0; padding-top: 10px; border-top: 1px solid var(--vcs-line); min-width: 0; }
.vcs-snapshot-history > summary, .vcs-reference-photos > summary, .vcs-station-report > summary, .vcs-sharing-rules > summary { cursor: pointer; min-height: 44px; padding-block: 10px; color: var(--vcs-green-dark); line-height: 1.5; }
.vcs-reference-photos > p, .vcs-snapshot-history > p { text-align: center; }
.vcs-snapshot-guidance { text-align: center; max-width: 650px; margin-inline: auto; }
.vcs-sharing-rules p { font-size: 14px; line-height: 1.7; text-align: left; }
.vcs-station-report textarea { width: 100%; box-sizing: border-box; resize: vertical; }
.vcs-station-report form { display: grid; gap: 12px; }
.vcs-station-report form > button { justify-self: center; }
.vcs-app .vcs-maintenance .vcs-support-action { background: var(--vcs-green); border-color: var(--vcs-green); color: #fff; font-weight: 700; }
.vcs-app .vcs-maintenance .vcs-support-action:hover, .vcs-app .vcs-maintenance .vcs-support-action:focus-visible { background: var(--vcs-green-dark); color: #fff; }
.vcs-app .vcs-handover [data-vcs-mode][hidden] { display: none !important; }
@media (max-width: 560px) {
    .vcs-community-invitation { padding: 14px; }
    .vcs-station-availability { padding: 12px; }
    .vcs-app .vcs-maintenance .vcs-two-actions { grid-template-columns: 1fr; }
}

/* 1.0.26: compact station layout from the owner's sketch; six fixed portrait slots. */
.vcs-station-now > .vcs-station-photo-time { margin: 0 0 10px; font-size: 13px; color: var(--vcs-ink); line-height: 1.45; }
.vcs-station-live-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; width: min(100%, 480px); margin-inline: auto; }
.vcs-station-live-grid > .vcs-station-photo-slot { display: flex; align-items: center; justify-content: center; width: 100%; min-width: 0; aspect-ratio: 3 / 4; overflow: hidden; border: 1px solid var(--vcs-line); border-radius: 6px; background: var(--vcs-soft); text-decoration: none; }
.vcs-station-live-grid > .vcs-station-photo-slot > img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.vcs-station-photo-slot.is-empty { color: var(--vcs-muted); font-size: clamp(17px, 4vw, 24px); }
.vcs-station-live-grid > a:focus-visible { outline: 3px solid var(--vcs-green); outline-offset: 2px; }
.vcs-station-now > .vcs-station-photo-invitation { width: min(100%, 640px); margin: 16px auto 12px; line-height: 1.45; text-align: center; }
.vcs-station-now > form { width: min(100%, 640px); margin-inline: auto; }
.vcs-camera-slots { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0 0 8px; }
.vcs-app .vcs-camera-slot { display: flex; align-items: center; justify-content: center; width: 100%; min-width: 0; min-height: 52px; aspect-ratio: 3 / 2; padding: 5px; border: 1px solid var(--vcs-line); border-radius: 5px; background: var(--vcs-soft); color: var(--vcs-green-dark); cursor: pointer; font-size: 14px; font-weight: 500; line-height: 1.3; overflow: hidden; }
.vcs-app .vcs-camera-slot.has-photo { padding: 0; }
.vcs-camera-slot > img { display: block; width: 100%; height: 100%; object-fit: contain; }
.vcs-app .vcs-camera-add { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 44px; border: 0; background: transparent; padding: 4px; color: var(--vcs-green-dark); font-size: 14px; cursor: pointer; line-height: 1.3; }
.vcs-camera-slot:focus-visible, .vcs-camera-add:focus-visible { outline: 2px solid var(--vcs-green); outline-offset: 2px; }
.vcs-camera-slot[disabled], .vcs-camera-add[disabled] { opacity: .6; cursor: wait; }
.vcs-snapshot-send-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: stretch; }
.vcs-app .vcs-station-now [data-vcs-snapshot] .vcs-snapshot-send-row > input[name="note"] { display: block; width: 100%; min-width: 0; min-height: 44px; padding: 8px 10px; margin: 0; border: 1px solid var(--vcs-line); border-radius: 5px; background: #fff; color: var(--vcs-ink); font-size: 16px; }
.vcs-app .vcs-snapshot-send-row > .vcs-btn { border-radius: 5px; padding: 8px 16px; }
.vcs-station-info > summary { color: var(--vcs-green-dark); cursor: pointer; padding-block: 6px; }
.vcs-station-info .vcs-sharing-rules { margin-top: 8px; }
.vcs-app .vcs-camera-dialog { width: min(440px, calc(100% - 20px)); max-height: 94vh; max-height: 94dvh; padding: 0; margin: auto; border: 1px solid var(--vcs-line); border-radius: 12px; background: #fff; color: var(--vcs-ink); overflow: auto; font: inherit; }
.vcs-camera-dialog:not([open]) { display: none; }
.vcs-camera-dialog::backdrop { background: #0009; }
.vcs-app .vcs-camera-dialog.is-fallback { position: fixed; inset: 3vh 0 auto; z-index: 100000; margin-inline: auto; box-shadow: 0 0 0 100vmax #0009; }
.vcs-camera-dialog-inner { padding: 12px; }
.vcs-camera-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.vcs-camera-heading > h2 { font-size: 19px; line-height: 1.3; margin: 0; }
.vcs-camera-heading > button { display: flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0; background: transparent; color: var(--vcs-ink); border: 0; cursor: pointer; font-size: 28px; }
.vcs-camera-view { width: min(100%, 320px, 45vh); width: min(100%, 320px, 45dvh); margin-inline: auto; aspect-ratio: 3 / 4; overflow: hidden; border-radius: 6px; background: #111; }
.vcs-camera-view > video { display: block; width: 100%; height: 100%; object-fit: cover; }
.vcs-camera-message { font-size: 14px; line-height: 1.45; text-align: center; margin: 8px 0; }
.vcs-camera-message:empty { margin: 0; }
.vcs-camera-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
.vcs-camera-remove { display: block; margin: 8px auto 0; padding: 8px; min-height: 44px; border: 0; background: transparent; color: var(--vcs-green-dark); text-decoration: underline; cursor: pointer; font-size: 14px; }
@media (max-width: 420px) {
    .vcs-station-live-grid { gap: 8px; }
    .vcs-camera-slots { gap: 6px; }
    .vcs-app .vcs-camera-slot, .vcs-app .vcs-camera-add { font-size: 12px; }
    .vcs-station-now > .vcs-station-photo-invitation { font-size: 14px; }
    .vcs-station-now > .vcs-station-photo-time { font-size: 12px; }
}


/* 1.0.26 / Tramchiase 08-09-2026: centered, compact public presentation. */
.vcs-app .vcs-panel { text-align: center; }
.vcs-app .vcs-panel p,
.vcs-app .vcs-panel summary,
.vcs-app .vcs-spread-card h2 { text-align: center; }
.vcs-app .vcs-btn { text-align: center; justify-content: center; }
.vcs-app .vcs-share-actions,
.vcs-app .vcs-share-open-actions,
.vcs-app .vcs-spread-stats,
.vcs-app .vcs-spread-preview { justify-content: center; }
.vcs-page-station #vcs-investor-portal > h2 {
    font-size: clamp(14px, 4.4vw, 30px);
    line-height: 1.3;
    letter-spacing: -.02em;
    white-space: nowrap;
}
.vcs-app .vcs-online-link { display: grid; justify-items: center; gap: 14px; }
.vcs-app .vcs-online-link > p { max-width: 680px; margin: 0; line-height: 1.55; }
.vcs-app .vcs-online-link > .vcs-action-banner {
    width: min(100%, 680px);
    margin: 0;
    padding: 18px 12px;
    background: var(--vcs-green);
    border-color: var(--vcs-green);
    color: #fff;
    font-size: clamp(18px, 4.8vw, 28px);
    line-height: 1.3;
}
.vcs-app .vcs-online-link > .vcs-action-banner:hover,
.vcs-app .vcs-online-link > .vcs-action-banner:focus-visible {
    background: var(--vcs-green-dark);
    border-color: var(--vcs-green-dark);
    color: #fff;
}
.vcs-station-guidelines > .vcs-sharing-rules { margin: 0; padding: 0; border-top: 0; }
.vcs-station-guidelines > .vcs-sharing-rules > summary { padding-block: 6px; min-height: 44px; }
.vcs-station-guidelines .vcs-reference-photos:last-child { margin-bottom: 0; }
@media (min-width: 768px) {
    .vcs-station-live-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); width: min(100%, 720px); }
}


/* 1.0.28: two real counters; environmental icons above their paragraphs. */
.vcs-app .vcs-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vcs-app .vcs-stats > div { min-width: 0; }
.vcs-app .vcs-stats strong { overflow-wrap: anywhere; }
.vcs-app .vcs-environment-message { padding: 30px 24px; }
.vcs-app .vcs-environment-message > h2 { margin: 0; }
.vcs-app .vcs-environment-grid { gap: 28px; margin: 26px 0 24px; }
.vcs-app .vcs-environment-grid > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    min-width: 0;
    text-align: center;
}
.vcs-app .vcs-environment-icon { flex: 0 0 44px; width: 44px; height: 44px; font-size: 28px; }
.vcs-app .vcs-environment-grid p { max-width: 34ch; margin: 0; font-size: 16px; line-height: 1.65; text-align: center; }
.vcs-app .vcs-environment-message > strong { margin: 0; }
.vcs-app .vcs-environment-message > p:last-child { margin: 14px 0 0; }
@media (max-width: 560px) {
    .vcs-app .vcs-environment-message { padding: 24px 18px; }
    .vcs-app .vcs-environment-grid { grid-template-columns: 1fr; gap: 24px; margin: 24px 0; }
}

/* 1.0.29 — manual partner benefits, compact receiving title and expandable item photos. */
.vcs-app .vcs-video-panel,
.vcs-app .vcs-video-panel video { background: var(--vcs-green-dark); }
.vcs-app .vcs-video-panel { border-color: var(--vcs-green-dark); }
/* 1.0.30: centered, borderless local list matching the supplied Giot Xanh example. */
.vcs-app .vcs-station-partners { padding-block: clamp(24px, 5vw, 32px); }
.vcs-app .vcs-station-partners-title { margin: 0; font-size: clamp(11.5px, 3.3vw, 22px); font-weight: 500; line-height: 1.4; overflow-wrap: anywhere; }
.vcs-app .vcs-station-brand { display: flex; justify-content: center; align-items: center; margin: 24px auto 30px; }
.vcs-app .vcs-station-brand a { display: inline-flex; max-width: 100%; align-items: center; justify-content: center; color: var(--vcs-green-dark); text-decoration: none; }
.vcs-app .vcs-station-brand a:focus-visible { outline: 2px solid var(--vcs-green); outline-offset: 6px; border-radius: 4px; }
.vcs-app .vcs-station-brand .vcs-brand-logo { display: block; width: auto; max-width: min(220px, 100%); height: 130px; object-fit: contain; }
.vcs-app .vcs-station-brand strong { font-size: clamp(20px, 5vw, 28px); overflow-wrap: anywhere; }
.vcs-app .vcs-local-heading { margin: 0 0 24px; font-size: clamp(16px, 4vw, 20px); font-weight: 500; text-transform: none; text-align: center; line-height: 1.5; }
.vcs-app .vcs-local-list { display: flex; flex-direction: column; align-items: center; gap: 24px; width: min(100%, 680px); margin: 0 auto; padding: 0; list-style: none; }
.vcs-app .vcs-local-list > .vcs-local-entry { display: block; width: 100%; min-width: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; text-align: center; overflow-wrap: anywhere; }
.vcs-app .vcs-local-entry > strong { display: block; color: var(--vcs-green-dark); font-size: clamp(17px, 4.3vw, 20px); line-height: 1.45; font-weight: 700; }
.vcs-app .vcs-local-entry > .vcs-local-meta { margin: 6px 0 0; color: var(--vcs-muted); font-size: clamp(14px, 3.7vw, 16px); line-height: 1.6; text-align: center; }
.vcs-app .vcs-station-local-context { margin: 0 0 20px; color: var(--vcs-muted); }
.vcs-app .vcs-add-item-image { width:100%; color:var(--vcs-green-dark); font:inherit; font-weight:600; }
.vcs-app .vcs-add-item-image:hover { border-color:var(--vcs-green); }
.vcs-app .vcs-add-item-image:disabled { cursor:default; opacity:.6; }
.vcs-app .vcs-upload-grid .vcs-file-box { min-width:0; overflow-wrap:anywhere; position:relative; }
.vcs-app .vcs-upload-grid .vcs-file-box:focus-within,
.vcs-app .vcs-add-item-image:focus-visible { outline:2px solid var(--vcs-green); outline-offset:3px; }
.vcs-app .vcs-receive-title { text-align:center; line-height:1.3; }
@media (max-width:640px) {
    .vcs-app h1.vcs-receive-title { font-size:clamp(15px,4.8vw,24px); white-space:nowrap; letter-spacing:0; margin:18px 0; padding:14px 4px; }
}

/* Proposal portal entry replaces the legacy inline proposal form. */
.vcs-app a.vcs-proposal-action{display:block;text-align:center;text-decoration:none}


/* 1.0.40: compact locality captions, balanced system logos and a lighter share composer. */
.vcs-app .vcs-item-caption .vcs-item-area {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
}
.vcs-app .vcs-system-partners .vcs-brand-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 14px;
}
.vcs-app .vcs-system-partners .vcs-brand-card {
    flex: 0 1 calc((100% - 28px) / 3);
    min-width: 0;
    text-align: center;
}
.vcs-app .vcs-share-dialog [data-vcs-share-label-row],
.vcs-app .vcs-share-dialog input,
.vcs-app .vcs-share-dialog [data-vcs-share-message] {
    font-weight: 400;
    text-transform: none;
    text-align: left;
    letter-spacing: normal;
}
.vcs-app .vcs-share-dialog input::placeholder {
    font-weight: 400;
    text-transform: none;
    letter-spacing: normal;
}
.vcs-app .vcs-share-dialog [data-vcs-share-message] {
    min-height: 180px;
    max-height: none;
    margin: 16px 0 0;
    font-size: 16px;
    line-height: 1.6;
    resize: none;
    overflow-y: hidden;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}
.vcs-app .vcs-share-dialog [data-vcs-share-status]:empty { display: none; }
.vcs-app .vcs-share-dialog #vcs-share-advice { font-weight: 400; text-transform: none; }
@media (max-width: 560px) {
    .vcs-app .vcs-system-partners .vcs-brand-card { flex-basis: calc((100% - 14px) / 2); }
}

/* 1.0.44: compact giver actions and safer mobile exchange controls. */
.vcs-owned-summary{position:relative;display:grid;grid-template-columns:minmax(92px,140px) minmax(0,1fr) auto;align-items:start;gap:12px;}
.vcs-owned-summary>img,.vcs-owned-summary>.vcs-image-placeholder{grid-column:1;}
.vcs-owned-copy{grid-column:2;min-width:0;}
.vcs-item-delete-inline{grid-column:3;align-self:start;white-space:nowrap;}
.vcs-accepted-notice{margin:10px 0;padding:10px 12px;border:1px solid #b9dbc9;border-radius:8px;background:#eef8f2;color:var(--vcs-green-dark);font-weight:700;}
@media (max-width:640px){
  .vcs-owned-summary{grid-template-columns:88px minmax(0,1fr) auto;gap:8px;}
  .vcs-item-delete-inline{min-height:36px;padding:6px 9px;font-size:13px;}
  .vcs-form-row input,.vcs-form-row .vcs-btn{height:44px;min-height:44px;margin-top:5px;}
  .vcs-form-row .vcs-btn{display:inline-flex;align-items:center;justify-content:center;}
  .vcs-chat-actions{display:flex;flex-direction:row;flex-wrap:nowrap;gap:8px;}
  .vcs-chat-actions .vcs-btn{width:auto;flex:1 1 0;min-width:0;padding-inline:8px;}
}


/* 1.0.45: clearer station-community call to action and investor invitation. */
.vcs-station-community-call { width: min(100%, 680px); margin: 18px auto 14px; display: grid; gap: 10px; }
.vcs-app .vcs-station-community-call > p { margin: 0; }
.vcs-station-community-affirmation { padding: 14px 16px; border: 1px solid #bdd9c8; border-radius: 10px; background: #edf7f0; color: var(--vcs-green-dark); font-size: clamp(17px, 4vw, 22px); line-height: 1.4; }
.vcs-station-community-request { padding: 12px 16px; border-radius: 10px; background: var(--vcs-soft); color: var(--vcs-ink); line-height: 1.55; }
.vcs-station-share { display: grid; justify-items: center; gap: 10px; }
.vcs-app .vcs-station-share > p { max-width: 660px; margin: 0; line-height: 1.5; }
.vcs-app .vcs-station-share > .vcs-btn { margin: 0; }
.vcs-investor-invite { background: linear-gradient(180deg, #f7fbf8 0%, #edf7f0 100%); border-color: #bdd9c8; }
.vcs-app .vcs-investor-invite > .vcs-investor-kicker { margin: 0 0 6px; color: var(--vcs-green-dark); font-size: 13px; font-weight: 800; letter-spacing: .08em; }
.vcs-app .vcs-investor-invite > h2 { margin-top: 4px; }
.vcs-app .vcs-investor-invite > .vcs-investor-lead { max-width: 760px; margin: 0 auto 12px; font-size: clamp(17px, 3.8vw, 21px); line-height: 1.55; font-weight: 650; }
.vcs-app .vcs-investor-invite > p:not(.vcs-investor-kicker):not(.vcs-investor-lead) { max-width: 760px; margin-inline: auto; line-height: 1.6; }
.vcs-app .vcs-investor-invite > .vcs-investor-note { color: var(--vcs-muted); font-size: 13px; }
/* 1.0.91: keep investor entry actions side by side, including on mobile.
   Scope this rule so maintenance and other two-action groups stay unchanged. */
.vcs-app .vcs-investor-invite > .vcs-two-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    margin-top: 14px;
}
.vcs-app .vcs-investor-invite > .vcs-two-actions > .vcs-btn {
    min-width: 0;
    min-height: 44px;
    margin: 0;
    white-space: normal;
    overflow-wrap: break-word;
}
@media (max-width: 560px) {
    .vcs-station-community-affirmation { padding: 12px; }
    .vcs-station-community-request { padding: 11px 12px; }
}

/* 1.0.58: Doitac adjustments, scoped to the existing item form. */
.vcs-app .vcs-give-panel > .vcs-give-subtitle {
    margin: -4px 0 16px;
    max-width: none;
    color: var(--vcs-muted);
    font-size: clamp(10px, 3.1vw, 14px);
    font-weight: 400;
    line-height: 1.5;
    text-align: center;
    white-space: nowrap;
    overflow-wrap: normal;
}
.vcs-give-panel .vcs-inline-field { margin: 14px 0; }
.vcs-give-panel .vcs-inline-field input,
.vcs-give-panel .vcs-inline-field textarea { width: 100%; }
.vcs-give-panel .vcs-choice-group { min-width: 0; margin: 18px 0; padding: 0; border: 0; }
.vcs-give-panel .vcs-choice-group > legend {
    float: none;
    width: 100%;
    max-width: 100%;
    margin: 0 0 12px;
    padding: 0;
    font: inherit;
    font-weight: 600;
    line-height: 1.5;
    white-space: normal;
    text-align: center;
    overflow-wrap: break-word;
}
.vcs-give-panel .vcs-listing-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
    min-width: 0;
}
.vcs-app .vcs-give-panel .vcs-choice-card {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-width: 0;
    min-height: 48px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid var(--vcs-line);
    border-radius: 10px;
    background: #fff;
    color: var(--vcs-ink);
    font: inherit;
    font-weight: 500;
    line-height: 1.45;
    text-align: center;
    cursor: pointer;
}
.vcs-give-panel .vcs-choice-card input[type="radio"] {
    flex: 0 0 auto;
    margin: 0;
    accent-color: var(--vcs-green);
}
.vcs-app .vcs-give-panel .vcs-choice-copy {
    min-width: 0;
    font: inherit;
    font-weight: inherit;
    white-space: nowrap;
}
.vcs-give-panel .vcs-choice-card:has(input:checked) {
    border-color: var(--vcs-green);
    box-shadow: 0 0 0 1px var(--vcs-green) inset;
    background: #f0f8f3;
}
.vcs-give-panel .vcs-choice-card:focus-within {
    outline: 2px solid var(--vcs-green);
    outline-offset: 3px;
}
.vcs-give-panel .vcs-handover > legend { padding: 0 8px; }
.vcs-give-panel .vcs-price-field { margin: 14px 0 18px; }
.vcs-give-panel .vcs-price-field input[type="text"] { width: 100%; }
.vcs-give-panel .vcs-required { color: #c0392b; font-weight: 700; }
.vcs-give-panel .vcs-handover [data-vcs-handover-option="station"].is-disabled { opacity: .5; cursor: not-allowed; }
.vcs-give-panel .vcs-handover [data-vcs-handover-option="station"].is-disabled input { pointer-events: none; }
.vcs-app .vcs-give-panel .vcs-give-audience {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
    margin: 18px 0 2px;
}
.vcs-app .vcs-give-panel .vcs-give-audience > span { display: block; line-height: 1.45; }
.vcs-app .vcs-give-panel .vcs-give-audience > select { width: 100%; min-width: 0; margin: 0; }


/* 1.0.59: gift-only priority; keep the native datetime picker inside its
 * container on mobile (including WebKit's intrinsic input sizing). */
.vcs-app .vcs-give-panel [data-vcs-give-audience][hidden] {
    display: none !important;
}
.vcs-app .vcs-give-panel .vcs-handover > [data-vcs-mode="station"] {
    min-width: 0;
    max-width: 100%;
}
.vcs-app .vcs-give-panel .vcs-expected-at-field {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}
.vcs-app .vcs-give-panel .vcs-expected-at-field > span {
    min-width: 0;
    white-space: normal;
    overflow-wrap: break-word;
    line-height: 1.45;
}
.vcs-app .vcs-give-panel input[name="expected_at"] {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    inline-size: 100%;
    min-inline-size: 0;
    max-inline-size: 100%;
    box-sizing: border-box;
    margin: 0;
    min-height: 44px;
    font-size: 16px;
    -webkit-appearance: none;
    appearance: none;
}
.vcs-app .vcs-give-panel input[name="expected_at"]::-webkit-date-and-time-value {
    min-width: 0;
    text-align: center;
}
.vcs-app .vcs-give-panel input[name="expected_at"]::-webkit-datetime-edit {
    min-width: 0;
    padding: 0;
}
@media (max-width: 640px) {
    .vcs-app .vcs-give-panel .vcs-handover > [data-vcs-mode="station"] {
        padding-left: 0;
    }
}

/* 1.0.60: one full-width listing line, never a narrow side badge. */
.vcs-app .vcs-personal-item-card{display:flex;flex-direction:column;align-self:stretch;}
.vcs-app .vcs-personal-item-card>.vcs-item-caption{display:flex;flex-direction:column;gap:4px;width:100%;min-width:0;flex:1;padding:9px 8px;white-space:normal;overflow:visible;text-align:center;}
.vcs-app .vcs-personal-item-card .vcs-item-name{margin:0;white-space:normal;overflow-wrap:anywhere;line-height:1.4;}
.vcs-app .vcs-personal-item-card .vcs-item-area{margin:0;white-space:normal;overflow-wrap:anywhere;line-height:1.4;}
.vcs-app .vcs-item-listing-line{display:block;width:100%;margin:4px 0 0;padding:5px 3px;border-radius:5px;font-size:13px;line-height:1.4;font-weight:600;white-space:normal;overflow-wrap:anywhere;}
.vcs-app .vcs-item-listing-line.is-give,.vcs-app .vcs-detail-listing-line.is-give{background:#edf7f0;color:#216144;}
.vcs-app .vcs-item-listing-line.is-sell,.vcs-app .vcs-detail-listing-line.is-sell{background:#fff3e5;color:#864617;}
.vcs-app .vcs-detail-listing-line{width:fit-content;max-width:100%;margin:8px auto 14px;padding:6px 14px;border-radius:7px;font-size:19px;line-height:1.4;font-weight:650;overflow-wrap:anywhere;}
.vcs-app .vcs-sale-info{max-width:740px;margin:12px auto;line-height:1.55;}
.vcs-app [data-vcs-item-detail] .vcs-share-actions>.vcs-btn{white-space:normal;min-width:0;overflow-wrap:break-word;line-height:1.4;}
.vcs-app [data-vcs-item-detail] h3{padding-inline:24px;overflow-wrap:anywhere;}
@media(max-width:600px){
 .vcs-app .vcs-personal-item-card>.vcs-item-caption{padding:8px 6px;gap:3px;}
 .vcs-app .vcs-item-listing-line{font-size:12px;padding:5px 2px;}
 .vcs-app .vcs-detail-listing-line{font-size:18px;}
 .vcs-app [data-vcs-item-detail] .vcs-share-actions{flex-direction:column;}
 .vcs-app [data-vcs-item-detail] .vcs-share-actions>.vcs-btn{flex:0 0 auto;width:100%;}
}
@media(max-width:350px){.vcs-app .vcs-item-listing-line{font-size:11px;padding-inline:0;letter-spacing:-.1px;}}

.vcs-app .vcs-exchange-dialog[data-listing-type="sell"] textarea,.vcs-app .vcs-exchange-dialog[data-listing-type="sell"] textarea::placeholder{font-weight:400;}

/* 1.0.68 — readable shared header on mobile; desktop/hero and actions unchanged. */
@media(max-width:560px) {
 .vcs-app .vcs-header-brand-copy { line-height:1.25; }
 .vcs-app .vcs-header-brand-copy strong { font-size:clamp(12px,3.2vw,14px); white-space:normal; overflow:visible; text-overflow:clip; }
}

/* 1.0.69 — show only the undecided posting form's primary inputs. */
.vcs-app [data-vcs-listing-fields][hidden]{display:none!important;}
.vcs-app .vcs-sale-main-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch;}
.vcs-app .vcs-sale-main-actions>.vcs-btn{flex:1 1 120px;min-width:0;font-size:14px;font-weight:500;white-space:normal;line-height:1.4;padding:10px 8px;}
.vcs-app .vcs-sale-manage{border:0;border-top:1px solid var(--vcs-line);border-radius:0;background:transparent;padding:12px 0;margin-top:12px;}
.vcs-app .vcs-sale-manage[hidden]{display:none!important;}
.vcs-app .vcs-sale-manage [data-vcs-review-status]:empty{display:none;}
.vcs-app .vcs-owned-item:has(.vcs-sale-manage)>.vcs-owned-summary .vcs-handover-badge{line-height:1.6;font-size:14px;}
@media(max-width:480px){.vcs-app .vcs-sale-main-actions>.vcs-btn{flex:1 1 0;font-size:13px;padding:10px 5px;}}


/* 1.0.86 — clearer separation and hierarchy in the receive/interest list. */
.vcs-app .vcs-receive-item{margin-top:22px;}
.vcs-app .vcs-receive-item:first-of-type{margin-top:0;}
.vcs-app .vcs-receive-item-title{display:flex;justify-content:center;align-items:baseline;gap:6px;flex-wrap:wrap;text-align:center!important;margin-bottom:12px;}
.vcs-app .vcs-receive-item-title strong{font-weight:700;}
.vcs-app .vcs-receive-item-title span{font-weight:450;}
.vcs-app .vcs-receive-area{margin:12px 0 6px;text-align:center;}
.vcs-app .vcs-receive-price{margin:6px auto 12px;text-align:center;color:var(--vcs-ink);}
.vcs-app .vcs-receive-price strong{font-weight:650;}
@media(max-width:640px){.vcs-app .vcs-receive-item{margin-top:26px;}.vcs-app .vcs-receive-item-title{font-size:20px;}}

/* 1.0.87 — turn the environment poster into a compact Vietchiase journey. */
.vcs-app .vcs-journey-message {
    overflow: hidden;
    padding: clamp(24px, 5vw, 34px);
    border-color: #d5e7dc;
    background: linear-gradient(180deg, #f5faf7 0%, #ffffff 100%);
}
.vcs-app .vcs-journey-message > h2 {
    max-width: 620px;
    margin: 0 auto 26px;
    color: var(--vcs-green-dark);
    font-size: clamp(20px, 5vw, 28px);
    font-weight: 780;
    line-height: 1.25;
    text-wrap: balance;
}
.vcs-app .vcs-journey-steps {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    margin: 0 auto;
    max-width: 720px;
}
.vcs-app .vcs-journey-steps::before {
    content: '';
    position: absolute;
    z-index: 0;
    left: 16.666%;
    right: 16.666%;
    top: 20px;
    height: 2px;
    background: #c9dfd2;
}
.vcs-app .vcs-journey-step {
    position: relative;
    z-index: 1;
    min-width: 0;
    text-align: center;
}
.vcs-app .vcs-journey-node {
    display: inline-flex;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    margin: 0 auto 13px;
    border: 3px solid #f5faf7;
    border-radius: 50%;
    background: var(--vcs-green);
    color: #fff;
    box-shadow: 0 0 0 1px #bcd8c8;
    font-size: 15px;
    font-weight: 800;
}
.vcs-app .vcs-journey-step h3 {
    margin: 0 0 8px;
    color: var(--vcs-ink);
    font-size: clamp(16px, 3.7vw, 19px);
    font-weight: 750;
    text-align: center;
}
.vcs-app .vcs-journey-step p {
    max-width: 30ch;
    margin: 0 auto;
    color: var(--vcs-ink);
    font-size: 15px;
    line-height: 1.6;
    text-align: center;
}
.vcs-app .vcs-journey-action {
    margin: 26px 0 0;
    text-align: center;
}
.vcs-app .vcs-journey-action .vcs-btn {
    min-width: 0;
    width: auto;
    max-width: 100%;
    gap: 12px;
    min-height: 58px;
    padding: 11px 22px;
    border-color: #a9cbbb;
    background: #edf6f0;
    color: var(--vcs-green-dark);
    line-height: 1.4;
    white-space: normal;
}
.vcs-app .vcs-journey-share > span { min-width: 0; text-align: left; }
.vcs-app .vcs-journey-share strong { display: block; font-size: 16px; font-weight: 750; }
.vcs-app .vcs-journey-share small { display: block; font-size: 14px; font-weight: 450; }
.vcs-app .vcs-journey-share-icon { flex: 0 0 24px; }
.vcs-app .vcs-journey-share:hover,.vcs-app .vcs-journey-share:focus-visible { background: #dceee3; border-color: var(--vcs-green); color: var(--vcs-green-dark); }
@media (max-width: 640px) {
    .vcs-app .vcs-journey-message { padding: 24px 18px; }
    .vcs-app .vcs-journey-message > h2 { margin-bottom: 22px; }
    .vcs-app .vcs-journey-steps {
        grid-template-columns: 1fr;
        gap: 22px;
        max-width: 520px;
    }
    .vcs-app .vcs-journey-steps::before {
        left: 19px;
        right: auto;
        top: 20px;
        bottom: 20px;
        width: 2px;
        height: auto;
    }
    .vcs-app .vcs-journey-step {
        display: grid;
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 14px;
        align-items: start;
        text-align: left;
    }
    .vcs-app .vcs-journey-node { margin: 0; }
    .vcs-app .vcs-journey-step h3 { margin-top: 5px; text-align: left; }
    .vcs-app .vcs-journey-step p { max-width: none; margin: 0; text-align: left; }
    .vcs-app .vcs-journey-action { margin-top: 24px; }
    .vcs-app .vcs-journey-action .vcs-btn { width: auto; max-width: 100%; padding-inline: 12px; gap: 10px; }
    .vcs-app .vcs-journey-share strong { font-size: 15px; }
}

/* 1.0.90 — station entry stays short; the overview belongs inside the investor portal. */
.vcs-app .vcs-online-link > .vcs-action-banner { font-size:clamp(18px,4.3vw,24px); line-height:1.4; overflow-wrap:normal; }

/* 1.0.96: navigation/inbox styles are shared by all Vietchiase pages. */
.vcs-app .vcs-header-quick-receive{flex:0 0 auto;font-weight:600;font-size:13px;line-height:1.3;text-decoration:none!important;color:var(--vcs-green-dark)!important;padding:7px 9px;min-height:38px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;box-sizing:border-box;border:1px solid var(--vcs-green);border-radius:999px;background:var(--vcs-white,#fff);}
.vcs-app .vcs-notice-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;min-height:44px;border:0;background:transparent;border-radius:12px;padding:8px;}
.vcs-app .vcs-notice-toggle svg{width:23px;height:23px;flex:none;}
.vcs-app [data-vcs-notice-count]{position:absolute;right:0;top:0;min-width:17px;border-radius:12px;background:#087c59;color:#fff;font-size:10px;line-height:17px;padding:0 4px;text-align:center;}
.vcs-app [data-vcs-notice-count][hidden]{display:none;}
.vcs-app .vcs-notice-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.vcs-app .vcs-notice-heading h2{margin:0;text-align:left;font-size:21px;}
.vcs-app .vcs-notice-heading button{margin:0;}
.vcs-app .vcs-notice-panel [data-vcs-notice-status]:empty{display:none;}
.vcs-app .vcs-notice-panel [data-vcs-notice-list]{margin-top:14px;}
.vcs-app .vcs-notice-quick{margin-top:16px;padding-top:12px;border-top:1px solid var(--vcs-line);text-align:center;}
.vcs-app .vcs-notice-quick>.vcs-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;box-sizing:border-box;white-space:normal;line-height:1.45;font-size:14px;text-decoration:none!important;}
.vcs-app .vcs-header-quick-receive:focus-visible,.vcs-app .vcs-notice-quick>.vcs-btn:focus-visible{outline:2px solid var(--vcs-green);outline-offset:3px;}
@media(max-width:640px){
.vcs-app .vcs-header{gap:2px;}
.vcs-app .vcs-header-brand{min-width:0;flex:1;}
.vcs-app .vcs-header-quick-receive{padding:6px 7px;min-height:36px;}
.vcs-app .vcs-header-quick-give{padding-inline:8px;font-size:13px;white-space:nowrap;}
.vcs-app .vcs-notice-toggle{width:36px;}
}
@media(max-width:360px){
.vcs-app .vcs-header-brand-copy strong{font-size:12px;line-height:1.3;}
.vcs-app .vcs-header-brand img{width:23px;height:23px;}
.vcs-app .vcs-header-brand{gap:4px;}
.vcs-app .vcs-header-quick-receive,.vcs-app .vcs-header-quick-give{font-size:12px;padding-inline:4px;}
}
.vcs-app .vcs-header-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto;min-width:0;}
.vcs-app .vcs-header-actions .vcs-header-quick-give{min-height:44px;font-size:13px;line-height:1.3;font-weight:600;}
.vcs-app .vcs-header-actions a:focus-visible,
.vcs-app .vcs-header-actions button:focus-visible{outline:2px solid var(--vcs-green);outline-offset:3px;}
.vcs-app a.vcs-notice-toggle{text-decoration:none!important;color:var(--vcs-green-dark);}
.vcs-app .vcs-notice-panel[data-vcs-updates-home]{margin:0;}
.vcs-app .vcs-notice-panel:focus{outline:none;}
.vcs-app .vcs-receive-list>.vcs-receive-title{margin:4px 0 14px;padding:8px 4px;font-size:clamp(19px,4.6vw,26px);line-height:1.35;}
@media(max-width:640px){
.vcs-app .vcs-header{gap:5px;flex-wrap:nowrap;min-height:54px;padding:4px 7px;}
.vcs-app .vcs-header-brand{gap:4px;flex:1 1 auto;min-width:0;}
.vcs-app .vcs-header-brand img{width:28px;height:28px;}
.vcs-app .vcs-header-brand-copy{flex-direction:row;min-width:0;line-height:1.3;}
.vcs-app .vcs-header-brand-copy strong{display:block;white-space:nowrap;overflow:visible;text-overflow:clip;line-height:1.3;font-size:clamp(10.75px,3.4vw,15px);font-weight:600;}
.vcs-app .vcs-header-brand-copy .vcs-brand-name,
 .vcs-app .vcs-header-brand-copy .vcs-brand-separator,
 .vcs-app .vcs-header-brand-copy .vcs-brand-tagline{display:inline;font-size:inherit;font-weight:inherit;line-height:inherit;}
.vcs-app .vcs-header-actions{gap:4px;margin-left:0;}
.vcs-app .vcs-header-actions .vcs-header-quick-give{padding:6px 7px;font-size:12px;min-height:44px;}
.vcs-app .vcs-header-actions .vcs-notice-toggle{width:36px;flex:0 0 36px;min-height:44px;}
}
@media(max-width:359px){
.vcs-app .vcs-header{gap:3px;padding-inline:5px;}
.vcs-app .vcs-header-brand{gap:3px;}
.vcs-app .vcs-header-brand img{width:24px;height:24px;}
.vcs-app .vcs-header-brand-copy strong{font-size:10.75px;}
.vcs-app .vcs-header-actions{gap:3px;}
.vcs-app .vcs-header-actions .vcs-header-quick-give{padding-inline:5px;}
}
.vcs-app .vcs-owned-item[id],
.vcs-app .vcs-destination-highlight,
.vcs-app [id^="vcs-request-"],
.vcs-app .vcs-notice-panel{scroll-margin-top:calc(var(--vcs-header-height,64px) + var(--vcs-admin-offset,0px) + 18px);}
.vcs-app .vcs-header-actions .vcs-header-quick-give{
 min-height:36px;padding:4px 9px;border-radius:11px;font-size:12px;font-weight:650;line-height:1.2;
}
@media(max-width:640px){
.vcs-app .vcs-header-actions .vcs-header-quick-give{min-height:34px;padding:4px 8px;border-radius:10px;font-size:12px;}
}
@media(max-width:359px){
.vcs-app .vcs-header-actions .vcs-header-quick-give{min-height:32px;padding:3px 6px;font-size:11.5px;}
}
.vcs-app .vcs-header-actions .vcs-header-quick-give{border:0;background:transparent;box-shadow:none;padding-inline:6px;}
.vcs-app .vcs-header-actions .vcs-header-quick-give:hover{background:rgba(8,124,89,.06);}
.vcs-app .vcs-notice-heading{align-items:baseline;}
.vcs-app .vcs-notice-quick-link{flex:0 0 auto;color:var(--vcs-green-dark)!important;text-decoration:none!important;font-size:13px;font-weight:600;white-space:nowrap;padding:5px 0;}
.vcs-app .vcs-notice-quick-link:focus-visible{outline:2px solid var(--vcs-green);outline-offset:3px;border-radius:5px;}
@media(max-width:420px){
.vcs-app .vcs-notice-heading{gap:8px;}
.vcs-app .vcs-notice-heading h2{font-size:19px;}
.vcs-app .vcs-notice-quick-link{font-size:12px;}
}
.vcs-app .vcs-notice-heading h2{font-size:15px;font-weight:600;line-height:1.4;}
@media(max-width:640px){
.vcs-app .vcs-notice-heading h2{font-size:14px;}
}

/* Responsive logo source must keep the existing flex geometry. */
.vcs-header-brand > picture { display: contents; }
.vcs-home-logo-art > picture { display: contents; }
.vcs-card-deferred[data-vcs-src] { color: transparent; background: #f4f8f6; }

.vcs-header-brand source, .vcs-home-logo-art source { display: none; }

/* Public item cards are crawlable links and retain quick-view appearance. */
a.vcs-item-card{display:block;color:inherit;text-decoration:none}

/* 1.0.106: optional affiliate referrals, separate from station sponsors. */
.vcs-app .vcs-affiliates { grid-column: 1 / -1; min-width: 0; border-color: #cbded3; background: #f7faf8; }
.vcs-app .vcs-affiliates-label { margin: 0 0 10px; color: var(--vcs-green-dark); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.vcs-app .vcs-affiliates h2 { margin: 0 0 14px; text-align: center; font-size: clamp(21px, 4vw, 27px); }
.vcs-app .vcs-affiliates-intro { margin: 0 0 10px; line-height: 1.65; }
.vcs-app .vcs-affiliates-disclosure { margin: 0; color: #53645b; font-size: 14px; line-height: 1.65; }
.vcs-app .vcs-affiliates-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 22px; }
.vcs-app .vcs-affiliate-card { display: flex; align-items: flex-start; gap: 12px; min-width: 0; padding: 18px 14px; border: 1px solid #cbded3; border-radius: 10px; background: #fff; color: var(--vcs-ink); text-decoration: none; }
.vcs-app a.vcs-affiliate-card:hover { border-color: var(--vcs-green); background: #f1f8f4; }
.vcs-app a.vcs-affiliate-card:focus-visible { outline: 3px solid var(--vcs-green-dark); outline-offset: 3px; }
.vcs-app .vcs-affiliate-number { display: flex; align-items: center; justify-content: center; flex: 0 0 34px; height: 34px; border-radius: 50%; background: #edf4ef; color: var(--vcs-green-dark); font-size: 13px; font-weight: 700; }
.vcs-app .vcs-affiliate-content { text-align: left; display: flex; flex-direction: column; gap: 7px; min-width: 0; overflow-wrap: anywhere; }
.vcs-app .vcs-affiliate-content strong { font-size: 15px; line-height: 1.4; }
.vcs-app .vcs-affiliate-description { color: #53645b; font-size: 13px; line-height: 1.5; }
.vcs-app .vcs-affiliate-action { color: var(--vcs-green-dark); font-size: 13px; font-weight: 650; }
.vcs-app .vcs-affiliate-pending { border-style: dashed; background: #fbfdfb; }
.vcs-app .vcs-affiliate-pending .vcs-affiliate-action { color: #66716c; font-weight: 400; }
@media (max-width: 480px) {
    .vcs-app .vcs-affiliates-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
    .vcs-app .vcs-affiliate-card { flex-direction: column; gap: 8px; padding: 12px 10px; }
    .vcs-app .vcs-affiliate-number { flex: 0 0 28px; width: 28px; height: 28px; font-size: 12px; }
    .vcs-app .vcs-affiliate-content { gap: 4px; width: 100%; }
    .vcs-app .vcs-affiliate-content strong { font-size: 14px; }
}
