/* Vera Lloyd portal — scoped under body.vl26 */
:root {
	--vl-teal: #017679;
	--vl-teal-dark: #0b5a5d;
	--vl-gold: #a4994f;
	--vl-cream: #fffcf7;
	--vl-sand: #f4ead5;
	--vl-ink: #2b2b2b;
	--vl-text: #4a4a4a;
	--vl-muted: #6f6f6f;
	--vl-line: #e7e1d4;
	--vl-card: #ffffff;
	--vl-ok: #1e7b4f;
	--vl-warn: #9a6400;
	--vl-err: #b42318;
	--vl-radius: 10px;
	--vl-shadow: 0 1px 2px rgba(31, 41, 55, .06), 0 2px 8px rgba(31, 41, 55, .04);
}
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; }
body.vl26 {
	background: var(--vl-cream);
	color: var(--vl-text);
	font: 400 15px/1.55 Montserrat, system-ui, -apple-system, "Segoe UI", sans-serif;
	-webkit-font-smoothing: antialiased;
}
.vl26 a { color: var(--vl-teal); }
.vl26 h1, .vl26 h2 { font-family: "PT Serif", Georgia, serif; color: var(--vl-ink); line-height: 1.2; margin: 0; }
.vl26 h1 { font-size: 28px; }
.vl26 h2 { font-size: 19px; margin-bottom: 12px; }
.vl26-icon { flex: 0 0 auto; }
.vl26-muted { color: var(--vl-muted); margin: 4px 0 0; }

