*{box-sizing:border-box}html{scroll-behavior:smooth}:root{
--bg:#F6F8FC;--surface:#FFFFFF;--surface-2:#F0F4FA;--text:#172033;--muted:#64748B;--line:#DFE6EF;
--primary:#2563EB;--primary-deep:#153E75;--cyan:#0EA5E9;--teal:#0F766E;--success:#16A34A;--warning:#D97706;--danger:#DC2626;
--shadow-sm:0 4px 14px rgba(15,23,42,.045);--shadow-md:0 12px 28px rgba(15,23,42,.075);
--r-sm:10px;--r-md:14px;--r-lg:18px;--r-xl:24px}
body[data-theme="dark"]{
--bg:#0B1220;--surface:#111C2E;--surface-2:#172338;--text:#F1F5F9;--muted:#A8B4C7;--line:#29384E;
--primary:#60A5FA;--primary-deep:#93C5FD;--cyan:#38BDF8;--teal:#2DD4BF;--success:#4ADE80;--warning:#FBBF24;--danger:#F87171;
--shadow-sm:0 4px 14px rgba(0,0,0,.18);--shadow-md:0 16px 34px rgba(0,0,0,.24)}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;font-size:15px;line-height:1.5}
button,input{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}.vh-shell{width:min(1540px,calc(100% - 48px));margin:auto}.skip-link{position:absolute;left:-9999px;top:8px;background:#fff;color:#111;padding:10px 14px;z-index:1000}.skip-link:focus{left:8px}
.vh-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.vh-header-inner{min-height:74px;display:grid;grid-template-columns:auto minmax(280px,560px) auto;gap:24px;align-items:center}
.vh-brand{display:flex;gap:12px;align-items:center;min-width:max-content}.vh-brand-logo{width:44px;height:44px;object-fit:contain;display:block}.vh-brand-logo.official{filter:drop-shadow(0 7px 12px rgba(37,99,235,.14))}.vh-brand-logo.custom{border-radius:12px}
.vh-brand-copy{display:flex;flex-direction:column}.vh-brand-copy strong{font-size:18px;line-height:1.15;font-weight:750;letter-spacing:.01em}.vh-brand-copy small{font-size:12px;color:var(--muted);margin-top:4px}
.vh-global-search{height:42px;border:1px solid var(--line);background:var(--surface-2);border-radius:12px;display:flex;align-items:center;gap:10px;padding:0 12px;color:var(--muted);cursor:pointer;text-align:left}.vh-global-search:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--line));background:var(--surface)}.vh-search-icon{font-size:18px}.vh-search-text{flex:1}.vh-global-search kbd{font-size:11px;border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:2px 6px}
.vh-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.vh-header-link{font-weight:600;padding:10px 8px}.vh-header-link:hover{color:var(--primary)}.vh-icon-btn,.vh-install-btn{height:40px;border:1px solid var(--line);background:var(--surface);border-radius:12px;cursor:pointer}.vh-icon-btn{width:40px;font-size:18px}.vh-icon-btn:hover,.vh-install-btn:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--line));color:var(--primary)}.vh-install-btn{padding:0 12px;font-weight:650}.vh-admin-link{padding:10px 14px;border-radius:12px;background:var(--primary);color:#fff;font-weight:700;box-shadow:0 8px 18px rgba(37,99,235,.18)}
.vh-hero{padding:34px 0 26px}.vh-hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);gap:20px;align-items:stretch}.vh-hero-copy,.vh-status-card{border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-sm)}
.vh-hero-copy{padding:38px 42px;background:radial-gradient(circle at 92% 10%,rgba(14,165,233,.10),transparent 30%),linear-gradient(180deg,color-mix(in srgb,var(--surface) 96%,#fff),var(--surface))}.vh-hero-brand-panel{width:154px;background:#fff;border:1px solid #E7EDF5;border-radius:16px;padding:10px 12px;margin-bottom:14px;box-shadow:0 8px 22px rgba(15,23,42,.05)}.vh-hero-brand-panel img{display:block;width:100%;height:auto}.vh-kicker{display:inline-flex;color:var(--primary);background:color-mix(in srgb,var(--primary) 9%,transparent);padding:7px 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.vh-hero h1{font-size:clamp(34px,3.7vw,52px);line-height:1.05;letter-spacing:-.035em;margin:20px 0 13px;font-weight:760}.vh-hero h1 span{color:var(--primary)}.vh-hero-subtitle{max-width:760px;color:var(--muted);font-size:17px;line-height:1.75;margin:0}.vh-hero-actions{display:flex;gap:10px;margin-top:25px}.vh-btn{border:0;border-radius:12px;padding:11px 16px;font-weight:700;cursor:pointer}.vh-btn-primary{background:var(--primary);color:#fff;box-shadow:0 8px 18px rgba(37,99,235,.18)}.vh-btn-secondary{background:var(--surface-2);border:1px solid var(--line)}
.vh-status-card{padding:25px}.vh-status-top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.vh-status-label{font-size:10px;letter-spacing:.08em;font-weight:800;color:var(--muted)}.vh-status-top strong{display:block;font-size:18px;margin-top:6px}.vh-status-dot{width:12px;height:12px;border-radius:50%;margin-top:4px;box-shadow:0 0 0 5px color-mix(in srgb,currentColor 14%,transparent)}.vh-status-dot.ok{background:var(--success);color:var(--success)}.vh-status-dot.warn{background:var(--warning);color:var(--warning)}.vh-status-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:24px 0 18px}.vh-status-metrics div{padding:13px 10px;border:1px solid var(--line);background:var(--surface-2);border-radius:12px}.vh-status-metrics strong{display:block;font-size:22px;color:var(--primary)}.vh-status-metrics span{font-size:11px;color:var(--muted)}.vh-status-line{display:flex;justify-content:space-between;gap:15px;padding-top:15px;border-top:1px solid var(--line);font-size:12px}.vh-status-line span{color:var(--muted)}.vh-status-line b{font-weight:650}
.vh-announcements{padding:0 0 8px}.vh-announcement{display:grid;grid-template-columns:28px 1fr auto;gap:12px;align-items:start;border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:14px 16px;margin:8px 0}.vh-announcement.info{border-left:3px solid var(--primary)}.vh-announcement.success{border-left:3px solid var(--success)}.vh-announcement.warn{border-left:3px solid var(--warning)}.vh-announcement.danger{border-left:3px solid var(--danger)}.vh-announcement-icon{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);color:var(--primary);font-weight:800}.vh-announcement p{margin:3px 0 0;color:var(--muted)}.vh-announcement-close{border:0;background:transparent;font-size:20px;color:var(--muted);cursor:pointer}
.vh-quick{padding:14px 0 6px}.vh-section{padding:34px 0 48px}.vh-section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:20px}.vh-section-heading.compact{margin-bottom:14px}.vh-section-heading>div>span{font-size:10px;letter-spacing:.09em;font-weight:800;color:var(--primary)}.vh-section-heading h2{margin:5px 0 0;font-size:27px;letter-spacing:-.02em}.vh-section-heading p{max-width:600px;color:var(--muted);margin:0;line-height:1.65}
.vh-quick-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.vh-quick-item{min-width:0;border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:13px;display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;transition:.16s}.vh-quick-item:hover{border-color:color-mix(in srgb,var(--primary) 38%,var(--line));transform:translateY(-2px)}.vh-quick-item img,.vh-quick-item>span{width:38px;height:38px;border-radius:10px}.vh-quick-item img{object-fit:cover}.vh-quick-item>span{display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--cyan));color:#fff;font-weight:800}.vh-quick-item div{min-width:0}.vh-quick-item strong,.vh-quick-item small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vh-quick-item small{color:var(--muted);font-size:11px;margin-top:3px}.vh-quick-item b{color:var(--primary)}
.vh-app-toolbar{display:grid;grid-template-columns:minmax(260px,380px) 1fr auto;gap:12px;align-items:center;margin-bottom:18px}.vh-local-search{height:44px;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:0 13px;display:flex;align-items:center;gap:8px}.vh-local-search input{width:100%;border:0;outline:0;background:transparent;color:var(--text)}.vh-category-tabs{display:flex;gap:7px;flex-wrap:wrap}.vh-category-tabs button,.vh-favorite-filter{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;padding:8px 11px;font-weight:650;cursor:pointer}.vh-category-tabs button.active,.vh-favorite-filter.active{color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--surface));border-color:color-mix(in srgb,var(--primary) 28%,var(--line))}
.vh-app-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.vh-app-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;transition:transform .16s,border-color .16s,box-shadow .16s}.vh-app-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 30%,var(--line));box-shadow:var(--shadow-sm)}.vh-app-card[hidden]{display:none}.vh-app-card-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.vh-app-icon{width:48px;height:48px;border-radius:13px;object-fit:cover}.vh-app-fallback{display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--cyan));color:#fff;font-size:18px;font-weight:800}.vh-app-card-actions{display:flex;gap:6px;align-items:center}.vh-category-badge{font-size:10px;font-weight:750;color:var(--teal);background:color-mix(in srgb,var(--teal) 9%,transparent);padding:6px 8px;border-radius:999px}.vh-star{width:32px;height:32px;border:1px solid var(--line);background:var(--surface-2);border-radius:10px;cursor:pointer;color:var(--muted);font-size:17px}.vh-star.on{color:#F59E0B}.vh-app-link{display:block}.vh-app-link h3{font-size:17px;margin:16px 0 6px;font-weight:720}.vh-app-link p{color:var(--muted);font-size:13px;line-height:1.6;min-height:42px;margin:0}.vh-app-open{display:flex;justify-content:space-between;align-items:center;margin-top:15px;padding-top:13px;border-top:1px solid var(--line);font-size:12px;font-weight:700;color:var(--primary)}.vh-app-card:hover .vh-app-open b{transform:translateX(3px)}.vh-app-open b{transition:.16s}.vh-no-results{padding:30px;border:1px dashed var(--line);border-radius:14px;text-align:center;color:var(--muted)}
.vh-platform{background:color-mix(in srgb,var(--surface) 54%,transparent);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.vh-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.vh-feature-grid article{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-lg);padding:21px}.vh-feature-grid article>span{font-size:11px;color:var(--primary);font-weight:800}.vh-feature-grid h3{font-size:17px;margin:16px 0 7px}.vh-feature-grid p{font-size:13px;color:var(--muted);line-height:1.65;margin:0}
.vh-footer{background:var(--surface);border-top:1px solid var(--line)}.vh-footer-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px}.vh-footer-inner div{display:flex;gap:10px;align-items:center}.vh-footer-inner strong{color:var(--text)}.vh-footer-inner div span{padding:4px 7px;border-radius:999px;background:var(--surface-2)}
.vh-command-overlay{position:fixed;inset:0;z-index:100;background:rgba(11,18,32,.52);backdrop-filter:blur(8px);padding:10vh 20px 20px}.vh-command-dialog{width:min(720px,100%);margin:auto;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.24);overflow:hidden}.vh-command-search{display:flex;align-items:center;gap:10px;padding:15px;border-bottom:1px solid var(--line)}.vh-command-search input{flex:1;border:0;outline:0;background:transparent;color:var(--text);font-size:16px}.vh-command-search kbd{font-size:11px;border:1px solid var(--line);border-radius:6px;padding:3px 6px;color:var(--muted)}.vh-command-results{max-height:58vh;overflow:auto;padding:7px}.vh-command-results a{display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:center;padding:10px;border-radius:11px}.vh-command-results a:hover{background:var(--surface-2)}.vh-command-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--cyan));color:#fff;font-weight:800;overflow:hidden}.vh-command-icon img{width:100%;height:100%;object-fit:cover}.vh-command-results small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.vh-command-empty{padding:24px;text-align:center;color:var(--muted)}
.maintenance{min-height:100vh;display:grid;place-items:center;padding:20px}.maintenance-card{width:min(560px,100%);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:38px;text-align:center;box-shadow:var(--shadow-md)}.maintenance-logo{display:block;width:180px;max-width:70%;height:auto;margin:0 auto 18px;background:#fff;border:1px solid #E7EDF5;border-radius:18px;padding:12px}.maintenance-card p{color:var(--muted);line-height:1.7}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 35%,transparent);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:1180px){.vh-header-inner{grid-template-columns:auto 1fr auto}.vh-global-search{max-width:420px}.vh-quick-grid{grid-template-columns:repeat(3,1fr)}.vh-app-grid{grid-template-columns:repeat(3,1fr)}.vh-app-toolbar{grid-template-columns:1fr}.vh-favorite-filter{justify-self:start}}
@media(max-width:900px){.vh-header-inner{grid-template-columns:auto 1fr}.vh-global-search{display:none}.vh-header-actions{grid-column:2;grid-row:1}.vh-header-link{display:none}.vh-hero-grid{grid-template-columns:1fr}.vh-feature-grid,.vh-app-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.vh-shell{width:min(100% - 28px,1540px)}.vh-brand-copy small,.vh-admin-link,.vh-install-btn{display:none}.vh-header-inner{gap:10px}.vh-header-actions{gap:5px}.vh-hero{padding-top:20px}.vh-hero-copy{padding:26px}.vh-hero-brand-panel{width:132px}.vh-hero h1{font-size:36px}.vh-status-metrics{grid-template-columns:repeat(3,1fr)}.vh-section-heading{align-items:flex-start;flex-direction:column}.vh-quick-grid,.vh-app-grid,.vh-feature-grid{grid-template-columns:1fr}.vh-footer-inner{align-items:flex-start;justify-content:center;flex-direction:column;gap:7px}.vh-category-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.vh-category-tabs button{white-space:nowrap}}
/* V10.3.1 Browser Portal */
.vh-app-card{cursor:pointer}.vh-app-card:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 45%,transparent);outline-offset:3px}.vh-app-link{cursor:pointer}