.vl26-preview-bar { background: var(--vl-gold); color: #fff; text-align: center; font-size: 13px; font-weight: 600; padding: 6px 16px; }

/* Hero + bar */
.vl26-hero { background: var(--vl-teal); }
.vl26-hero__inner { max-width: 1240px; margin: 0 auto; padding: 18px 24px; }
.vl26-hero__brand { display: inline-flex; align-items: center; gap: 14px; text-decoration: none; }
.vl26-hero__brand img { height: 40px; width: auto; background: #fff; border-radius: 6px; padding: 5px 9px; }
.vl26-hero__brand span { color: #fff; font: 700 20px/1 "PT Serif", Georgia, serif; letter-spacing: .2px; }
.vl26-bar { background: #fff; border-bottom: 1px solid var(--vl-line); position: sticky; top: 0; z-index: 20; }
.vl26-bar__inner { max-width: 1240px; margin: 0 auto; padding: 10px 24px; display: flex; align-items: center; gap: 16px; }
.vl26-bar__greet { display: flex; align-items: center; gap: 10px; font-weight: 600; color: var(--vl-ink); min-width: 0; }
.vl26-bar__greet > span:nth-child(2) { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vl26-bar__actions { margin-left: auto; display: flex; gap: 8px; }
.vl26-bar__menu { display: none; background: none; border: 1px solid var(--vl-line); border-radius: 8px; width: 40px; height: 40px; align-items: center; justify-content: center; color: var(--vl-ink); cursor: pointer; }
.vl26-avatar { width: 34px; height: 34px; border-radius: 50%; background: var(--vl-sand); color: var(--vl-teal-dark); display: inline-flex; align-items: center; justify-content: center; font-weight: 700; flex: 0 0 auto; }
.vl26-loading { height: 3px; background: linear-gradient(90deg, transparent, var(--vl-gold), transparent); background-size: 50% 100%; background-repeat: no-repeat; opacity: 0; }
.vl26-bar.is-loading .vl26-loading { opacity: 1; animation: vl26-shimmer 1.1s linear infinite; }
@keyframes vl26-shimmer { from { background-position: -50% 0; } to { background-position: 150% 0; } }

/* Layout */
.vl26-layout { max-width: 1240px; margin: 0 auto; padding: 24px; display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 28px; align-items: start; }
.vl26-nav { position: sticky; top: 76px; display: flex; flex-direction: column; gap: 2px; }
.vl26-nav__item { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 8px; color: var(--vl-text) !important; text-decoration: none; font-weight: 500; }
.vl26-nav__item:hover { background: var(--vl-sand); }
.vl26-nav__item.is-active { background: var(--vl-teal); color: #fff !important; }
.vl26-main { min-width: 0; }
.vl26-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 20px; }

/* Cards, stats, lists, tables */
.vl26-card { background: var(--vl-card); border: 1px solid var(--vl-line); border-radius: var(--vl-radius); box-shadow: var(--vl-shadow); padding: 20px; margin-bottom: 20px; }
.vl26-card--flush { padding: 0; overflow: hidden; }
.vl26-pad { padding: 18px 20px 0; }
.vl26-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.vl26-grid2 > .vl26-card { margin-bottom: 0; }
.vl26-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 16px; margin-bottom: 20px; }
.vl26-stat { display: flex; flex-direction: column; gap: 4px; background: #fff; border: 1px solid var(--vl-line); border-radius: var(--vl-radius); padding: 16px 18px; box-shadow: var(--vl-shadow); text-decoration: none; color: inherit !important; }
a.vl26-stat:hover { border-color: var(--vl-teal); }
.vl26-stat__label { font-size: 13px; font-weight: 600; color: var(--vl-muted); }
.vl26-stat__value { font: 700 28px/1.1 "PT Serif", Georgia, serif; color: var(--vl-teal-dark); }
.vl26-stat__sub { font-size: 13px; color: var(--vl-muted); }
.vl26-list { list-style: none; margin: 0; padding: 0; }
.vl26-list li { display: flex; align-items: baseline; gap: 12px; padding: 10px 0; border-top: 1px solid var(--vl-line); }
.vl26-list li:first-child { border-top: 0; }
.vl26-list__main { flex: 1; min-width: 0; }
.vl26-list .vl26-muted { margin: 0; font-size: 13px; white-space: nowrap; }
.vl26-date { flex: 0 0 52px; font-weight: 700; color: var(--vl-teal-dark); font-size: 13px; text-transform: uppercase; }
.vl26-table { width: 100%; border-collapse: collapse; }
.vl26-table th { text-align: left; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--vl-muted); background: #fbf8f1; padding: 10px 16px; border-bottom: 1px solid var(--vl-line); }
.vl26-table td { padding: 12px 16px; border-bottom: 1px solid var(--vl-line); vertical-align: top; }
.vl26-table tr:last-child td { border-bottom: 0; }
.vl26-right { text-align: right; }
.vl26-empty { color: var(--vl-muted); margin: 0; }
.vl26-link { font-weight: 600; text-decoration: none; }
.vl26-link:hover { text-decoration: underline; }
.vl26-dl { display: grid; grid-template-columns: 110px 1fr; gap: 8px 16px; margin: 0 0 12px; }
.vl26-dl dt { font-weight: 600; color: var(--vl-muted); }
.vl26-dl dd { margin: 0; }
.vl26-coming p { margin: 12px 0 0; max-width: 60ch; }

/* Tabs, pills, buttons */
.vl26-tabs { display: flex; gap: 4px; margin-bottom: 16px; border-bottom: 1px solid var(--vl-line); }
.vl26-tabs a { padding: 8px 14px; text-decoration: none; color: var(--vl-muted) !important; font-weight: 600; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.vl26-tabs a.is-active { color: var(--vl-teal-dark) !important; border-bottom-color: var(--vl-teal); }
.vl26-pill { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; padding: 2px 8px; border-radius: 999px; background: #eef2f2; color: var(--vl-teal-dark); vertical-align: middle; }
.vl26-pill--gold { background: #f3efdb; color: #6d6530; }
.vl26-pill--ok { background: #e6f4ec; color: var(--vl-ok); }
.vl26-pill--warn { background: #fdf3e2; color: var(--vl-warn); }
.vl26-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 0 14px; border-radius: 8px; border: 1px solid transparent; font: 600 14px/1 Montserrat, sans-serif; text-decoration: none; cursor: pointer; }
.vl26-btn--primary { background: var(--vl-teal); color: #fff !important; }
.vl26-btn--primary:hover { background: var(--vl-teal-dark); }
.vl26-btn--ghost { background: #fff; border-color: var(--vl-line); color: var(--vl-ink) !important; }
.vl26-btn--ghost:hover { border-color: var(--vl-teal); }
.vl26-btn--block { width: 100%; }
.vl26 :focus-visible { outline: 3px solid var(--vl-gold); outline-offset: 2px; }

/* Auth */
.vl26-auth { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 32px 16px; background: linear-gradient(180deg, var(--vl-teal) 0, var(--vl-teal) 220px, var(--vl-cream) 220px); }
.vl26-auth__card { width: 100%; max-width: 420px; background: #fff; border: 1px solid var(--vl-line); border-radius: 14px; box-shadow: 0 10px 30px rgba(0, 0, 0, .08); padding: 32px; }
.vl26-auth__logo { display: block; height: auto; max-width: 220px; margin: 0 auto 20px; }
.vl26-auth h1 { text-align: center; font-size: 24px; }
.vl26-auth .vl26-muted { text-align: center; margin-bottom: 18px; }
.vl26-auth__alt { text-align: center; margin: 14px 0 0; font-size: 14px; }
.vl26-auth__foot { text-align: center; font-size: 13px; color: var(--vl-muted); margin-top: 18px; }
.vl26-form label { display: block; font-weight: 600; font-size: 14px; color: var(--vl-ink); margin: 14px 0 6px; }
.vl26-form input[type="email"], .vl26-form input[type="password"], .vl26-form input[type="text"] { width: 100%; height: 44px; border: 1px solid #cfc8b8; border-radius: 8px; padding: 0 12px; font: 400 15px Montserrat, sans-serif; }
.vl26-form input:focus { border-color: var(--vl-teal); outline: none; box-shadow: 0 0 0 3px rgba(1, 118, 121, .15); }
.vl26-form .vl26-check { display: flex; align-items: center; gap: 8px; font-weight: 500; margin: 14px 0 18px; }
.vl26-notice { border-radius: 8px; padding: 10px 12px; font-size: 14px; margin: 0 0 6px; }
.vl26-notice--ok { background: #e6f4ec; color: var(--vl-ok); }
.vl26-notice--error { background: #fdecea; color: var(--vl-err); }

/* Phone */
@media (max-width: 860px) {
	.vl26-layout { grid-template-columns: 1fr; padding: 16px; gap: 16px; }
	.vl26-bar__menu { display: inline-flex; }
	.vl26-bar__inner { padding: 8px 16px; gap: 10px; }
	.vl26-bar__actions .vl26-btn span { display: none; }
	.vl26-bar__actions .vl26-btn { width: 40px; padding: 0; }
	.vl26-hero__inner { padding: 12px 16px; }
	.vl26-hero__brand img { height: 32px; }
	.vl26-hero__brand span { font-size: 17px; }
	.vl26-nav { display: none; position: static; background: #fff; border: 1px solid var(--vl-line); border-radius: var(--vl-radius); padding: 6px; }
	.vl26-nav.is-open { display: flex; }
	.vl26-grid2 { grid-template-columns: 1fr; }
	.vl26 h1 { font-size: 24px; }
	.vl26-table thead { display: none; }
	.vl26-table, .vl26-table tbody, .vl26-table tr, .vl26-table td { display: block; width: 100%; }
	.vl26-table tr { padding: 10px 16px; border-bottom: 1px solid var(--vl-line); }
	.vl26-table td { border: 0; padding: 3px 0; text-align: left; }
	.vl26-table td[data-label]::before { content: attr(data-label) ": "; font-weight: 600; color: var(--vl-muted); font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) { .vl26-bar.is-loading .vl26-loading { animation: none; } }

/* ---------- Phase 2: editors ---------- */
.vl26-crumb { margin: 0 0 8px; font-size: 14px; }
.vl26-crumb a { text-decoration: none; }
.vl26-strong { font-weight: 600; text-decoration: none; }
.vl26-mb { margin-bottom: 16px; justify-content: flex-start; display: flex; flex-wrap: wrap; gap: 8px; }
.vl26-inline { display: inline; margin: 0; }
.vl26-btn--sm { padding: 6px 12px !important; font-size: 13px !important; }
.vl26-form .vl26-card { margin-bottom: 16px; }
.vl26-grid-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px 18px; align-items: start; }
.vl26-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.vl26-label { font-weight: 600; font-size: 13px; color: var(--vl-ink); }
.vl26-help { font-size: 12.5px; color: var(--vl-muted); }
.vl26-field input[type=text], .vl26-field input[type=url], .vl26-field input[type=email], .vl26-field input[type=number],
.vl26-field input[type=datetime-local], .vl26-field input[type=date], .vl26-field input[type=tel], .vl26-field select, .vl26-field textarea {
	font: inherit; color: var(--vl-ink); background: #fff; border: 1px solid #d8d1c2; border-radius: 8px; padding: 9px 11px; width: 100%;
}
.vl26-field input:focus, .vl26-field select:focus, .vl26-field textarea:focus, .vl26-rt__area:focus { outline: 2px solid rgba(1, 118, 121, .35); border-color: var(--vl-teal); }
.vl26-field textarea { resize: vertical; }
.vl26-switch { display: flex; align-items: center; gap: 10px; font-weight: 600; color: var(--vl-ink); margin: 4px 0 12px; cursor: pointer; }
.vl26-switch input { width: 18px; height: 18px; accent-color: var(--vl-teal); }
.vl26-check { font-size: 13px; display: inline-flex; gap: 6px; align-items: center; }
.vl26-table input[type=checkbox] { width: 20px; height: 20px; accent-color: var(--vl-teal); }
.vl26-media__img { max-width: 220px; max-height: 140px; object-fit: cover; border-radius: 8px; border: 1px solid var(--vl-line); }
.vl26-rt { border: 1px solid #d8d1c2; border-radius: 8px; background: #fff; overflow: hidden; }
.vl26-rt__bar { display: flex; gap: 4px; padding: 6px; border-bottom: 1px solid var(--vl-line); background: #faf7f0; flex-wrap: wrap; }
.vl26-rt__bar button { font: inherit; font-size: 13px; border: 1px solid var(--vl-line); background: #fff; border-radius: 6px; padding: 4px 10px; cursor: pointer; }
.vl26-rt__area { min-height: 160px; padding: 12px 14px; color: var(--vl-ink); }
.vl26-rt__area p { margin: 0 0 10px; }
.vl26-savebar { position: sticky; bottom: 0; background: rgba(255, 252, 247, .96); border-top: 1px solid var(--vl-line); padding: 12px 0; display: flex; gap: 14px; align-items: center; z-index: 5; }
.vl26-note { background: #eef6f6; border-left: 4px solid var(--vl-teal); padding: 10px 12px; border-radius: 6px; margin: 4px 0 0; }
.vl26-note--warn { background: #fdf6e7; border-left-color: #dba617; }
.vl26-toast { position: fixed; right: 20px; bottom: 20px; z-index: 50; background: var(--vl-ok); color: #fff; padding: 12px 18px; border-radius: 10px; box-shadow: 0 6px 20px rgba(0,0,0,.18); font-weight: 600; animation: vl26-toast 4.5s forwards; }
.vl26-toast--error { background: var(--vl-err); animation: none; }
@keyframes vl26-toast { 0%, 85% { opacity: 1; transform: none; } 100% { opacity: 0; transform: translateY(8px); visibility: hidden; } }
.vl26-list li { gap: 12px; align-items: center; }
[hidden] { display: none !important; }
.vl26-btn:not(.vl26-btn--ghost) { background: var(--vl-teal); color: #fff !important; }
.vl26-btn:not(.vl26-btn--ghost):hover { background: var(--vl-teal-dark); }
.vl26-btn:disabled { opacity: .6; cursor: wait; }
.vl26-form label.vl26-field { display: flex; margin: 0 0 14px; font-weight: 400; font-size: 15px; }
.vl26-form label.vl26-switch { display: flex; margin: 4px 0 12px; }
.vl26-form label.vl26-check { display: inline-flex; margin: 0; font-weight: 500; }
.vl26-form .vl26-field input[type=text] { height: auto; }
@media (max-width: 720px) {
	.vl26-savebar { flex-direction: column; align-items: stretch; }
	.vl26-toast { left: 16px; right: 16px; }
}

/* ---------- Phase 3: pages + settings ---------- */
.vl26-jump { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 16px; }
.vl26-jump a { font-size: 13px; padding: 5px 10px; border: 1px solid var(--vl-line); border-radius: 999px; background: #fff; text-decoration: none; color: var(--vl-ink); }
.vl26-jump a:hover { border-color: var(--vl-teal); }
.vl26-sec { scroll-margin-top: 80px; }
.vl26-piece { border-top: 1px dashed var(--vl-line); padding-top: 12px; margin-top: 12px; }
.vl26-sec h2 + .vl26-piece, .vl26-sec .vl26-embarc-only + .vl26-piece { border-top: 0; padding-top: 0; margin-top: 0; }
.vl26-piece.is-edited { border-left: 3px solid var(--vl-gold); padding-left: 12px; }
.vl26-piece.is-locked { opacity: .7; }
.vl26-piece .vl26-field { margin-bottom: 6px; }
.vl26-piece__meta { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; font-size: 13px; margin-bottom: 4px; }
.vl26-linkbtn { background: none; border: 0; padding: 0; color: var(--vl-teal); font: inherit; font-size: 13px; text-decoration: underline; cursor: pointer; }
.vl26-embarc-only { display: flex !important; gap: 8px; align-items: center; font-size: 12.5px !important; font-weight: 500 !important; color: var(--vl-gold) !important; margin: 0 0 12px !important; }
.vl26-embarc-only input[type=text] { flex: 1; max-width: 320px; border: 1px dashed var(--vl-gold); border-radius: 6px; padding: 4px 8px; font: inherit; }
.vl26-piece__meta .vl26-embarc-only { margin: 0 !important; }
.vl26-tile { display: block; text-decoration: none; transition: border-color .15s; border: 1px solid var(--vl-line); }
.vl26-tile:hover { border-color: var(--vl-teal); }
.vl26-menu input[type=text] { width: 100%; font: inherit; border: 1px solid #d8d1c2; border-radius: 6px; padding: 6px 8px; }
.vl26-num { width: 70px; font: inherit; border: 1px solid #d8d1c2; border-radius: 6px; padding: 6px 8px; }
.vl26-depth-1 td:nth-child(2) { padding-left: 32px; }
.vl26-depth-2 td:nth-child(2), .vl26-depth-3 td:nth-child(2) { padding-left: 56px; }

/* ---------- Phase 4: content ---------- */
.vl26-filter { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.vl26-filter input[type=search], .vl26-filter select { font: inherit; border: 1px solid #d8d1c2; border-radius: 8px; padding: 8px 10px; background: #fff; }
.vl26-filter input[type=search] { flex: 1 1 220px; }
.vl26-thumbcell { width: 64px; }
.vl26-thumb { width: 48px; height: 48px; object-fit: cover; border-radius: 8px; display: block; background: var(--vl-sand); }
.vl26-pager { display: flex; gap: 6px; margin: 16px 0; flex-wrap: wrap; }
.vl26-pager a { padding: 6px 12px; border: 1px solid var(--vl-line); border-radius: 8px; background: #fff; text-decoration: none; }
.vl26-pager a.is-active { background: var(--vl-teal); color: #fff; border-color: var(--vl-teal); }
.vl26-choices { display: flex; flex-wrap: wrap; gap: 8px 18px; }
fieldset.vl26-field { border: 0; padding: 0; margin: 0 0 14px; }
.vl26-btn--danger { color: var(--vl-err) !important; }
.vl26-status { font: inherit; border: 1px solid #d8d1c2; border-radius: 8px; padding: 9px 10px; background: #fff; }
.vl26-rt__area h3 { font: 700 18px/1.3 "PT Serif", Georgia, serif; margin: 12px 0 6px; }
.vl26-rt__area ul { padding-left: 22px; }
@media (max-width: 720px) { .vl26-thumbcell { display: none !important; } }

/* ---------- Phase 5/6 ---------- */
.vl26-h3 { font: 600 14px/1.3 Montserrat, sans-serif; color: var(--vl-ink); margin: 14px 0 8px; text-transform: uppercase; letter-spacing: .04em; }
.vl26-stats--flat { margin-bottom: 8px; }
.vl26-stats--flat .vl26-stat { box-shadow: none; background: var(--vl-cream); }
.vl26-chip { display: inline-flex; padding: 6px 12px; border-radius: 999px; border: 1px solid var(--vl-line); background: #fff; text-decoration: none; font-size: 13px; color: var(--vl-ink) !important; }
.vl26-chip.is-active { background: var(--vl-teal); border-color: var(--vl-teal); color: #fff !important; }
.vl26-entry { padding: 0; }
.vl26-entry summary { display: flex; justify-content: space-between; gap: 12px; padding: 14px 18px; cursor: pointer; list-style: none; }
.vl26-entry summary::-webkit-details-marker { display: none; }
.vl26-entry .vl26-dl { padding: 0 18px 16px; margin: 0; }
.vl26-dl { display: grid; grid-template-columns: minmax(120px, 200px) 1fr; gap: 6px 16px; }
.vl26-dl dt { font-weight: 600; color: var(--vl-ink); }
.vl26-dl dd { margin: 0; word-break: break-word; }
.vl26-rolepick select { font: inherit; border: 1px solid #d8d1c2; border-radius: 8px; padding: 6px 8px; background: #fff; }
.vl26-areas { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 10px; }
.vl26-area { display: flex !important; gap: 10px; align-items: flex-start; border: 1px solid var(--vl-line); border-radius: 8px; padding: 10px 12px; margin: 0 !important; font-weight: 400 !important; cursor: pointer; }
.vl26-area input { margin-top: 3px; width: 18px; height: 18px; accent-color: var(--vl-teal); }
.vl26-field input[type=password] { font: inherit; border: 1px solid #d8d1c2; border-radius: 8px; padding: 9px 11px; width: 100%; height: auto; }
@media (max-width: 720px) { .vl26-dl { grid-template-columns: 1fr; } }
.vl26-viewas { display: inline-flex; align-items: center; margin: 0; }
.vl26-viewas label { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 6px 0 12px; border: 1px solid var(--vl-line); border-radius: 8px; background: #fff; font: 600 13px/1 Montserrat, sans-serif; color: var(--vl-muted); cursor: pointer; }
.vl26-viewas label:hover, .vl26-viewas label:focus-within { border-color: var(--vl-teal); }
.vl26-viewas select { font: 600 14px/1 Montserrat, sans-serif; color: var(--vl-ink); border: 0; background: transparent; padding: 6px 2px; cursor: pointer; max-width: 160px; }
.vl26-viewas select:focus { outline: none; }
.vl26-viewas.is-on label { background: #fdf3e2; border-color: #d9a441; color: var(--vl-warn); }
.vl26-viewas__l { white-space: nowrap; }
@media (max-width: 860px) {
	.vl26-viewas__l, .vl26-bar__greet .vl26-pill { display: none; }
	.vl26-viewas label { padding: 0 2px 0 8px; }
	.vl26-viewas select { max-width: 96px; font-size: 13px; }
	.vl26-bar__actions { gap: 6px; flex: 0 0 auto; }
}

/* ---------- Review round 1 (Oct 7) ---------- */
/* #196 white logo on teal, no white box */
.vl26-hero__brand img { background: none !important; padding: 0 !important; border-radius: 0 !important; height: 46px !important; }
@media (max-width: 720px) { .vl26-hero__brand img { height: 36px !important; } }
/* #193 / #194 sign-in: photo with a teal overlay, logo above the card links home */
.vl26-auth { justify-content: center; gap: 22px; background: linear-gradient(180deg, rgba(11, 90, 93, .86), rgba(1, 118, 121, .80)), var(--vl26-auth-bg, none) center / cover no-repeat, var(--vl-teal) !important; }
.vl26-auth__home { display: block; line-height: 0; }
.vl26-auth__home .vl26-auth__logo { width: 240px; max-width: 70vw; margin: 0 auto; }
.vl26-auth__card .vl26-auth__logo { display: none; }
@media (min-width: 900px) { .vl26-auth { padding-top: 8vh; padding-bottom: 8vh; } }
/* #206 / #207 keep pills and small buttons on one line */
.vl26-pill, .vl26-btn, .vl26-chip { white-space: nowrap; }
.vl26-table td.vl26-right { white-space: nowrap; }
/* #212 show white/transparent images on a checkerboard */
.vl26-media__img { background-color: #cfd8d8; background-image: linear-gradient(45deg, #b9c4c4 25%, transparent 25%), linear-gradient(-45deg, #b9c4c4 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #b9c4c4 75%), linear-gradient(-45deg, transparent 75%, #b9c4c4 75%); background-size: 16px 16px; background-position: 0 0, 0 8px, 8px -8px, -8px 0; object-fit: contain !important; }
/* #215 photo in the bar */
.vl26-avatar { text-decoration: none; overflow: hidden; }
.vl26-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* choice cards (#201, #213) */
.vl26-choicecards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; margin-bottom: 12px; }
.vl26-area:has(input:checked) { border-color: var(--vl-teal); background: #f1f8f8; }
.vl26-span2 { grid-column: 1 / -1; }
/* #204 refunds */
.vl26-refund { display: inline-block; text-align: left; }
.vl26-refund summary { list-style: none; cursor: pointer; }
.vl26-refund summary::-webkit-details-marker { display: none; }
.vl26-refund[open] { display: block; background: #faf7f0; border: 1px solid var(--vl-line); border-radius: 8px; padding: 10px; margin-top: 6px; }
.vl26-refund__form { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin: 8px 0; }
.vl26-refund__form input { width: 100px; font: inherit; border: 1px solid #d8d1c2; border-radius: 6px; padding: 5px 8px; }
/* #199 charts */
.vl26-cardhead { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.vl26-cardhead h2 { margin: 0; }
.vl26-chart { position: relative; width: 100%; }
.vl26-range { display: inline-flex; gap: 4px; margin: 4px 0 8px; background: var(--vl-cream); border: 1px solid var(--vl-line); border-radius: 8px; padding: 3px; }
.vl26-range button { font: 600 12px/1 Montserrat, sans-serif; border: 0; background: none; padding: 6px 10px; border-radius: 6px; cursor: pointer; color: var(--vl-text); }
.vl26-range button[aria-pressed=true] { background: #fff; color: var(--vl-teal-dark); box-shadow: 0 1px 2px rgba(0,0,0,.08); }
.vl26-legend-note { font-size: 12.5px; color: var(--vl-muted); margin: 8px 0 16px; }
.vl26-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin: 0 4px 0 10px; vertical-align: middle; }
.vl26-dot--event { background: #0B5A5D; }
.vl26-dot--email { background: #B4541F; border-radius: 0; clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.vl26-grid3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }
.vl26-menucard { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.vl26-menucard h2 { margin-bottom: 2px; }
.pac-container { z-index: 100000; }
/* ---------- Round 2: referrals, order detail ---------- */
.vl26-linkbuilder { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.vl26-linkbuilder select, .vl26-linkbuilder input { font: inherit; border: 1px solid #d8d1c2; border-radius: 8px; padding: 9px 10px; background: #fff; }
.vl26-linkbuilder select { flex: 0 1 260px; }
.vl26-linkbuilder input { flex: 1 1 280px; min-width: 0; color: var(--vl-teal-dark); }
.vl26-attn { border-left: 4px solid #dba617; }
.vl26 code { background: var(--vl-sand); padding: 1px 6px; border-radius: 4px; font-size: 13px; }

/* ---------- Round 3 (#267–#278) ---------- */
/* #277 taller header with a photo */
.vl26-hero { background: linear-gradient(90deg, rgba(11, 90, 93, .94), rgba(1, 118, 121, .78)), var(--vl26-hero-bg, none) center 35% / cover no-repeat, var(--vl-teal) !important; }
.vl26-hero__inner { padding-top: 34px !important; padding-bottom: 34px !important; }
@media (max-width: 720px) { .vl26-hero__inner { padding-top: 20px !important; padding-bottom: 20px !important; } }
/* #276 quick links */
.vl26-quick { position: relative; }
.vl26-quick__btn { width: 40px; padding: 0 !important; }
.vl26-quick__menu { position: absolute; right: 0; top: calc(100% + 8px); width: 340px; max-width: calc(100vw - 32px); background: #fff; border: 1px solid var(--vl-line); border-radius: 12px; box-shadow: 0 12px 32px rgba(0, 0, 0, .14); padding: 12px; z-index: 40; }
.vl26-quick__group + .vl26-quick__group { border-top: 1px solid var(--vl-line); margin-top: 10px; padding-top: 10px; }
.vl26-quick__label { display: block; font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--vl-muted); margin: 0 0 6px 4px; }
.vl26-quick__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; }
.vl26-quick__grid a { display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; font-size: 12px; font-weight: 600; line-height: 1.25; color: var(--vl-ink) !important; text-decoration: none; padding: 10px 4px; border-radius: 8px; }
.vl26-quick__grid a:hover, .vl26-quick__grid a:focus { background: var(--vl-sand); outline: none; }
.vl26-quick__grid .vl26-icon { color: var(--vl-teal); }
.vl26-quick__ext { list-style: none; margin: 0; padding: 0 4px; display: grid; grid-template-columns: 1fr 1fr; gap: 4px 12px; font-size: 13px; }
.vl26-quick__ext a { text-decoration: none; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* #278 Embarc link in the nav */
.vl26-nav__embarc { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--vl-line); }
.vl26-nav__label { display: block; font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--vl-muted); margin: 0 0 4px 12px; }
.vl26-nav__note { font-size: 12px; color: var(--vl-muted); margin: 0 0 0 44px; }
/* #271 location + map */
.vl26-where { display: grid; gap: 16px; margin: 4px 0 8px; }
.vl26-where.has-map { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.vl26-where__map { min-height: 220px; border-radius: 10px; border: 1px solid var(--vl-line); background: #eef2f2; display: flex; align-items: center; justify-content: center; overflow: hidden; }
@media (max-width: 820px) { .vl26-where.has-map { grid-template-columns: 1fr; } }
/* #273 tooltip */
.vl26-tip { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; background: var(--vl-sand); color: var(--vl-teal-dark); font: 700 12px/1 Montserrat, sans-serif; cursor: help; vertical-align: middle; margin-left: 6px; }
.vl26-tip__box { display: none; position: absolute; left: 50%; top: calc(100% + 8px); transform: translateX(-50%); width: 280px; max-width: 80vw; background: var(--vl-teal-dark); color: #fff; font: 500 13px/1.45 Montserrat, sans-serif; text-transform: none; letter-spacing: 0; padding: 10px 12px; border-radius: 8px; box-shadow: 0 8px 20px rgba(0,0,0,.18); z-index: 30; text-align: left; }
.vl26-tip:hover .vl26-tip__box, .vl26-tip:focus .vl26-tip__box { display: block; }
/* #269 charts the same size */
.vl26-chartpair { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 8px 0 18px; }
.vl26-chartbox { border: 1px solid var(--vl-line); border-radius: 10px; padding: 12px 14px; }
@media (max-width: 720px) { .vl26-chartpair { grid-template-columns: 1fr; } }
.vl26-list--cols { columns: 2 260px; column-gap: 28px; }
.vl26-list--cols li { break-inside: avoid; }
/* #274 menu tree */
.vl26-mtree { list-style: none; margin: 0; padding: 0; }
.vl26-mitem { border: 1px solid var(--vl-line); border-radius: 8px; background: #fff; margin: 0 0 6px; margin-left: calc(var(--d, 0) * 34px); }
.vl26-mitem[data-depth="1"] { --d: 1; }
.vl26-mitem[data-depth="2"] { --d: 2; }
.vl26-mitem.is-dragging { opacity: .45; }
.vl26-mitem.is-removed .vl26-mitem__row { opacity: .5; text-decoration: line-through; }
.vl26-mitem.is-removed .vl26-mitem__del { color: var(--vl-teal) !important; text-decoration: none; }
.vl26-mitem__row { display: flex; align-items: center; gap: 6px; padding: 6px 8px; }
.vl26-mitem__grip { cursor: grab; color: var(--vl-muted); padding: 0 4px; font-size: 16px; user-select: none; }
.vl26-mitem__fold { border: 0; background: none; cursor: pointer; color: var(--vl-muted); width: 22px; transition: transform .15s; }
.vl26-mitem.is-folded .vl26-mitem__fold { transform: rotate(-90deg); }
.vl26-mitem__toggle { flex: 1; min-width: 0; text-align: left; border: 0; background: none; cursor: pointer; font: inherit; padding: 6px 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vl26-mitem__acts { display: flex; gap: 2px; }
.vl26-mitem__acts button { border: 1px solid transparent; background: none; border-radius: 6px; width: 32px; height: 32px; cursor: pointer; color: var(--vl-text); font-size: 15px; }
.vl26-mitem__acts button:hover { border-color: var(--vl-line); background: var(--vl-cream); }
.vl26-mitem__del { color: var(--vl-err) !important; }
.vl26-mitem__body { padding: 4px 14px 14px 40px; border-top: 1px dashed var(--vl-line); }
@media (max-width: 720px) { .vl26-mitem { margin-left: calc(var(--d, 0) * 16px); } .vl26-mitem__body { padding-left: 14px; } }
/* #278 calendar */
.vl26-calbar { align-items: center; justify-content: space-between; }
.vl26-tabs--inline { display: inline-flex; margin: 0; }
.vl26-calkey { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 13px; }
.vl26-calkey__item { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.vl26-calkey__sw { display: inline-block; width: 10px; height: 10px; border-radius: 3px; flex: 0 0 auto; }
.vl26-cal { background: #fff; border: 1px solid var(--vl-line); border-radius: 12px; overflow: hidden; margin-bottom: 18px; }
.vl26-cal__dow { display: grid; grid-template-columns: repeat(7, 1fr); background: var(--vl-cream); font-size: 12px; font-weight: 700; color: var(--vl-muted); text-transform: uppercase; letter-spacing: .04em; }
.vl26-cal__dow span { padding: 8px 10px; }
.vl26-cal__grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.vl26-cal__day { min-height: 112px; border-top: 1px solid var(--vl-line); border-left: 1px solid var(--vl-line); padding: 6px; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.vl26-cal__day:nth-child(7n+1) { border-left: 0; }
.vl26-cal__day.is-out { background: #fbf9f4; }
.vl26-cal__day.is-out .vl26-cal__num { color: #b9b2a3; }
.vl26-cal__num { font-size: 12px; font-weight: 700; color: var(--vl-ink); }
.vl26-cal__day.is-today .vl26-cal__num { background: var(--vl-teal); color: #fff; border-radius: 999px; padding: 1px 7px; align-self: flex-start; }
.vl26-cal__ev { display: block; font-size: 11.5px; line-height: 1.3; padding: 3px 6px; border-radius: 5px; background: color-mix(in srgb, var(--c) 14%, #fff); border-left: 3px solid var(--c); color: var(--vl-ink) !important; text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vl26-cal__ev:hover { background: color-mix(in srgb, var(--c) 24%, #fff); }
.vl26-cal__t { color: var(--vl-muted); font-weight: 600; }
.vl26-calitem { align-items: flex-start !important; }
.vl26-calitem .vl26-calkey__sw { margin-top: 6px; }
@media (max-width: 820px) { .vl26-cal__day { min-height: 70px; } .vl26-cal__ev { font-size: 0; padding: 0; height: 6px; } .vl26-cal__t { display: none; } }

/* Embarc social posts on the calendar */
.vl26-pill--sm { font-size: 10px; padding: 1px 6px; }
.vl26-plat { display: inline-block; min-width: 16px; margin-right: 3px; padding: 0 3px; border-radius: 3px; background: #5f6b45; color: #fff; font-size: 9px; font-weight: 700; line-height: 14px; text-align: center; vertical-align: 1px; }
.vl26-cal__st { display: block; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: #5f6b45; }
.vl26-cal__ev[data-status="warn"] { border-left-color: var(--vl-warn); }
.vl26-cal__ev[data-status="warn"] .vl26-cal__st { color: var(--vl-warn); }
.vl26-cal__ev[data-status="ok"] .vl26-cal__st { color: var(--vl-ok); }
@media (max-width: 820px) { .vl26-cal__ev .vl26-plat, .vl26-cal__st { display: none; } }
.vl26-calview.is-busy [data-vl26-cal] { opacity: .55; transition: opacity .15s; pointer-events: none; }
@media (prefers-reduced-motion: reduce) { .vl26-calview.is-busy [data-vl26-cal] { transition: none; } }

/* People: ⋯ row menu */
.vl26-card--menus { overflow: visible; }
.vl26-card--menus .vl26-table tr:first-child th:first-child { border-top-left-radius: var(--vl-radius); }
.vl26-card--menus .vl26-table tr:first-child th:last-child { border-top-right-radius: var(--vl-radius); }
.vl26-people td:last-child { width: 1%; text-align: right; }
.vl26-small { font-size: 12px; }
.vl26-rplink { margin-top: 8px; max-width: 460px; }
.vl26-rowmenu { position: relative; display: inline-block; }
.vl26-rowmenu__btn { list-style: none; width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--vl-line); background: #fff; color: var(--vl-ink); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.vl26-rowmenu__btn::-webkit-details-marker { display: none; }
.vl26-rowmenu__btn:hover, .vl26-rowmenu[open] .vl26-rowmenu__btn { border-color: var(--vl-teal); color: var(--vl-teal); }
.vl26-rowmenu__btn:focus-visible { outline: 2px solid var(--vl-teal); outline-offset: 2px; }
.vl26-rowmenu__pop { position: absolute; right: 0; top: calc(100% + 6px); z-index: 30; min-width: 250px; background: #fff; border: 1px solid var(--vl-line); border-radius: 10px; box-shadow: 0 10px 30px rgba(0, 0, 0, .12); padding: 6px; text-align: left; }
.vl26-rowmenu__pop hr { border: 0; border-top: 1px solid var(--vl-line); margin: 6px 0; }
.vl26-rowmenu__label { margin: 6px 10px 4px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--vl-muted); }
.vl26-rowmenu__group { margin: 0; }
.vl26-rowmenu__item { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 38px; padding: 0 10px; border: 0; border-radius: 6px; background: none; font: 500 14px/1.2 Montserrat, sans-serif; color: var(--vl-ink); text-align: left; cursor: pointer; }
.vl26-rowmenu__item:hover, .vl26-rowmenu__item:focus-visible { background: #f3f8f8; outline: none; }
.vl26-rowmenu__item.is-on { font-weight: 700; color: var(--vl-teal-dark); }
.vl26-rowmenu__check { width: 16px; flex: 0 0 16px; color: var(--vl-teal); font-weight: 700; }
.vl26-rowmenu__item--danger { color: var(--vl-err); }
.vl26-rowmenu__item--danger:hover { background: #fdecea; }
@media (max-width: 860px) {
	.vl26-people td:last-child { width: auto; position: absolute; top: 10px; right: 16px; padding: 0; }
	.vl26-people tr { position: relative; padding-right: 60px; }
}

/* Sidebar groups (accordion) */
.vl26-navgroup { margin: 0; }
.vl26-navgroup__head { list-style: none; cursor: pointer; }
.vl26-navgroup__head::-webkit-details-marker { display: none; }
.vl26-navgroup__head.is-within { color: var(--vl-teal-dark) !important; font-weight: 600; }
.vl26-navgroup__chev { margin-left: auto; display: inline-flex; transition: transform .15s ease; opacity: .6; }
.vl26-navgroup__chev svg { width: 16px; height: 16px; }
.vl26-navgroup[open] > summary .vl26-navgroup__chev { transform: rotate(90deg); }
.vl26-navgroup__items { display: flex; flex-direction: column; gap: 2px; margin: 2px 0 4px; }
.vl26-nav__item--child { padding-left: 22px; font-size: 14px; }
.vl26-nav__item--child svg { width: 18px; height: 18px; }
.vl26-navgroup__head:focus-visible { outline: 2px solid var(--vl-teal); outline-offset: 1px; }
@media (prefers-reduced-motion: reduce) { .vl26-navgroup__chev { transition: none; } }
.vl26-report__month { margin: 0 0 2px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--vl-gold); }
.vl26-report-latest .vl26-h3 { margin: 0 0 8px; }

/* First sign-in tour */
.vl26-tour__shade { position: fixed; inset: 0; z-index: 90; }
.vl26-tour__spot { position: fixed; z-index: 91; border-radius: 10px; box-shadow: 0 0 0 9999px rgba(20, 35, 36, .55); outline: 3px solid var(--vl-gold); pointer-events: none; transition: all .2s ease; }
.vl26-tour__card { position: fixed; z-index: 92; width: min(360px, calc(100vw - 24px)); background: #fff; border-radius: 12px; box-shadow: 0 16px 40px rgba(0, 0, 0, .25); padding: 20px 22px; }
.vl26-tour__card.is-center { top: 50% !important; left: 50% !important; transform: translate(-50%, -50%); }
.vl26-tour__shade.is-dim { background: rgba(20, 35, 36, .55); }
.vl26-tour__card h2 { font-size: 20px; margin: 0 0 8px; }
.vl26-tour__count { margin: 0 0 4px; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--vl-gold); }
.vl26-tour__text { margin: 0 0 16px; line-height: 1.5; }
.vl26-tour__btns { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.vl26-tour__btns span { display: flex; gap: 8px; }
.vl26-mb0 { margin: 14px 0 0; }
@media (prefers-reduced-motion: reduce) { .vl26-tour__spot { transition: none; } }
