.vsh-demo-root{--navy:#0c2c55;--navy2:#173f70;--gold:#d5a32b;--gold2:#f3c657;--ink:#172233;--muted:#6d7885;--line:#dbe2e9;--bg:#f4f7fa;--card:#fff;--green:#1b7a5a;--red:#b54747;--amber:#a96d00;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.45}
.vsh-demo-root *{box-sizing:border-box}.vsh-demo-root button,.vsh-demo-root input,.vsh-demo-root select,.vsh-demo-root textarea{font:inherit}.vsh-app{max-width:1440px;margin:0 auto;background:var(--bg);min-height:100vh}.vsh-topline{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:8px 24px;background:#061b35;color:#dbe9f9;font-size:12px;letter-spacing:.04em}.vsh-demo-flag{font-weight:800;color:#fff}.vsh-safe{opacity:.82}.vsh-header{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:22px 28px;background:#fff;border-bottom:1px solid var(--line)}.vsh-brand-wrap{display:flex;align-items:center;gap:20px}.vsh-school-brand{width:240px;max-width:33vw;height:82px;object-fit:cover;object-position:center;border-radius:12px;border:1px solid #e7edf2;background:#fff}.vsh-header h1,.vsh-toolbar h2{margin:2px 0 4px;font-size:clamp(22px,3vw,34px);line-height:1.08;color:var(--navy)}.vsh-header p,.vsh-toolbar p{margin:0;color:var(--muted)}.vsh-eyebrow{text-transform:uppercase;letter-spacing:.11em;font-size:11px!important;font-weight:800;color:var(--gold)!important}.vsh-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.vsh-rolebar{display:flex;gap:4px;padding:10px 16px;background:var(--navy);overflow-x:auto;position:sticky;top:0;z-index:8;box-shadow:0 5px 16px rgba(3,24,47,.12)}.vsh-role{border:0;background:transparent;color:#d9e5f1;padding:12px 16px;border-radius:9px;white-space:nowrap;cursor:pointer;font-weight:700;display:flex;gap:8px;align-items:center}.vsh-role:hover{background:rgba(255,255,255,.08)}.vsh-role.active{background:#fff;color:var(--navy);box-shadow:0 3px 10px rgba(0,0,0,.15)}.vsh-main{padding:26px}.vsh-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 22px}.vsh-select-label{font-size:12px;font-weight:700;color:var(--muted);display:flex;flex-direction:column;gap:5px;min-width:260px}.vsh-select-label select{background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px 12px;color:var(--ink)}
.vsh-child-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px;margin-bottom:18px}.vsh-child{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px;box-shadow:0 5px 18px rgba(26,43,62,.05)}.vsh-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:800}.vsh-child>div:nth-child(2){display:flex;flex-direction:column;min-width:0;flex:1}.vsh-child strong{color:var(--navy)}.vsh-child span,.vsh-child small{color:var(--muted)}
.vsh-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}.vsh-stat{background:#fff;border:1px solid var(--line);border-left:4px solid var(--navy);border-radius:12px;padding:15px 16px;display:flex;flex-direction:column;box-shadow:0 4px 14px rgba(26,43,62,.04)}.vsh-stat.warning{border-left-color:var(--gold)}.vsh-stat.danger{border-left-color:var(--red)}.vsh-stat>span{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}.vsh-stat strong{font-size:28px;color:var(--navy);line-height:1.15;margin-top:3px}.vsh-stat small{color:var(--muted);margin-top:2px}
.vsh-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}.vsh-action-tile{background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px;text-align:left;display:grid;grid-template-columns:40px 1fr;column-gap:10px;cursor:pointer;box-shadow:0 4px 14px rgba(26,43,62,.04)}.vsh-action-tile>span{grid-row:1/3;width:38px;height:38px;border-radius:10px;background:#edf4fb;color:var(--navy);display:grid;place-items:center;font-weight:900;font-size:20px}.vsh-action-tile strong{color:var(--navy)}.vsh-action-tile small{color:var(--muted)}.vsh-action-tile:hover{border-color:#b8c7d6;transform:translateY(-1px)}
.vsh-two-col{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:18px;margin:0 0 18px}.vsh-card{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 5px 20px rgba(26,43,62,.05);overflow:hidden}.vsh-card-head{padding:15px 18px;border-bottom:1px solid var(--line);background:#fbfcfd}.vsh-card-head h3{margin:0;color:var(--navy);font-size:18px}.vsh-card-body{padding:16px 18px}.vsh-section-anchor{scroll-margin-top:80px;margin-bottom:18px}.vsh-badge{display:inline-flex;align-items:center;border-radius:999px;background:#edf1f5;color:#53616f;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:5px 8px;white-space:nowrap}.vsh-badge.navy{background:#e8f0f8;color:var(--navy)}.vsh-badge.gold{background:#fff3ce;color:#7a5400}.vsh-badge.green{background:#e7f6ef;color:#126546}.vsh-badge.warning{background:#fff0d6;color:#8a5900}.vsh-badge.danger{background:#fff0e3;color:#8d351f}.vsh-btn{border:1px solid transparent;border-radius:9px;padding:10px 13px;font-weight:800;cursor:pointer;transition:.15s}.vsh-btn-primary{background:var(--navy);color:#fff}.vsh-btn-primary:hover{background:var(--navy2)}.vsh-btn-light{background:#fff;color:var(--navy);border-color:#cbd6e1}.vsh-btn-small{padding:7px 10px;font-size:12px}.vsh-demo-root a.vsh-btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.vsh-hidden-panel{display:none;margin:0 0 18px}.vsh-hidden-panel.open{display:block}.vsh-form-card,.vsh-compact-form{display:flex;flex-direction:column;gap:13px}.vsh-form-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;box-shadow:0 5px 20px rgba(26,43,62,.05)}.vsh-form-card.mini{box-shadow:none;border:0;padding:0}.vsh-form-title{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.vsh-form-title h3{margin:2px 0;color:var(--navy)}.vsh-form-grid{display:grid;gap:12px}.vsh-form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.vsh-form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.vsh-demo-root label{font-size:12px;font-weight:800;color:#485665;display:flex;flex-direction:column;gap:5px}.vsh-demo-root input,.vsh-demo-root select,.vsh-demo-root textarea{width:100%;border:1px solid #cbd6e1;border-radius:8px;padding:10px 11px;background:#fff;color:var(--ink);outline:none}.vsh-demo-root input:focus,.vsh-demo-root select:focus,.vsh-demo-root textarea:focus{border-color:#6c8daf;box-shadow:0 0 0 3px rgba(23,63,112,.08)}.vsh-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px}.vsh-check{flex-direction:row!important;align-items:center!important;background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:10px;cursor:pointer}.vsh-check input{width:auto}.vsh-check span{display:flex;flex-direction:column}.vsh-check small{font-weight:500;color:var(--muted)}.vsh-inline-check{display:flex!important;flex-direction:row!important;align-items:center!important}.vsh-inline-check input{width:auto}.vsh-form-note{background:#f7f9fb;border-left:3px solid var(--gold);padding:10px 12px;color:var(--muted);font-size:12px;border-radius:6px}.vsh-live-time{background:#edf4fb;color:var(--navy);padding:12px;border-radius:9px;font-weight:700}.vsh-import-box{display:flex;flex-direction:column;gap:12px}.vsh-import-box p{margin-top:0;color:var(--muted)}
.vsh-timeline{display:flex;flex-direction:column;gap:12px}.vsh-time-row{display:grid;grid-template-columns:54px 1fr;gap:12px;align-items:center;padding-bottom:12px;border-bottom:1px solid #eef2f5}.vsh-time-row:last-child{border-bottom:0}.vsh-date-box{width:52px;height:52px;border-radius:11px;background:#edf4fb;color:var(--navy);display:flex;flex-direction:column;align-items:center;justify-content:center}.vsh-date-box strong{font-size:20px;line-height:1}.vsh-date-box span{font-size:10px;text-transform:uppercase}.vsh-time-row>div:nth-child(2){display:flex;flex-direction:column;align-items:flex-start;gap:3px}.vsh-time-row small{color:var(--muted)}.vsh-action-row,.vsh-list-row,.vsh-collection{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #eef2f5}.vsh-action-row:last-child,.vsh-list-row:last-child,.vsh-collection:last-child{border-bottom:0}.vsh-action-row>div,.vsh-list-row>div,.vsh-collection>div:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.vsh-action-row small,.vsh-list-row small,.vsh-collection small{color:var(--muted)}.vsh-empty{padding:20px;text-align:center;color:var(--muted)}.vsh-empty strong{color:var(--navy)}
.vsh-calendar-list{display:flex;flex-direction:column}.vsh-calendar-row{display:grid;grid-template-columns:155px 1fr;gap:14px;padding:13px 0;border-bottom:1px solid #eef2f5}.vsh-calendar-row:last-child{border-bottom:0}.vsh-calendar-row time{font-weight:800;color:var(--navy)}.vsh-calendar-row>div{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;align-items:center}.vsh-calendar-row>div strong{color:var(--ink)}.vsh-calendar-row>div span:last-child{grid-column:2;color:var(--muted);font-size:12px}.vsh-notice-row{display:grid;grid-template-columns:38px 1fr auto;gap:14px;padding:16px 0;border-bottom:1px solid #eef2f5}.vsh-notice-row:last-child{border-bottom:0}.vsh-notice-icon{width:34px;height:34px;border-radius:50%;background:#edf4fb;color:var(--navy);display:grid;place-items:center;font-weight:900}.vsh-notice-row h4{margin:6px 0 4px;color:var(--navy)}.vsh-notice-row p{margin:0 0 6px;color:#475665}.vsh-notice-row small{color:var(--muted)}.vsh-meta-line{display:flex;gap:5px;flex-wrap:wrap}
.vsh-table-wrap{width:100%;overflow:auto}.vsh-table{width:100%;border-collapse:collapse;font-size:13px}.vsh-table th{background:#f6f8fa;color:#5d6976;text-transform:uppercase;letter-spacing:.04em;font-size:10px;text-align:left;padding:10px;border-bottom:1px solid var(--line)}.vsh-table td{padding:11px 10px;border-bottom:1px solid #eef2f5;vertical-align:top}.vsh-table tr:last-child td{border-bottom:0}.vsh-table td small{display:block;color:var(--muted);font-size:11px}.vsh-table td strong{color:var(--navy)}.vsh-collection-actions{display:flex;gap:7px;flex-wrap:wrap}.vsh-collection p{margin:2px 0;color:var(--muted);font-size:12px}.vsh-log{display:grid;grid-template-columns:58px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid #eef2f5}.vsh-log:last-child{border-bottom:0}.vsh-channel{display:inline-flex;height:25px;align-items:center;justify-content:center;border-radius:8px;background:#edf4fb;color:var(--navy);font-size:10px;font-weight:800}.vsh-log>div{display:flex;flex-direction:column}.vsh-log small{color:var(--muted)}.vsh-log p{margin:3px 0 0;color:#53616f;font-size:12px}.vsh-setting-list{display:flex;flex-direction:column}.vsh-setting-list>div{display:flex;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid #eef2f5}.vsh-muted{color:var(--muted)}
.vsh-footer{background:#061b35;color:#cbd8e6;padding:20px 26px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px}.vsh-footer strong{color:#fff}.vsh-busy{opacity:.68;pointer-events:none}.vsh-toast{position:fixed;right:22px;bottom:22px;z-index:99999;background:#16283d;color:#fff;padding:12px 16px;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.25);transform:translateY(20px);opacity:0;transition:.2s}.vsh-toast.show{transform:none;opacity:1}.vsh-toast.error{background:#9c3636}.vsh-toast.success{background:#18684d}
@media(max-width:1050px){.vsh-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vsh-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.vsh-two-col{grid-template-columns:1fr}.vsh-school-brand{width:180px}}
@media(max-width:720px){.vsh-topline{flex-direction:column;align-items:flex-start;padding:8px 14px}.vsh-header{padding:16px;align-items:flex-start;flex-direction:column}.vsh-brand-wrap{align-items:flex-start;flex-direction:column}.vsh-school-brand{width:100%;max-width:100%;height:88px}.vsh-main{padding:16px}.vsh-toolbar{align-items:flex-start;flex-direction:column}.vsh-select-label{min-width:0;width:100%}.vsh-stats-grid,.vsh-quick-actions{grid-template-columns:1fr 1fr}.vsh-form-grid.two,.vsh-form-grid.three{grid-template-columns:1fr}.vsh-calendar-row{grid-template-columns:1fr}.vsh-calendar-row>div{grid-template-columns:auto 1fr}.vsh-notice-row{grid-template-columns:36px 1fr}.vsh-notice-row>div:last-child{grid-column:2}.vsh-rolebar{padding:8px}.vsh-role{padding:10px 12px}.vsh-footer{flex-direction:column}.vsh-child-grid{grid-template-columns:1fr}}
@media(max-width:440px){.vsh-stats-grid,.vsh-quick-actions{grid-template-columns:1fr}.vsh-child{align-items:flex-start}.vsh-action-tile{grid-template-columns:38px 1fr}.vsh-stat strong{font-size:24px}}

/* v0.1.1 presentation + brand refinements */
body.vsh-standalone-demo{margin:0!important;background:#f4f7fa!important;min-height:100vh;overflow-x:hidden}
body.vsh-standalone-demo .vsh-demo-root{width:100%;min-height:100vh;margin:0!important;padding:0!important}
.vsh-app{max-width:none;width:100%;margin:0;background:var(--bg);min-height:100vh}
.vsh-topline{min-height:38px;padding:7px 24px;background:#050d18;border-bottom:1px solid rgba(55,154,255,.18)}
.vsh-demo-flag{font-size:11px;letter-spacing:.09em}
.vsh-safe{font-size:11px;white-space:nowrap}
.vsh-header{padding:15px 28px 16px;background:#fff;border-bottom:1px solid var(--line)}
.vsh-brand-wrap{gap:16px;min-width:0}
.vsh-school-brand{width:86px;max-width:none;height:88px;object-fit:contain;object-position:center;border:0;border-radius:13px;background:#08122f;box-shadow:0 5px 18px rgba(9,31,64,.12);flex:0 0 auto}
.vsh-school-copy{min-width:0}
.vsh-school-copy small{display:block;margin-top:5px;color:#728091;font-size:11px;letter-spacing:.015em}
.vsh-header h1{font-size:clamp(24px,2.4vw,34px)}
.vsh-rolebar{top:0}
.vsh-footer{background:#050d18;padding:15px 24px;align-items:center}
.vsh-footer-powered{display:flex;align-items:center;gap:12px;min-width:270px}
.vsh-footer-powered>span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#8fa5bd;white-space:nowrap}
.vsh-vantex-banner{width:170px;height:54px;object-fit:contain;display:block}
.vsh-footer-copy{display:flex;flex-direction:column;gap:3px;align-items:flex-end;text-align:right;margin-left:auto}
.vsh-footer-copy span{color:#aebed0}
@media(max-width:900px){.vsh-safe{white-space:normal;text-align:right}.vsh-school-brand{width:78px;height:80px}.vsh-header{padding:14px 18px}.vsh-footer-copy{align-items:flex-start;text-align:left;margin-left:0}}
@media(max-width:720px){.vsh-topline{padding:7px 14px}.vsh-header{padding:14px;align-items:stretch;flex-direction:column}.vsh-brand-wrap{align-items:center;flex-direction:row}.vsh-school-brand{width:74px;max-width:none;height:76px}.vsh-header-actions{padding-left:90px}.vsh-school-copy small{display:none}.vsh-footer-powered{min-width:0}.vsh-vantex-banner{width:145px;height:48px}}
@media(max-width:480px){.vsh-brand-wrap{align-items:flex-start}.vsh-school-brand{width:66px;height:68px}.vsh-header-actions{padding-left:0}.vsh-header h1{font-size:24px}.vsh-footer-powered{width:100%;justify-content:space-between}.vsh-footer-copy{width:100%}}

/* v0.1.2 clickable content, attachments, finance and detail modal */
.vsh-clickable,.vsh-clickable-row,.vsh-clickable-inline{cursor:pointer}
.vsh-clickable{transition:.16s ease}.vsh-clickable:hover{border-color:#aebfd0;box-shadow:0 8px 24px rgba(26,43,62,.09);transform:translateY(-1px)}
button.vsh-clickable-row,.vsh-time-row.vsh-clickable-row,.vsh-calendar-row.vsh-clickable-row,.vsh-list-row.vsh-clickable-row{width:100%;border:0;background:transparent;text-align:left;font:inherit;color:inherit;cursor:pointer}
.vsh-clickable-row:hover{background:#f8fbfe}.vsh-chevron{margin-left:auto;color:#7a8da0;font-size:22px;font-weight:700}
.vsh-notice-main{border:0;background:transparent;text-align:left;padding:0;font:inherit;color:inherit;width:100%;cursor:pointer}.vsh-notice-main:hover h4{text-decoration:underline}
.vsh-finance-alert{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff8e5;border:1px solid #edd28b;border-left:5px solid var(--gold);border-radius:13px;padding:15px 18px;margin:0 0 18px;text-align:left;color:var(--ink)}
.vsh-finance-alert>div{display:flex;flex-direction:column;gap:3px}.vsh-finance-alert>div>span{font-size:10px;letter-spacing:.08em;font-weight:900;color:#9b6a00}.vsh-finance-alert strong{font-size:20px;color:#6f4b00}.vsh-finance-alert small{color:#7f6e46}.vsh-finance-alert>span{color:#8c6817;font-weight:800}
.vsh-finance-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #eef2f5}.vsh-finance-row:last-child{border-bottom:0}.vsh-finance-row>.vsh-clickable-inline{border:0;background:transparent;padding:0;text-align:left;display:flex;flex-direction:column;gap:3px;font:inherit;color:inherit}.vsh-finance-row small{color:var(--muted)}
.vsh-attachments{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #edf1f4}.vsh-attachments>a{display:flex;align-items:center;gap:7px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:var(--navy);background:#f8fbfe}.vsh-attachments>a:hover{background:#eef6fd}
.vsh-modal-backdrop{position:fixed;inset:0;z-index:100000;background:rgba(4,16,31,.66);display:flex;align-items:center;justify-content:center;padding:22px}.vsh-modal{width:min(720px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:17px;box-shadow:0 26px 80px rgba(0,0,0,.35)}.vsh-modal-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:18px 20px;background:#fff;border-bottom:1px solid var(--line)}.vsh-modal-head h3{margin:2px 0 0;color:var(--navy);font-size:24px}.vsh-modal-close{border:0;background:#edf3f8;color:var(--navy);width:36px;height:36px;border-radius:50%;font-size:25px;line-height:1;cursor:pointer}.vsh-modal-body{padding:20px}.vsh-modal-body h4{color:var(--navy);margin:18px 0 6px}.vsh-modal-body p{color:#4a5a69}.vsh-modal-body dl{display:grid;grid-template-columns:150px 1fr;gap:8px 14px;margin:18px 0}.vsh-modal-body dt{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}.vsh-modal-body dd{margin:0;color:var(--ink)}.vsh-detail-meta{display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:620px){.vsh-modal-backdrop{padding:10px}.vsh-modal{max-height:94vh}.vsh-modal-body dl{grid-template-columns:1fr;gap:2px}.vsh-modal-body dd{margin-bottom:9px}.vsh-finance-row{align-items:flex-start;flex-direction:column}}

/* v0.1.3 richer capture + RSVP/payment */
.vsh-option-box{border:1px solid #d9e2ec;background:#f8fbff;border-radius:14px;padding:14px;margin:12px 0}.vsh-option-box .vsh-form-grid{margin-top:10px}.vsh-check-bottom{align-self:end;min-height:44px}.vsh-rsvp-box{margin-top:18px;border-top:1px solid #dbe3ec;padding-top:18px}.vsh-rsvp-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}.vsh-rsvp-head h4{margin:2px 0 0}.vsh-cost-preview{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff8df;border:1px solid #edd995;border-radius:12px;padding:12px 14px;margin:12px 0}.vsh-cost-preview strong{font-size:1.25rem;color:#0d315e}.vsh-cost-preview small{color:#6a7280}.vsh-preline{white-space:pre-line}.vsh-payment-fields{transition:opacity .2s ease}.vsh-modal-body dl{grid-template-columns:minmax(125px,180px) 1fr}.vsh-modal-body h4{margin:18px 0 8px}.vsh-compact-form textarea{resize:vertical}
@media(max-width:700px){.vsh-rsvp-head,.vsh-cost-preview{flex-direction:column}.vsh-cost-preview{align-items:flex-start}.vsh-modal-body dl{grid-template-columns:1fr}.vsh-check-bottom{min-height:auto}}

/* v0.1.4 — school login, bilingual controls, governance and exemption workflow */
.vsh-login-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:linear-gradient(145deg,#06152e,#0d2f64 65%,#b8860b)}
.vsh-login-card{width:min(520px,94vw);background:#fff;border-radius:24px;padding:32px;box-shadow:0 24px 80px rgba(0,0,0,.35)}
.vsh-login-logo{width:150px;height:150px;object-fit:contain;display:block;margin:0 auto 20px;border-radius:18px}
.vsh-login-card h1{text-align:center;margin:6px 0 8px;color:#082b59}.vsh-login-card>p{text-align:center}.vsh-login-card .vsh-eyebrow{text-align:center;color:#bd8500}
.vsh-language-select{border:1px solid rgba(255,255,255,.35);background:#fff;color:#0b2f5e;border-radius:10px;padding:9px 12px;font-weight:700}
.vsh-exemption-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#fff8df,#fff);border:1px solid #e6c86d;border-left:6px solid #bd8500;border-radius:16px;padding:18px 20px;margin:18px 0}
.vsh-exemption-banner div{display:flex;flex-direction:column;gap:3px}.vsh-exemption-banner span{font-size:11px;letter-spacing:.12em;font-weight:800;color:#8a6500}.vsh-exemption-banner strong{font-size:18px;color:#0b2f5e}.vsh-exemption-banner small{color:#5e6772}
.vsh-export-actions{display:flex;gap:8px;justify-content:flex-end;padding:10px 22px;border-bottom:1px solid #e8edf4;background:#f7f9fc}
.vsh-case-thread{display:flex;flex-direction:column;gap:10px;margin:12px 0}.vsh-case-msg{background:#f5f8fc;border:1px solid #e2e9f2;border-radius:12px;padding:12px}.vsh-case-msg strong,.vsh-case-msg small{display:block}.vsh-case-msg small{color:#7a8490;font-size:12px;margin:2px 0 5px}
.vsh-setting-list span small{display:block;color:#788391;margin-top:3px}
@media(max-width:760px){.vsh-header-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.vsh-exemption-banner{align-items:flex-start;flex-direction:column}.vsh-login-card{padding:22px}.vsh-login-logo{width:115px;height:115px}}
@media print{.vsh-topline,.vsh-rolebar,.vsh-header-actions,.vsh-footer,.vsh-btn{display:none!important}.vsh-main{padding:0!important}.vsh-card{break-inside:avoid}}

/* v0.1.5 — premium professional UI, searchable profiles and richer workflows */
.vsh-demo-root{
  --navy:#071f3f;--navy2:#0e3769;--navy3:#164b84;--gold:#c99a2e;--gold-soft:#f5e7bd;
  --ink:#132237;--muted:#6b7889;--line:#dbe3ec;--line-strong:#c7d2de;--bg:#eef3f8;--card:#fff;
  --green:#17745a;--red:#b44046;--amber:#9a6506;--shadow:0 14px 38px rgba(7,31,63,.075);--shadow-lg:0 28px 80px rgba(5,23,48,.22);
  font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;background:radial-gradient(circle at 80% -10%,#dce9f7 0,transparent 34%),linear-gradient(180deg,#f7f9fc 0,#eef3f8 55%,#edf2f7 100%);color:var(--ink)
}
.vsh-demo-root button{font-family:inherit}.vsh-app{background:transparent}.vsh-main{padding:30px clamp(18px,2.3vw,38px) 42px;max-width:1540px;margin:0 auto;width:100%}
.vsh-topline{padding:8px clamp(18px,2.3vw,38px);background:#030d1c;border-bottom:1px solid rgba(255,255,255,.08);letter-spacing:.055em}.vsh-topline strong{color:#fff;font-size:11px}.vsh-topline span{color:#9fb1c6;font-size:11px}
.vsh-header{padding:18px clamp(18px,2.3vw,38px);background:rgba(255,255,255,.96);backdrop-filter:blur(14px);box-shadow:0 2px 0 rgba(6,30,60,.04)}
.vsh-school-brand{width:86px;height:86px;border-radius:18px;background:#071129;box-shadow:0 10px 30px rgba(7,31,63,.16);padding:2px}.vsh-school-copy h1{font-weight:650;letter-spacing:-.035em}.vsh-school-copy>p{font-size:14px}.vsh-school-copy small{font-weight:600;color:#8390a0;letter-spacing:.025em}
.vsh-demo-chip{display:inline-flex;align-items:center;padding:8px 11px;border-radius:999px;background:linear-gradient(135deg,#fff6d9,#f6e4a4);color:#725109;font-size:10px;font-weight:900;letter-spacing:.075em;border:1px solid #ead28b}
.vsh-header-actions select{width:auto;min-width:120px;border:1px solid var(--line-strong);background:#fff;border-radius:11px;padding:10px 30px 10px 12px;color:var(--navy);font-weight:700}
.vsh-rolebar{padding:10px clamp(18px,2.3vw,38px);gap:8px;background:linear-gradient(110deg,#071f3f,#0c315e);box-shadow:0 9px 28px rgba(7,31,63,.18)}.vsh-role{border-radius:12px;padding:11px 17px;font-size:14px;font-weight:650}.vsh-role.active{box-shadow:0 6px 18px rgba(0,0,0,.18)}
.vsh-toolbar{align-items:center;margin-bottom:24px}.vsh-toolbar h2{font-weight:600;letter-spacing:-.035em}.vsh-toolbar>div>p:last-child{max-width:800px}.vsh-eyebrow{color:#ad7b12!important;letter-spacing:.135em;font-weight:900!important}
.vsh-card,.vsh-child,.vsh-stat,.vsh-form-card{border-color:rgba(193,206,220,.75);box-shadow:var(--shadow);background:rgba(255,255,255,.96)}.vsh-card{border-radius:18px}.vsh-card-head{padding:17px 20px;background:linear-gradient(180deg,#fff,#fafcfe)}.vsh-card-head h3{font-size:17px;font-weight:700;letter-spacing:-.01em}.vsh-card-body{padding:19px 20px}
.vsh-stats-grid{gap:14px;margin-bottom:20px}.vsh-stat{min-height:106px;padding:16px 18px;border-left-width:3px;border-radius:15px}.vsh-stat>span{font-size:10px;letter-spacing:.09em}.vsh-stat strong{font-size:29px;font-weight:650;letter-spacing:-.035em}.vsh-stat small{margin-top:5px;font-size:12px}
.vsh-child-grid{gap:14px}.vsh-child{width:100%;border-radius:17px;padding:16px 17px;text-align:left;cursor:pointer;transition:.18s ease;border:1px solid var(--line);display:flex}.vsh-child:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(7,31,63,.12);border-color:#adc0d5}.vsh-child-copy{display:flex;flex-direction:column;gap:2px}.vsh-child-tail{margin-left:auto;display:flex;align-items:center;gap:12px}.vsh-child-tail>span{font-size:24px;color:#8394a8}.vsh-avatar{background:linear-gradient(145deg,#092b57,#0c3f77);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);flex:0 0 auto}.vsh-avatar-large{width:64px;height:64px;font-size:18px}
.vsh-quick-actions{gap:14px}.vsh-action-tile{border-radius:16px;padding:17px;border-color:var(--line);transition:.18s ease}.vsh-action-tile:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(7,31,63,.10);border-color:#aec1d5}.vsh-action-tile>span{background:linear-gradient(145deg,#edf5fd,#e5eff9);border:1px solid #d9e6f2}
.vsh-btn{border-radius:11px;min-height:40px;padding:9px 14px;transition:.17s ease}.vsh-btn-primary{background:linear-gradient(135deg,#082b56,#0b3b73);box-shadow:0 6px 16px rgba(8,43,86,.18)}.vsh-btn-primary:hover{background:linear-gradient(135deg,#0b376c,#104982);transform:translateY(-1px)}.vsh-btn-light{background:#fff;border-color:#cbd7e4}.vsh-btn-light:hover{border-color:#9fb4ca;background:#f8fbfe}.vsh-btn-wide{width:100%;justify-content:center}
.vsh-badge{padding:5px 8px;font-size:9px;letter-spacing:.065em;border:1px solid transparent}.vsh-badge.navy{background:#e9f1f9;border-color:#d7e5f2}.vsh-badge.gold,.vsh-badge.warning{background:#fff4d6;border-color:#f1dfaa}.vsh-badge.green{background:#e5f5ee;border-color:#cae9dc}.vsh-badge.danger{background:#fff0e3;border-color:#eac2ad}
.vsh-form-card{border-radius:18px;padding:22px}.vsh-form-card.mini{padding:0;box-shadow:none;border:0;background:transparent}.vsh-form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.vsh-form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.vsh-demo-root label{color:#3f5063;font-size:11px;letter-spacing:.015em}.vsh-demo-root input,.vsh-demo-root select,.vsh-demo-root textarea{border-color:#cbd7e4;border-radius:11px;padding:11px 12px;background:#fff;min-height:43px}.vsh-demo-root textarea{min-height:auto}.vsh-demo-root input:focus,.vsh-demo-root select:focus,.vsh-demo-root textarea:focus{border-color:#5e83aa;box-shadow:0 0 0 4px rgba(31,78,125,.09)}.vsh-form-note{border-left:0;border:1px solid #dce6f0;background:#f7faff;border-radius:12px;padding:12px 14px}.vsh-subform{padding:16px;border-radius:14px;background:#f8fafc;border:1px dashed #c9d7e5}.vsh-subform h4{margin:0 0 12px;color:var(--navy)}
.vsh-check-grid{gap:10px}.vsh-check{border-radius:13px;padding:11px 12px;background:#fbfcfe}.vsh-check:has(input:checked){border-color:#9eb9d4;background:#f0f6fc;box-shadow:inset 0 0 0 1px rgba(20,72,126,.07)}.vsh-check input{accent-color:#0c3a70}
.vsh-two-col{gap:20px}.vsh-three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.vsh-reception-layout{grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr)}
.vsh-time-row,.vsh-calendar-row,.vsh-list-row,.vsh-action-row{border-radius:11px;padding:12px 10px;margin:0 -10px;border-bottom:1px solid #edf2f6;background:transparent;transition:.14s ease}.vsh-time-row,.vsh-calendar-row,.vsh-list-row,.vsh-action-row{border-top:0;border-left:0;border-right:0;width:calc(100% + 20px);text-align:left;color:inherit;cursor:pointer}.vsh-time-row:hover,.vsh-calendar-row:hover,.vsh-list-row:hover,.vsh-action-row:hover{background:#f6f9fc}.vsh-row-main{border:0;background:transparent;text-align:left;padding:0;color:inherit;font:inherit;display:flex;flex-direction:column;align-items:flex-start;gap:3px;cursor:pointer;min-width:0}.vsh-date-box{background:linear-gradient(145deg,#edf5fd,#e5eef8);border:1px solid #d9e6f2}
.vsh-finance-alert{border-radius:16px;background:linear-gradient(100deg,#fff9e8,#fffdf7);box-shadow:0 9px 24px rgba(117,83,10,.06);cursor:pointer}.vsh-exemption-banner{border-radius:18px;background:linear-gradient(105deg,#fff9e8,#fff);box-shadow:0 10px 28px rgba(117,83,10,.07)}
.vsh-search{display:flex;align-items:center;gap:8px;border:1px solid #cbd7e4;border-radius:12px;background:#fff;padding:0 12px;min-width:260px}.vsh-search>span{font-size:21px;color:#718399}.vsh-search input{border:0!important;box-shadow:none!important;padding-left:0;min-height:41px}.vsh-search-large{width:min(720px,100%)}.vsh-card-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.vsh-card-tools>small{color:var(--muted)}
.vsh-table{font-size:12px}.vsh-table th{padding:12px 11px;background:#f5f8fb;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#627184;white-space:nowrap}.vsh-table td{padding:12px 11px;border-bottom:1px solid #edf2f6;vertical-align:middle}.vsh-table td strong{display:block;color:var(--navy)}.vsh-table td small{display:block;color:var(--muted);margin-top:2px}.vsh-click-row{cursor:pointer;transition:.12s}.vsh-click-row:hover{background:#f3f7fb}.vsh-click-row[hidden]{display:none!important}
.vsh-learner-preview{width:100%;display:flex;align-items:center;gap:12px;border:1px solid #d8e4ef;background:linear-gradient(110deg,#f8fbff,#fff);border-radius:14px;padding:13px;text-align:left;cursor:pointer}.vsh-learner-preview>div:nth-child(2){display:flex;flex-direction:column;flex:1}.vsh-learner-preview>span:last-child{font-size:11px;font-weight:800;color:#416589}.vsh-learner-preview:hover{border-color:#9db7d0}
.vsh-time-choice,.vsh-rsvp-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.vsh-choice-card,.vsh-rsvp-choice{position:relative;display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px;border:1px solid #d5e0ea;border-radius:14px;background:#fff;padding:13px;cursor:pointer}.vsh-choice-card input,.vsh-rsvp-choice input{width:auto;accent-color:#0b3b73}.vsh-choice-card span,.vsh-rsvp-choice span{display:flex;flex-direction:column;gap:2px}.vsh-choice-card small,.vsh-rsvp-choice small{color:var(--muted);font-weight:500}.vsh-choice-card.selected,.vsh-rsvp-choice.selected{background:#eef5fc;border-color:#93b0cd;box-shadow:inset 0 0 0 1px rgba(12,58,112,.08)}.vsh-manual-time.is-disabled{opacity:.48}.vsh-rsvp-choices{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}.vsh-rsvp-going-fields.is-disabled{opacity:.38;pointer-events:none}
.vsh-release-summary{display:flex;flex-direction:column;gap:3px;border:1px solid #dbe5ee;background:#f7fafe;border-radius:14px;padding:14px;margin-bottom:16px}.vsh-release-summary strong{color:var(--navy);font-size:17px}.vsh-release-summary span{color:var(--muted)}
.vsh-collection{padding:14px 0}.vsh-collection .vsh-row-main{flex:1}.vsh-collection-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.vsh-publish-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;margin:18px 0;background:linear-gradient(110deg,#071f3f,#0e396e);border-radius:18px;color:#fff;box-shadow:0 16px 36px rgba(7,31,63,.16)}.vsh-publish-toolbar h3{margin:1px 0}.vsh-publish-toolbar .vsh-eyebrow{color:#e3bd62!important}.vsh-publish-toolbar>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.vsh-publish-toolbar .vsh-btn-light{background:rgba(255,255,255,.96)}
.vsh-admin-section{background:#fff;border:1px solid var(--line);border-radius:18px;margin-bottom:16px;box-shadow:var(--shadow);overflow:hidden}.vsh-admin-section>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 22px;cursor:pointer;background:linear-gradient(180deg,#fff,#fafcfe)}.vsh-admin-section>summary::-webkit-details-marker{display:none}.vsh-admin-section>summary h3{margin:0;color:var(--navy);font-size:18px}.vsh-admin-section>summary p{margin:3px 0 0;color:var(--muted);font-size:12px}.vsh-admin-section>summary>span{font-size:24px;color:#7b8da1;transition:.2s}.vsh-admin-section[open]>summary>span{transform:rotate(180deg)}.vsh-admin-section-body{padding:20px 22px;border-top:1px solid #edf1f5}.vsh-admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.vsh-admin-table-tools{padding:15px;background:#f8fafc;border:1px solid #e1e8f0;border-radius:15px}.vsh-segmented{display:flex;gap:3px;background:#eaf0f6;border-radius:11px;padding:3px}.vsh-segmented button{border:0;background:transparent;border-radius:8px;padding:8px 11px;color:#5d6c7d;font-weight:700;cursor:pointer}.vsh-segmented button.active{background:#fff;color:var(--navy);box-shadow:0 2px 8px rgba(7,31,63,.1)}
.vsh-setting-list{display:flex;flex-direction:column;gap:2px}.vsh-setting-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 4px;border-bottom:1px solid #edf1f5}.vsh-setting-list span{display:flex;flex-direction:column}.vsh-setting-list small{color:var(--muted)}.vsh-finance-row{width:100%}.vsh-toggle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:4px 0 10px}.vsh-switch{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px;cursor:pointer;background:#f8fafc;border:1px solid #e0e8ef;border-radius:12px;padding:11px 12px}.vsh-switch input{display:none}.vsh-switch>span{width:34px;height:20px;background:#b9c5d1;border-radius:999px;position:relative;transition:.15s;flex:0 0 auto}.vsh-switch>span:after{content:"";position:absolute;width:16px;height:16px;left:2px;top:2px;background:#fff;border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.22);transition:.15s}.vsh-switch input:checked+span{background:#0c3b72}.vsh-switch input:checked+span:after{left:16px}.vsh-switch b{font-size:11px;color:#405266}.vsh-input-suffix{display:flex;align-items:center}.vsh-input-suffix input{border-radius:11px 0 0 11px}.vsh-input-suffix span{display:flex;align-items:center;min-height:43px;padding:0 10px;background:#edf2f7;border:1px solid #cbd7e4;border-left:0;border-radius:0 11px 11px 0;color:#6d7b8a}
.vsh-option-box{border-radius:16px;background:#f8fafc;border-color:#dce5ee}.vsh-payment-fields{margin-top:12px;transition:.15s}.vsh-payment-fields.is-disabled{opacity:.35;pointer-events:none}.vsh-rsvp-box{border-top:1px solid #dce5ee;margin-top:22px;padding-top:22px}.vsh-rsvp-head h4{font-size:20px;color:var(--navy)}.vsh-cost-preview{border-radius:14px;background:linear-gradient(100deg,#fff8df,#fffdf5);padding:14px 16px}.vsh-cost-preview>div{display:flex;flex-direction:column}.vsh-cost-preview strong{font-size:25px;letter-spacing:-.03em}
.vsh-modal-backdrop{background:rgba(2,13,28,.72);backdrop-filter:blur(4px);padding:26px}.vsh-modal{width:min(780px,100%);max-height:90vh;border-radius:22px;box-shadow:var(--shadow-lg)}.vsh-modal-wide{width:min(980px,100%)}.vsh-modal-head{padding:20px 24px;background:linear-gradient(180deg,#fff,#fbfcfe)}.vsh-modal-head h3{font-size:26px;font-weight:650;letter-spacing:-.025em}.vsh-modal-close{width:38px;height:38px;background:#eef3f8}.vsh-export-actions{padding:10px 24px;background:#f7f9fc}.vsh-modal-body{padding:24px}.vsh-modal-body dl{grid-template-columns:minmax(135px,190px) 1fr;gap:9px 18px}.vsh-modal-body dt{font-size:9px;letter-spacing:.085em}.vsh-modal-body dd{font-size:14px}.vsh-detail-copy{font-size:15px;line-height:1.7;color:#3d4e61!important}.vsh-profile-hero{display:flex;align-items:center;gap:16px;padding:16px;border-radius:16px;background:linear-gradient(110deg,#f1f6fb,#fff);border:1px solid #dce7f1;margin-bottom:18px}.vsh-profile-hero h4{margin:6px 0 2px}.vsh-profile-hero p{margin:0}.vsh-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.vsh-person-card{width:100%;border:1px solid #dce5ee;background:#fff;border-radius:13px;padding:12px 13px;display:flex;justify-content:space-between;align-items:center;text-align:left;cursor:pointer;margin-bottom:8px}.vsh-person-card:hover{background:#f7fafe;border-color:#afc4d8}.vsh-person-card>div:first-child{display:flex;flex-direction:column}.vsh-person-card span{color:#607084}.vsh-person-card small{color:var(--muted)}.vsh-permissions{display:flex!important;flex-direction:row!important;gap:4px;flex-wrap:wrap;justify-content:flex-end}.vsh-guardian-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:9px}.vsh-note-box{border-left:3px solid var(--gold);background:#faf7ee;border-radius:8px;padding:11px 13px}.vsh-note-box p{margin:4px 0 0}.vsh-history-list{display:flex;flex-direction:column}.vsh-history-row{width:100%;display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:12px;padding:11px;border:0;border-bottom:1px solid #edf1f5;background:transparent;text-align:left;cursor:pointer}.vsh-history-row:hover{background:#f7fafe}.vsh-history-row time{font-weight:700;color:#52647a}.vsh-history-row>div{display:flex;gap:8px;align-items:center}.vsh-text-link{border:0;background:transparent;color:#0b4d8c;text-decoration:underline;padding:0;cursor:pointer;font-weight:700}.vsh-resource-links{display:flex;flex-direction:column;gap:7px}.vsh-resource-links a,.vsh-resource-links span{padding:9px 11px;border-radius:10px;background:#f5f8fb;border:1px solid #e1e8ef;color:#0c4e8c;text-decoration:none;word-break:break-all}
.vsh-event-hero{border-radius:17px;background:linear-gradient(120deg,#071f3f,#0d3b70);padding:18px 20px;color:#fff;margin-bottom:15px}.vsh-event-hero h4{color:#fff!important;margin:10px 0 2px!important;font-size:22px}.vsh-event-hero p{color:#ccd9e7!important;margin:0}.vsh-event-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:9px;margin-bottom:18px}.vsh-event-metrics>div{border:1px solid #dce5ee;background:#f8fafc;border-radius:13px;padding:11px 13px;display:flex;flex-direction:column}.vsh-event-metrics span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#78889a}.vsh-event-metrics strong{font-size:22px;color:var(--navy)}
.vsh-search-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:9px}.vsh-search-result{border:1px solid #dbe5ee;background:#fff;border-radius:13px;padding:11px 12px;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer}.vsh-search-result:hover{background:#f6f9fc;border-color:#afc3d7}.vsh-search-result>div:nth-child(2){display:flex;flex-direction:column;flex:1}.vsh-search-result span,.vsh-search-result small{color:var(--muted)}
.vsh-log{border-radius:11px;padding:10px 5px}.vsh-channel{border-radius:7px}.vsh-footer{background:#030d1c;padding:18px clamp(18px,2.3vw,38px);display:flex;align-items:center;justify-content:space-between;color:#b5c3d3}.vsh-footer>div{display:flex;flex-direction:column}.vsh-footer strong{color:#fff}.vsh-footer span{font-size:11px;color:#a8bad0}.vsh-footer small{color:#7f91a6}
.vsh-login-shell{background:radial-gradient(circle at 78% 20%,#174879 0,transparent 32%),linear-gradient(145deg,#020b18,#071d3b 55%,#0c315d);padding:34px}.vsh-login-card{width:min(600px,94vw);border-radius:26px;padding:0;overflow:hidden;box-shadow:0 34px 100px rgba(0,0,0,.42)}.vsh-login-brand{display:flex;align-items:center;gap:16px;padding:20px 24px;background:#06152d;color:#fff}.vsh-login-brand .vsh-login-logo{width:82px;height:82px;margin:0;border-radius:15px;background:#08122f}.vsh-login-brand span{font-size:9px;letter-spacing:.11em;color:#aabbd0;font-weight:800}.vsh-login-brand h1{margin:4px 0 2px;text-align:left;color:#fff;font-size:25px}.vsh-login-brand p{margin:0;color:#c4d1df}.vsh-login-intro{padding:25px 28px 8px}.vsh-login-intro h2{margin:3px 0 7px;color:var(--navy);letter-spacing:-.025em}.vsh-login-intro p{margin:0;color:var(--muted)}.vsh-login-card form{padding:18px 28px 28px}.vsh-login-note{padding:14px 28px 18px;border-top:1px solid #e7edf3;background:#f8fafc;color:#7a8795;font-size:10px}
.vsh-toast{border-radius:12px;box-shadow:0 16px 40px rgba(4,21,43,.2)}
@media(max-width:1050px){.vsh-form-grid.four,.vsh-three-col{grid-template-columns:repeat(2,minmax(0,1fr))}.vsh-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vsh-two-col,.vsh-reception-layout{grid-template-columns:1fr}.vsh-card-tools{align-items:flex-start;flex-direction:column}.vsh-admin-table-tools{align-items:stretch}}
@media(max-width:760px){.vsh-main{padding:20px 13px 32px}.vsh-topline{display:none}.vsh-header{padding:13px}.vsh-school-brand{width:66px;height:66px}.vsh-school-copy small{display:none}.vsh-header-actions{padding-left:0}.vsh-rolebar{padding:8px 10px}.vsh-toolbar{align-items:flex-start}.vsh-stats-grid,.vsh-quick-actions,.vsh-form-grid.three,.vsh-form-grid.four,.vsh-three-col,.vsh-profile-grid{grid-template-columns:1fr 1fr}.vsh-publish-toolbar{align-items:flex-start;flex-direction:column}.vsh-publish-toolbar>div:last-child{width:100%}.vsh-modal-backdrop{padding:8px}.vsh-modal{max-height:96vh;border-radius:17px}.vsh-modal-body{padding:18px}.vsh-rsvp-choices,.vsh-time-choice{grid-template-columns:1fr}.vsh-history-row{grid-template-columns:1fr auto}.vsh-history-row time{grid-column:1/3}.vsh-segmented{width:100%;overflow:auto}.vsh-admin-section-body{padding:15px}.vsh-admin-section>summary{padding:16px}.vsh-footer{align-items:flex-start;flex-direction:column;gap:8px}}
@media(max-width:500px){.vsh-stats-grid,.vsh-quick-actions,.vsh-form-grid.two,.vsh-form-grid.three,.vsh-form-grid.four,.vsh-three-col,.vsh-profile-grid{grid-template-columns:1fr}.vsh-header-actions select{min-width:100px}.vsh-child-tail .vsh-badge{display:none}.vsh-card-body{padding:15px}.vsh-search{min-width:0;width:100%}.vsh-admin-actions .vsh-btn{flex:1 1 45%}.vsh-event-metrics{grid-template-columns:1fr 1fr}}
.vsh-individual-absence-fields{display:none;gap:10px}.vsh-individual-absence-fields.open{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.vsh-individual-absence{padding:13px;border:1px solid #dce5ee;border-radius:13px;background:#f8fafc}.vsh-individual-absence>strong{display:block;margin-bottom:8px;color:var(--navy)}.vsh-absence-individual-toggle{margin-top:3px}
.vsh-attachment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:9px;margin-top:8px}.vsh-attachment-grid>a{border:1px solid #dce5ee;border-radius:13px;background:#f8fafc;color:var(--navy);text-decoration:none;overflow:hidden;display:flex;align-items:center;gap:9px;min-width:0}.vsh-attachment-file{padding:11px 12px}.vsh-attachment-file>span{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#eaf2fa}.vsh-attachment-grid b{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vsh-attachment-image{display:block!important;position:relative}.vsh-attachment-image img{display:block;width:100%;height:120px;object-fit:cover}.vsh-attachment-image b{display:block;padding:8px 10px;background:#fff}.vsh-attachment-grid>a:hover{border-color:#9fb8d0;background:#f0f6fc}

/* v0.1.5 audit refinements — searchable checkbox selectors and conditional settings */
.vsh-field-title{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#58677a;margin:0 0 8px}
.vsh-search-compact{max-width:520px;margin-bottom:10px}
.vsh-checkbox-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:250px;overflow:auto;padding:8px;border:1px solid #dce4ee;border-radius:16px;background:#f8fbfe}
.vsh-checkbox-picker>label{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;transition:.18s ease}
.vsh-checkbox-picker>label:hover{border-color:#b9c9dc;box-shadow:0 7px 18px rgba(12,43,78,.07)}
.vsh-checkbox-picker>label:has(input:checked){border-color:#c79222;background:linear-gradient(135deg,#fffaf0,#fff)}
.vsh-checkbox-picker input{margin-top:3px;accent-color:#0b3563}
.vsh-checkbox-picker span{display:flex;min-width:0;flex-direction:column;gap:2px}
.vsh-checkbox-picker strong{font-size:13px;color:#0e2f55}
.vsh-checkbox-picker small{font-size:11px;color:#718096;white-space:normal;word-break:break-word}
.vsh-conditional-setting[hidden]{display:none!important}
@media(max-width:760px){.vsh-checkbox-picker{grid-template-columns:1fr}}

/* v0.1.6 — Sport & Culture selection, allocations and premium activity UX */
.vsh-quick-actions{grid-template-columns:repeat(auto-fit,minmax(205px,1fr))}
.vsh-sport-family-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}
.vsh-sport-family-card{border:1px solid #dce5ee;background:linear-gradient(145deg,#fff,#fbfdff);border-radius:18px;padding:16px;box-shadow:0 8px 24px rgba(7,31,63,.045);display:flex;flex-direction:column;gap:13px;position:relative;overflow:hidden}
.vsh-sport-family-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#0f477f}.vsh-sport-family-card.needs-action:before{background:#c99a2e}
.vsh-sport-family-head{display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:center}.vsh-sport-family-head>div:nth-child(2){display:flex;flex-direction:column}.vsh-sport-family-head strong{color:var(--navy);font-size:15px}.vsh-sport-family-head span{font-size:12px;color:var(--muted)}
.vsh-sport-period-copy{display:flex;flex-direction:column;gap:4px;padding:11px 12px;border-radius:12px;background:#f4f8fc}.vsh-sport-period-link{text-align:left;font-size:14px}.vsh-sport-period-copy small{color:#718096}
.vsh-choice-summary{display:flex;flex-direction:column;gap:3px;border-left:3px solid #c99a2e;padding:8px 11px;background:#fffaf0;border-radius:0 10px 10px 0}.vsh-choice-summary span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#806017;font-weight:800}.vsh-choice-summary strong{font-size:13px;color:#24364a}
.vsh-allocated-activity{border:1px solid #cfe1d9;background:#f4fbf7;border-radius:13px;padding:12px 13px;text-align:left;display:grid;grid-template-columns:1fr auto;gap:2px 10px;cursor:pointer}.vsh-allocated-activity>span:first-child{grid-column:1/3;font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#4d7665;font-weight:800}.vsh-allocated-activity strong{color:#145c47}.vsh-allocated-activity small{color:#657b72}.vsh-allocated-activity .vsh-badge{grid-column:2;grid-row:2/4;align-self:center}
.vsh-sport-card-actions{display:flex;justify-content:flex-end;margin-top:auto}
.vsh-sport-selection-hero{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start;padding:18px;border:1px solid #dce6ef;border-radius:17px;background:linear-gradient(125deg,#f4f8fc,#fff);margin-bottom:15px}.vsh-sport-selection-hero h4{margin:3px 0 8px!important;color:var(--navy)}.vsh-sport-selection-hero p{margin:0;color:#536479;line-height:1.55}.vsh-deadline-box{min-width:145px;background:#071f3f;color:#fff;border-radius:14px;padding:13px 15px;display:flex;flex-direction:column}.vsh-deadline-box span{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#b9c8d9}.vsh-deadline-box strong{font-size:17px;margin-top:3px}.vsh-deadline-box small{color:#e6c76a}
.vsh-consent-check{margin:12px 0;background:#f7faff;border:1px solid #dce6f0;border-radius:13px;padding:12px!important}.vsh-activity-catalog{margin-top:22px;border-top:1px solid #e3e9f0;padding-top:18px}.vsh-section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:18px 0 10px}.vsh-section-heading h4{margin:0!important}.vsh-section-heading p{margin:0;color:var(--muted);font-size:12px}
.vsh-activity-mini{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dce5ee;background:#fff;border-radius:14px;padding:12px 13px;text-align:left;cursor:pointer;margin-bottom:8px;transition:.16s}.vsh-activity-mini:hover{border-color:#a9bfd4;background:#f7fafe;transform:translateY(-1px)}.vsh-activity-mini>div:first-child{display:flex;flex-direction:column;gap:3px}.vsh-activity-mini>div:last-child{display:flex;gap:5px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.vsh-activity-mini strong{color:#0e315b}.vsh-activity-mini small{color:#6c7b8e}
.vsh-grade-picker{display:flex;flex-wrap:wrap;gap:7px;padding:10px;border:1px solid #dbe4ed;border-radius:14px;background:#f8fbfe}.vsh-grade-picker label{cursor:pointer}.vsh-grade-picker input{position:absolute;opacity:0;pointer-events:none}.vsh-grade-picker span{display:inline-flex;padding:8px 10px;border-radius:999px;background:#fff;border:1px solid #dce5ee;font-size:11px;font-weight:700;color:#526277;transition:.15s}.vsh-grade-picker input:checked+span{background:#0b3563;border-color:#0b3563;color:#fff;box-shadow:0 5px 14px rgba(11,53,99,.14)}
.vsh-activity-fee-fields{max-width:280px;margin:8px 0 12px;transition:.15s}.vsh-activity-fee-fields.is-disabled{opacity:.38;pointer-events:none}
.vsh-sport-admin-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.vsh-mini-stat{border:1px solid #dce5ee;background:linear-gradient(145deg,#f9fbfd,#fff);border-radius:14px;padding:13px 14px;display:flex;flex-direction:column}.vsh-mini-stat span{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#77879a;font-weight:800}.vsh-mini-stat strong{font-size:23px;color:#082d59;margin-top:4px}
.vsh-period-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:10px}.vsh-period-card{border:1px solid #dbe4ed;background:#fff;border-radius:15px;padding:13px 14px;display:flex;justify-content:space-between;gap:12px;text-align:left;cursor:pointer}.vsh-period-card:hover{background:#f7fafe;border-color:#abc0d5}.vsh-period-card>div{display:flex;flex-direction:column;gap:3px}.vsh-period-card strong{color:#0d315d}.vsh-period-card small,.vsh-period-card>span{color:#6e7d90;font-size:11px}.vsh-period-card>span{align-self:center;white-space:nowrap}
.vsh-activity-row small{display:block}.vsh-activity-row td:first-child small{margin-top:2px}.vsh-table .vsh-text-link{text-align:left}
@media(max-width:900px){.vsh-sport-admin-overview{grid-template-columns:1fr 1fr}.vsh-sport-selection-hero{grid-template-columns:1fr}.vsh-deadline-box{min-width:0;max-width:220px}}
@media(max-width:600px){.vsh-sport-family-grid{grid-template-columns:1fr}.vsh-sport-family-head{grid-template-columns:40px 1fr}.vsh-sport-family-head>div:last-child{grid-column:1/3}.vsh-sport-admin-overview{grid-template-columns:1fr 1fr}.vsh-activity-mini{align-items:flex-start;flex-direction:column}.vsh-activity-mini>div:last-child{justify-content:flex-start}.vsh-section-heading{align-items:flex-start;flex-direction:column}.vsh-period-card{flex-direction:column}.vsh-period-card>span{align-self:flex-start}.vsh-deadline-box{max-width:none}.vsh-grade-picker{max-height:220px;overflow:auto}}

/* v0.1.7 — bilingual school-grade polish, premium detail screens, privacy onboarding and profile photos */
.vsh-demo-root{
  --premium-navy:#071b35;--premium-blue:#0c3768;--premium-gold:#c99a2e;--premium-cream:#fbf7ed;
  --premium-border:#dbe5ef;--premium-soft:#f5f8fc;--premium-muted:#68798c;
}
.vsh-avatar.has-photo{overflow:hidden;background:#eef3f8;color:transparent;border:2px solid #fff;box-shadow:0 7px 20px rgba(7,31,63,.16),0 0 0 1px #cbd8e5}
.vsh-avatar.has-photo img{width:100%;height:100%;display:block;object-fit:cover}
.vsh-avatar-large{width:76px;height:76px;min-width:76px;font-size:20px}

/* Premium modal composition */
.vsh-modal-backdrop{background:rgba(3,15,31,.76);backdrop-filter:blur(9px) saturate(.9)}
.vsh-modal{border:1px solid rgba(255,255,255,.7);border-radius:24px;background:#fff;overflow:auto;box-shadow:0 34px 110px rgba(1,12,28,.38)}
.vsh-modal-wide{width:min(1080px,96vw)}
.vsh-modal-head{padding:23px 28px 19px;border-bottom:1px solid #e4ebf2;background:linear-gradient(180deg,#fff 0,#fbfcfe 100%)}
.vsh-modal-head .vsh-eyebrow{margin:0 0 6px;font-size:9px}
.vsh-modal-head h3{margin:0;font-size:27px;font-weight:680;line-height:1.16;color:var(--premium-navy)}
.vsh-modal-close{width:40px;height:40px;background:#eff4f8;border:1px solid #e1e8ef;color:#15395f;font-size:22px;transition:.15s}
.vsh-modal-close:hover{background:#e3ecf4;transform:rotate(3deg)}
.vsh-export-actions{padding:11px 28px;border-bottom:1px solid #e6edf4;background:#f8fafc;display:flex;justify-content:flex-end;gap:8px}
.vsh-modal-body{padding:28px}
.vsh-detail-panel{border:1px solid var(--premium-border);border-radius:17px;background:#fff;padding:19px 20px;margin:14px 0;box-shadow:0 8px 24px rgba(9,36,67,.035)}
.vsh-detail-panel>h4:first-child{margin-top:0}
.vsh-detail-panel dl{margin:6px 0;grid-template-columns:minmax(135px,190px) 1fr}
.vsh-detail-panel dt{padding-top:3px;color:#7a8797}.vsh-detail-panel dd{font-weight:550;color:#1a2b40}
.vsh-profile-hero-premium{padding:20px 22px;background:linear-gradient(120deg,#071f3f 0,#0e3b6f 68%,#12518c 100%);border:0;color:#fff;box-shadow:0 16px 34px rgba(7,31,63,.16)}
.vsh-profile-hero-premium h4,.vsh-profile-hero-premium p{color:#fff!important}.vsh-profile-hero-premium .vsh-badge{background:rgba(255,255,255,.95)}
.vsh-academic-hero,.vsh-event-hero{border-radius:18px;padding:20px 22px;background:linear-gradient(118deg,#071f3f,#0d3d74 72%,#13548f);color:#fff;margin-bottom:16px;box-shadow:0 16px 32px rgba(7,31,63,.14)}
.vsh-academic-hero h4,.vsh-event-hero h4{color:#fff!important;font-size:22px;margin:9px 0 4px}.vsh-academic-hero p,.vsh-event-hero p{color:#d9e5f1!important;margin:0}
.vsh-event-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:12px 0 18px}.vsh-event-metrics>div{border:1px solid #dbe5ef;background:#f7faff;border-radius:14px;padding:12px 14px}.vsh-event-metrics span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#78889b;font-weight:850}.vsh-event-metrics strong{display:block;font-size:22px;color:#0b315e;margin-top:3px}
.vsh-person-card{min-height:76px;padding:13px 14px;border-radius:15px;align-items:center}.vsh-person-card>.vsh-avatar{margin-right:10px}.vsh-person-card>div:nth-child(2){flex:1;min-width:0}
.vsh-guardian-cards{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.vsh-history-row{grid-template-columns:135px minmax(0,1fr) auto;padding:13px 9px}.vsh-history-row>div{min-width:0;flex-wrap:wrap}.vsh-history-row strong{font-weight:650;color:#24374d}

/* Bilingual content capture */
.vsh-language-capture{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0 17px}
.vsh-language-capture>section{position:relative;border:1px solid #dbe4ee;border-radius:17px;background:linear-gradient(180deg,#fbfdff,#fff);padding:17px 16px 15px}
.vsh-language-capture>section>span:first-child{display:inline-flex;margin-bottom:11px;padding:5px 8px;border-radius:999px;background:#eaf2fa;color:#173f6b;font-size:9px;letter-spacing:.11em;font-weight:900}
.vsh-language-capture>section:nth-child(2)>span:first-child{background:#fff3d3;color:#7b5709}
.vsh-premium-form .vsh-form-note{line-height:1.55}

/* RSVP as a structured event response, not a flat form */
.vsh-rsvp-premium{display:flex;flex-direction:column;gap:14px;margin-top:20px}
.vsh-rsvp-premium .vsh-rsvp-head{border-bottom:1px solid #e6edf3;padding-bottom:14px;margin-bottom:0}
.vsh-rsvp-section{border:1px solid #dbe5ef;border-radius:16px;background:#fbfcfe;padding:16px}
.vsh-rsvp-section-title{font-size:10px;font-weight:900;letter-spacing:.085em;text-transform:uppercase;color:#52657b;margin-bottom:12px}
.vsh-rsvp-choices{gap:10px;margin:0}.vsh-rsvp-choice{min-height:68px;padding:12px 13px}.vsh-rsvp-choice.selected{background:linear-gradient(135deg,#eef6ff,#f8fbff);border-color:#8faccc;box-shadow:inset 0 0 0 1px rgba(13,61,114,.07)}
.vsh-rsvp-choice strong{font-size:14px;color:#102f54}.vsh-rsvp-choice small{font-size:11px;color:#6e7e91}
.vsh-rsvp-going-fields{display:flex;flex-direction:column;gap:13px}.vsh-rsvp-going-fields.is-disabled{opacity:.46;filter:grayscale(.15)}
.vsh-rsvp-premium label{font-size:11px}.vsh-rsvp-premium textarea{min-height:92px}
.vsh-rsvp-payment{background:linear-gradient(135deg,#fffaf0,#fff);border-color:#ead8aa}.vsh-cost-preview{margin:0 0 12px;border-radius:14px;box-shadow:none}

/* Profile photos */
.vsh-profile-photo-editor{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;border:1px solid #dbe5ef;border-radius:17px;padding:17px 18px;background:linear-gradient(115deg,#f7faff,#fff);margin:14px 0 18px}
.vsh-profile-photo-editor h4{margin:2px 0 5px!important}.vsh-profile-photo-editor p{margin:0;color:#65768a!important;font-size:12px}
.vsh-photo-action{display:flex;align-items:center;gap:14px}.vsh-profile-photo-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap;max-width:450px}
.vsh-upload-tile{position:relative;display:inline-flex!important;align-items:center;justify-content:center;min-height:38px;padding:8px 12px!important;border:1px dashed #9db3ca!important;border-radius:10px;background:#fff;color:#173e68!important;font-weight:750!important;cursor:pointer}.vsh-upload-tile input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important;padding:0!important;min-height:0!important}
.vsh-warning-note{border-color:#ead6a1!important;background:#fff9e9!important;color:#745817!important}

/* First-login privacy review */
.vsh-privacy-shell{min-height:100vh;padding:34px 18px;background:radial-gradient(circle at 82% 8%,#1d4e80 0,transparent 30%),linear-gradient(145deg,#020b18,#071d3b 54%,#0b315e);display:flex;justify-content:center;align-items:flex-start}
.vsh-privacy-card{width:min(1080px,96vw);overflow:hidden;border-radius:26px;background:#fff;box-shadow:0 38px 110px rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.5)}
.vsh-privacy-head{display:grid;grid-template-columns:auto 1fr auto;gap:17px;align-items:center;padding:23px 27px;background:linear-gradient(112deg,#06152d,#0b3768);color:#fff}.vsh-privacy-head img{width:78px;height:78px;object-fit:contain;border-radius:15px;background:#07142e}.vsh-privacy-head h1{margin:3px 0 5px;color:#fff;font-size:27px;letter-spacing:-.025em}.vsh-privacy-head p{margin:0;color:#cbd9e8}.vsh-privacy-head .vsh-eyebrow{color:#e1bc58!important}.vsh-policy-version{align-self:start;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800;color:#f0f5fa}
.vsh-privacy-form{padding:22px 25px 26px;background:#f7f9fc}
.vsh-privacy-section{display:grid;grid-template-columns:46px minmax(0,1fr);gap:15px;border:1px solid #dce5ef;border-radius:18px;background:#fff;padding:19px 20px;margin-bottom:13px;box-shadow:0 8px 25px rgba(7,31,63,.035)}
.vsh-section-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#eaf2fa;color:#0d3a6b;font-size:11px;font-weight:900}.vsh-privacy-section h3{margin:2px 0 12px;color:#0b315e;font-size:18px}
.vsh-profile-confirm-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin-bottom:13px}.vsh-profile-confirm-grid>div{display:flex;flex-direction:column;border-bottom:1px solid #edf1f5;padding:7px 0}.vsh-profile-confirm-grid span{font-size:9px;letter-spacing:.075em;text-transform:uppercase;color:#79889a;font-weight:850}.vsh-profile-confirm-grid strong{margin-top:2px;color:#1a304a;font-size:13px}
.vsh-radio-cards{display:grid;grid-template-columns:1fr 1fr;gap:9px}.vsh-radio-cards label,.vsh-consent-tile{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:10px;border:1px solid #dbe4ed;border-radius:13px;background:#fbfcfe;padding:11px 12px!important;cursor:pointer}.vsh-radio-cards input,.vsh-consent-tile input,.vsh-legal-check input{width:auto!important;min-height:0!important;accent-color:#0a396e;margin-top:3px}.vsh-radio-cards span{display:flex;flex-direction:column}.vsh-radio-cards small{color:#748396;font-weight:500}.vsh-correction-field{display:flex;margin-top:12px}.vsh-correction-field.is-hidden{display:none}
.vsh-privacy-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.vsh-privacy-summary-grid article{border:1px solid #e1e8ef;border-radius:13px;background:#f9fbfd;padding:12px}.vsh-privacy-summary-grid article b{color:#173d67;font-size:11px}.vsh-privacy-summary-grid article p{font-size:11px;line-height:1.55;margin:5px 0 0;color:#657589}.vsh-operator-note{font-size:10px;color:#788697;margin-top:10px;padding:9px 11px;border-radius:10px;background:#f6f8fb}
.vsh-photo-consent-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:9px}.vsh-consent-tile span{display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center}.vsh-consent-tile .vsh-avatar{grid-row:1/3}.vsh-consent-tile small{color:#718195}
.vsh-legal-check{display:flex!important;align-items:flex-start!important;gap:11px;padding:14px 15px!important;border:1px solid #d5e0eb;border-radius:14px;background:#fff;margin:10px 0!important}.vsh-legal-check span{display:flex;flex-direction:column;gap:3px}.vsh-legal-check small{color:#738295;font-weight:500;line-height:1.45}.vsh-privacy-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:14px}

/* Ensure labels never visually collide in dense forms */
.vsh-form-grid{align-items:start}.vsh-form-grid>label,.vsh-compact-form>label{min-width:0;display:flex;flex-direction:column;gap:6px}.vsh-form-grid input,.vsh-form-grid select,.vsh-form-grid textarea{width:100%;max-width:100%;box-sizing:border-box}.vsh-form-grid textarea{min-height:96px}.vsh-form-card .vsh-form-title{align-items:flex-start}
.vsh-detail-panel .vsh-badge,.vsh-event-hero .vsh-badge,.vsh-academic-hero .vsh-badge{white-space:normal;text-align:center}

/* Higher-end desktop rhythm */
.vsh-main{padding-top:34px}.vsh-toolbar{padding:4px 2px 2px}.vsh-toolbar h2{font-size:31px;color:#092d58}.vsh-child{min-height:94px;background:linear-gradient(145deg,#fff,#fbfdff)}
.vsh-card{overflow:hidden}.vsh-card-head{border-bottom:1px solid #e8eef4}.vsh-admin-section{border:1px solid #dbe5ee;border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(7,31,63,.035);overflow:hidden}.vsh-admin-section>summary{background:linear-gradient(180deg,#fff,#fafcfe)}

@media(max-width:820px){
  .vsh-language-capture,.vsh-privacy-summary-grid{grid-template-columns:1fr}.vsh-profile-confirm-grid,.vsh-radio-cards{grid-template-columns:1fr}.vsh-profile-photo-editor{grid-template-columns:1fr}.vsh-photo-action{align-items:flex-start}.vsh-privacy-head{grid-template-columns:auto 1fr}.vsh-policy-version{grid-column:2;justify-self:start}.vsh-modal-body{padding:20px}.vsh-modal-head{padding:19px 20px 16px}.vsh-export-actions{padding:9px 20px}.vsh-rsvp-choices{grid-template-columns:1fr}.vsh-profile-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .vsh-privacy-shell{padding:0}.vsh-privacy-card{width:100%;border-radius:0;min-height:100vh}.vsh-privacy-head{padding:18px 16px}.vsh-privacy-head img{width:58px;height:58px}.vsh-privacy-head h1{font-size:22px}.vsh-privacy-form{padding:14px 12px 20px}.vsh-privacy-section{grid-template-columns:1fr;padding:15px}.vsh-section-icon{width:32px;height:32px}.vsh-privacy-actions{flex-direction:column-reverse}.vsh-privacy-actions .vsh-btn{width:100%}.vsh-profile-photo-form{width:100%}.vsh-profile-photo-editor{padding:14px}.vsh-photo-action{flex-direction:column}.vsh-modal-head h3{font-size:22px}.vsh-modal-body{padding:16px}.vsh-detail-panel{padding:15px}.vsh-detail-panel dl{grid-template-columns:1fr;gap:2px}.vsh-detail-panel dd{margin-bottom:8px}.vsh-profile-hero-premium{align-items:flex-start}.vsh-event-hero,.vsh-academic-hero{padding:17px}.vsh-toolbar h2{font-size:27px}
}

/* v0.1.8 — term-locked sport selections, premium exemption workflow and branded document polish */
.vsh-sport-context-pills{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.vsh-sport-context-pills span{display:inline-flex;align-items:center;gap:4px;border:1px solid #d5e1ec;border-radius:999px;background:#fff;padding:6px 9px;font-size:10px;color:#506276}.vsh-sport-context-pills strong{color:#113c69}
.vsh-choice-section{border:1px solid #dce6ef;border-radius:17px;background:#fff;padding:18px;margin:14px 0}.vsh-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.vsh-choice-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.vsh-choice-field{border:1px solid #e1e8ef;border-radius:13px;padding:12px;background:#f9fbfd}.vsh-choice-field>span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#66788c;font-weight:850}.vsh-choice-field select{margin-top:6px;background:#fff}
.vsh-selection-locked-card{border:1px solid #d8e3ed;border-radius:18px;background:linear-gradient(145deg,#f8fbfe,#fff);padding:18px;margin:14px 0}.vsh-selection-locked-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.vsh-selection-locked-head h4{margin:2px 0 4px!important}.vsh-selection-locked-head p{margin:0;color:#68798c}.vsh-submitted-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:15px 0}.vsh-submitted-choice{display:flex;flex-direction:column;gap:3px;border:1px solid #dbe5ef;border-radius:13px;background:#fff;padding:12px}.vsh-submitted-choice span{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#7b8999;font-weight:850}.vsh-submitted-choice strong{color:#0b315f}.vsh-submitted-choice small{color:#728195}.vsh-lock-explainer{border-left:4px solid #c99a2e;border-radius:0 12px 12px 0;background:#fff9e9;padding:12px 14px}.vsh-lock-explainer strong{color:#73530d}.vsh-lock-explainer p{margin:4px 0 0;color:#685f4a}.vsh-reopened-inline,.vsh-reopened-note{border:1px solid #ead19b;background:#fff9e8;border-radius:12px;padding:11px 12px;display:flex;gap:8px;flex-direction:column}.vsh-reopened-inline strong{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#7a5b14}.vsh-reopened-inline span{color:#67583a;font-size:12px}.vsh-lock-before-submit{display:flex;flex-direction:column;gap:3px;border-radius:13px;background:#071f3f;color:#fff;padding:12px 14px;margin:14px 0}.vsh-lock-before-submit span{font-size:11px;color:#cad8e7}
.vsh-sport-days-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.75fr);gap:18px;border:1px solid #dce5ef;border-radius:16px;background:#f8fbfe;padding:16px;margin:14px 0}.vsh-sport-days-editor h4{margin:3px 0 5px!important}.vsh-sport-days-editor p{margin:0;color:#68798c}.vsh-day-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.vsh-day-choice{display:flex!important;flex-direction:row!important;gap:9px!important;align-items:flex-start;border:1px solid #dce5ef;border-radius:13px;background:#fff;padding:12px!important;cursor:pointer}.vsh-day-choice:has(input:checked){border-color:#9fbbd6;background:#f1f7fd;box-shadow:inset 0 0 0 1px rgba(12,55,104,.06)}.vsh-day-choice input{width:auto!important;min-height:0!important;accent-color:#0b3768;margin-top:3px}.vsh-day-choice span{display:flex;flex-direction:column}.vsh-day-choice small{color:#718196;font-size:10px}.vsh-sport-admin-note{border-left:4px solid #c99a2e!important;background:#fffaf0!important}.vsh-sport-admin-overview{grid-template-columns:repeat(5,minmax(0,1fr))}.vsh-period-card-premium{padding:16px}.vsh-period-card-side{align-items:flex-end!important;text-align:right}.vsh-period-card-side span{color:#123d6b!important;font-weight:750}.vsh-period-card-side small{color:#748397}.vsh-reopen-panel{display:grid;grid-template-columns:1fr minmax(280px,.75fr);gap:16px;align-items:end;border:1px solid #ead6a1;border-radius:16px;background:linear-gradient(130deg,#fffaf0,#fff);padding:15px 16px;margin:15px 0}.vsh-reopen-panel.is-open{grid-template-columns:1fr;border-color:#e4c779}.vsh-reopen-panel strong{display:block;color:#73530d;margin:3px 0}.vsh-reopen-panel p{margin:3px 0;color:#6f6246}.vsh-reopen-panel form{display:flex;gap:9px;align-items:end}.vsh-reopen-panel form label{flex:1}.vsh-reopen-panel textarea{min-height:76px}

.vsh-exemption-hero{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:start;border:0;border-radius:18px;background:linear-gradient(125deg,#071f3f,#0d3e70);color:#fff;padding:22px 24px;margin-bottom:14px;box-shadow:0 15px 35px rgba(7,31,63,.14)}.vsh-exemption-hero.compact{padding:18px 20px}.vsh-exemption-hero .vsh-eyebrow{color:#e5bd55}.vsh-exemption-hero h4{color:#fff!important;font-size:23px;margin:3px 0 7px!important}.vsh-exemption-hero p{margin:0;color:#d7e3ef;max-width:760px;line-height:1.55}.vsh-confidential-mark{border:1px solid rgba(229,189,85,.5);border-radius:999px;padding:7px 10px;color:#f1cf72;font-size:9px;letter-spacing:.13em;font-weight:900}.vsh-exemption-guides{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-bottom:16px}.vsh-exemption-guide-card{position:relative;border:1px solid #dce5ef;border-radius:16px;background:#fff;padding:16px 16px 15px;box-shadow:0 8px 22px rgba(8,35,65,.035)}.vsh-exemption-guide-card>span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#eef4fa;color:#0c3c6e;font-weight:900;font-size:10px}.vsh-exemption-guide-card h4{font-size:14px;margin:9px 0 7px!important;color:#0b315d}.vsh-exemption-guide-card p,.vsh-exemption-guide-card li{font-size:11px;line-height:1.55;color:#607186}.vsh-exemption-guide-card ul{margin:6px 0 0;padding-left:17px}.vsh-exemption-guide-card li+li{margin-top:5px}.vsh-exemption-form{display:flex;flex-direction:column;gap:13px}.vsh-exemption-section{border:1px solid #dce5ef;border-radius:17px;background:#fff;padding:18px 19px;box-shadow:0 8px 23px rgba(7,31,63,.03)}.vsh-exemption-section .vsh-section-heading{margin:0 0 14px}.vsh-exemption-section .vsh-section-heading p{max-width:400px;text-align:right}.vsh-input-money{display:flex;align-items:center;border:1px solid #cdd9e5;border-radius:10px;background:#fff;overflow:hidden}.vsh-input-money b{padding:0 0 0 12px;color:#60758d}.vsh-input-money input{border:0!important;box-shadow:none!important}.vsh-exemption-docs{background:linear-gradient(145deg,#fbfdff,#fff)}.vsh-file-drop{position:relative;min-height:82px!important;border:1.5px dashed #9eb3c8!important;border-radius:14px!important;background:#f7fafe!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#0d3b6a!important;cursor:pointer!important}.vsh-file-drop input{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;cursor:pointer!important}.vsh-exemption-section .vsh-check-grid .vsh-check span{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center}.vsh-exemption-section .vsh-check-grid .vsh-avatar{grid-row:1/3}.vsh-exemption-section .vsh-check-grid small{grid-column:2;color:#738398}

.vsh-export-actions>span{margin-right:auto;align-self:center;font-size:9px;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:#7b8998}.vsh-export-actions .vsh-btn{border-color:#d5e0ea;background:#fff}.vsh-export-actions .vsh-btn:hover{border-color:#9fb4ca;background:#f5f9fd}

@media(max-width:980px){.vsh-sport-admin-overview{grid-template-columns:repeat(3,1fr)}.vsh-exemption-guides{grid-template-columns:1fr}.vsh-sport-days-editor,.vsh-reopen-panel{grid-template-columns:1fr}.vsh-reopen-panel form{align-items:stretch;flex-direction:column}.vsh-choice-grid,.vsh-choice-grid.three{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.vsh-sport-admin-overview{grid-template-columns:1fr 1fr}.vsh-choice-grid,.vsh-choice-grid.three,.vsh-day-choice-grid{grid-template-columns:1fr}.vsh-exemption-hero{grid-template-columns:1fr}.vsh-confidential-mark{justify-self:start}.vsh-exemption-section{padding:14px}.vsh-exemption-section .vsh-section-heading p{text-align:left}.vsh-selection-locked-head{flex-direction:column}.vsh-period-card-side{align-items:flex-start!important;text-align:left}.vsh-export-actions{flex-wrap:wrap}.vsh-export-actions>span{width:100%;margin-bottom:2px}}
.vsh-admin-compliance-note{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:start;border:1px solid #e4cf93;border-left:4px solid #c99a2e;border-radius:16px;background:linear-gradient(135deg,#fffaf0,#fff);padding:16px 18px;margin:0 0 16px;box-shadow:0 8px 22px rgba(108,79,15,.045)}.vsh-admin-compliance-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#0b315f;color:#fff;font-family:Georgia,serif;font-style:italic;font-weight:800}.vsh-admin-compliance-note p{margin:0;color:#554c39;line-height:1.55}.vsh-admin-compliance-note .vsh-eyebrow{margin:0 0 5px;color:#896615!important}.vsh-admin-compliance-note small{display:block;margin-top:7px;color:#766b55}.vsh-exemption-settings-form .vsh-exemption-section{background:linear-gradient(145deg,#fbfdff,#fff)}.vsh-exemption-settings-form label small{font-weight:500;color:#77879a;line-height:1.35}.vsh-modal-submitbar.admin-inline{position:static;background:transparent;border:0;padding:3px 0 0;justify-content:flex-end}.vsh-modal-submitbar.admin-inline .vsh-btn{min-width:180px}
@media(max-width:620px){.vsh-admin-compliance-note{grid-template-columns:1fr}.vsh-admin-compliance-icon{width:30px;height:30px}.vsh-modal-submitbar.admin-inline .vsh-btn{width:100%}}

/* v0.1.9 — secure onboarding, communications and reporting */
.vsh-auth-premium{max-width:760px;border:1px solid rgba(16,52,92,.14);box-shadow:0 28px 80px rgba(7,31,63,.20)}
.vsh-auth-link{border:0;background:transparent;color:#0a4b83;font-weight:750;padding:8px 0;cursor:pointer;text-align:left}
.vsh-auth-link:hover{text-decoration:underline}.vsh-auth-subpanel{margin-top:14px;padding:18px;border:1px solid #dbe5ef;border-radius:16px;background:#f8fbfe}.vsh-auth-subpanel.is-hidden{display:none}
.vsh-security-banner{display:grid;gap:6px;margin:18px 0;padding:16px 18px;border-radius:14px;background:linear-gradient(135deg,#eef6ff,#f8fbff);border:1px solid #cbddec;color:#2e4c69}.vsh-security-banner strong{color:#092e59;font-size:14px}.vsh-security-banner span{font-size:13px;line-height:1.55}
.vsh-onboarding-board,.vsh-report-centre,.vsh-template-library{margin:0 0 22px;padding:22px;border:1px solid #dbe5ef;border-radius:20px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 10px 28px rgba(7,31,63,.06)}
.vsh-onboarding-board .vsh-stats-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0}.vsh-onboarding-select-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0;max-height:310px;overflow:auto;padding:4px}.vsh-onboarding-select-list .vsh-check{background:#fff}
.vsh-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.vsh-report-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px solid #dce6f0;border-radius:16px;background:#fff}.vsh-report-card>div:first-child{display:grid;grid-template-columns:34px 1fr;column-gap:10px}.vsh-report-card strong{grid-column:2;color:#0b2f59}.vsh-report-card small{grid-column:2;color:#6d7f91;margin-top:3px}.vsh-report-icon{grid-row:1/3;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#edf4fb;color:#0a3b70;font-size:17px}.vsh-report-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.vsh-report-actions input{width:145px;min-height:38px;border:1px solid #cfdae5;border-radius:9px;padding:7px 9px;background:#fff}
.vsh-template-library .vsh-table code{font-size:10px;font-weight:800;color:#123f70;background:#edf4fb;padding:4px 7px;border-radius:8px}.vsh-link-button{border:0;background:transparent;padding:0;text-align:left;cursor:pointer;color:inherit}.vsh-link-button strong,.vsh-link-button small{display:block}.vsh-link-button small{margin-top:3px;color:#708197}
.vsh-report-document-head{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 20px;margin:0 0 16px;border-radius:16px;background:linear-gradient(135deg,#082c57,#0b477f);color:#fff}.vsh-report-document-head .vsh-eyebrow{color:#e7c35b}.vsh-report-document-head h4{font-size:22px;margin:3px 0}.vsh-report-document-head p{margin:0;color:#d7e4f1}.vsh-report-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.vsh-report-summary-item{padding:14px;border:1px solid #dae5ef;border-radius:13px;background:#f8fbfe}.vsh-report-summary-item span{display:block;color:#6c7e91;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.vsh-report-summary-item strong{display:block;margin-top:5px;color:#092e59;font-size:18px}
.vsh-modal .vsh-row-main{width:100%;text-align:left}.vsh-modal-body .vsh-table td,.vsh-modal-body .vsh-table th{white-space:normal}
@media(max-width:900px){.vsh-onboarding-board .vsh-stats-grid.compact,.vsh-report-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vsh-report-grid,.vsh-onboarding-select-list{grid-template-columns:1fr}.vsh-report-card{align-items:flex-start;flex-direction:column}.vsh-report-actions{justify-content:flex-start}}
@media(max-width:560px){.vsh-onboarding-board,.vsh-report-centre,.vsh-template-library{padding:15px;border-radius:15px}.vsh-onboarding-board .vsh-stats-grid.compact,.vsh-report-summary-grid{grid-template-columns:1fr}.vsh-report-actions{width:100%}.vsh-report-actions input,.vsh-report-actions button{width:100%}}

/* v0.2.2 — premium access, data health, communication centre */
.vsh-access-matrix-form,.vsh-comm-centre,.vsh-global-search{display:grid;gap:18px}.vsh-governance-note{padding:18px 20px;border:1px solid #d7e1ec;border-left:4px solid #c59b37;border-radius:14px;background:linear-gradient(135deg,#fffdf7,#f7fafc)}.vsh-governance-note strong{display:block;color:#0a2a50;font-size:16px;margin-bottom:5px}.vsh-governance-note p{margin:0;color:#55697f;line-height:1.55}.vsh-access-matrix-wrap{overflow:auto;border:1px solid #dbe4ee;border-radius:16px;background:#fff;box-shadow:0 12px 30px rgba(7,31,63,.06)}.vsh-access-matrix{border-collapse:collapse;width:100%;min-width:880px}.vsh-access-matrix th{background:#0a294d;color:#fff;padding:13px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;text-align:center}.vsh-access-matrix th:first-child{text-align:left}.vsh-access-matrix td{padding:11px 12px;border-bottom:1px solid #edf1f5;text-align:center;vertical-align:middle}.vsh-access-matrix td:first-child{text-align:left;background:#f8fafc;color:#0c315d}.vsh-access-matrix .vsh-perm-label{text-align:left;color:#4c6075;font-size:13px}.vsh-matrix-check{display:inline-flex;align-items:center;justify-content:center}.vsh-matrix-check input{position:absolute;opacity:0;pointer-events:none}.vsh-matrix-check span{width:25px;height:25px;border:1px solid #bfcddb;border-radius:8px;background:#fff;display:block;position:relative;transition:.2s}.vsh-matrix-check input:checked+span{background:#0b3769;border-color:#0b3769;box-shadow:0 4px 12px rgba(11,55,105,.18)}.vsh-matrix-check input:checked+span:after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-weight:800;font-size:14px}.vsh-matrix-check input:disabled+span{opacity:.55}
.vsh-health-hero{display:grid;grid-template-columns:150px 1fr;gap:22px;align-items:center;padding:22px;border-radius:18px;background:linear-gradient(135deg,#071f3f,#103d70);color:#fff;margin-bottom:18px}.vsh-health-score{display:flex;flex-direction:column;align-items:center;justify-content:center;width:126px;height:126px;border-radius:50%;background:rgba(255,255,255,.08);border:8px solid rgba(219,181,72,.88);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}.vsh-health-score strong{font-size:32px;line-height:1}.vsh-health-score span{font-size:11px;margin-top:7px;color:#d9e6f3;text-align:center}.vsh-health-hero h4{font-size:22px;margin:0 0 6px}.vsh-health-hero p{margin:0;max-width:820px;color:#dce7f1;line-height:1.55}.vsh-health-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.vsh-health-row{display:flex;align-items:center;gap:12px;border:1px solid #e1e7ee;background:#fff;border-radius:13px;padding:12px 14px}.vsh-health-row>div{min-width:0}.vsh-health-row strong{display:block;color:#172b42}.vsh-health-row small{display:block;color:#6a7b8d;margin-top:2px}.vsh-empty-premium{padding:22px;border:1px dashed #bdd0c1;border-radius:14px;background:#f5fbf6;color:#2f6840}
.vsh-demo-mail-pill{display:flex;align-items:center;gap:9px;padding:9px 13px;border-radius:999px;background:#fff8dd;border:1px solid #e5cc79;color:#5d4b13;white-space:nowrap}.vsh-demo-mail-pill span{font-size:9px;font-weight:900;letter-spacing:.12em}.vsh-demo-mail-pill strong{font-size:12px}.vsh-comm-table code{display:inline-block;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 7px;border-radius:7px;background:#f1f5f9;color:#153758;font-size:11px}.vsh-comm-detail-hero{padding:22px;border-radius:16px;background:linear-gradient(135deg,#071f3f,#0d3868);color:#fff;margin-bottom:18px}.vsh-comm-detail-hero h4{margin:10px 0 4px;font-size:20px}.vsh-comm-detail-hero p{margin:0;color:#dbe6f1}.vsh-email-preview{height:580px;border:1px solid #dfe6ed;border-radius:14px;overflow:hidden;background:#eef3f8}.vsh-email-preview iframe{width:100%;height:100%;border:0;background:#fff}
.vsh-search-xl{max-width:none!important;padding:5px 6px 5px 15px;border-radius:16px;box-shadow:0 9px 28px rgba(8,39,72,.07)}.vsh-search-xl input{min-height:48px;font-size:15px}.vsh-global-search-results{display:grid;gap:8px}.vsh-search-hint{padding:13px 15px;border-radius:12px;background:#f8fafc;border:1px dashed #d4dee8;color:#718194;font-size:13px}.vsh-global-result{border:1px solid #e0e7ef;background:#fff;border-radius:13px;padding:12px 14px;display:grid;grid-template-columns:130px 1fr 2fr 20px;align-items:center;gap:12px;text-align:left;cursor:pointer;transition:.18s}.vsh-global-result:hover{transform:translateY(-1px);border-color:#b8cadc;box-shadow:0 8px 22px rgba(7,31,63,.08)}.vsh-global-result span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#9b7721;font-weight:800}.vsh-global-result strong{color:#0b315d}.vsh-global-result small{color:#67798b}.vsh-global-result b{text-align:right;color:#b28a2f;font-size:20px}.vsh-admin-section{border-radius:18px!important;border:1px solid #dce5ee!important;box-shadow:0 10px 28px rgba(7,31,63,.045);overflow:hidden}.vsh-admin-section>summary{padding:19px 22px!important;background:linear-gradient(180deg,#fff,#fbfcfe)}.vsh-admin-section[open]>summary{border-bottom:1px solid #e7edf3;background:linear-gradient(180deg,#fafcff,#f4f8fb)}.vsh-admin-section-body{padding:22px!important}
@media(max-width:760px){.vsh-health-hero{grid-template-columns:1fr;text-align:center}.vsh-health-score{margin:auto}.vsh-health-list{grid-template-columns:1fr}.vsh-global-result{grid-template-columns:1fr 22px}.vsh-global-result span,.vsh-global-result small{grid-column:1}.vsh-global-result b{grid-column:2;grid-row:1/4}.vsh-demo-mail-pill{white-space:normal}.vsh-email-preview{height:420px}}

/* v0.2.3 Academic year, calendar and rollover */
.vsh-year-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-bottom:18px}.vsh-year-card{background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #e6e9ef;border-radius:18px;padding:18px;box-shadow:0 8px 22px rgba(8,25,48,.05)}.vsh-year-card.is-current{border-color:#c7a45a;box-shadow:0 10px 28px rgba(154,119,44,.13)}.vsh-year-card h4{margin:12px 0 5px;font-size:18px;color:#10233f}.vsh-year-card p,.vsh-year-card small{margin:0;color:#64748b}.vsh-three-col-admin{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}.vsh-rollover-zone{margin-top:20px;padding:20px;border-radius:20px;background:linear-gradient(135deg,#0d2340,#17365e);color:#fff;box-shadow:0 18px 42px rgba(11,31,56,.18)}.vsh-rollover-zone .vsh-section-heading h4,.vsh-rollover-zone .vsh-section-heading p,.vsh-rollover-zone .vsh-eyebrow{color:#fff}.vsh-rollover-zone .vsh-compact-form{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);padding:14px;border-radius:14px}.vsh-rollover-zone label{color:#fff}.vsh-rollover-zone select{background:#fff;color:#172033}.vsh-rollover-preview{margin-top:16px;background:#fff;color:#172033;border-radius:16px;padding:16px}.vsh-rollover-preview .vsh-section-heading h4{color:#10233f}.vsh-rollover-preview .vsh-eyebrow{color:#8a6b2d}.vsh-rollover-preview .vsh-governance-note{margin:14px 0}.vsh-admin-section .vsh-form-card.mini{height:100%}.vsh-calendar-row .vsh-badge{white-space:nowrap}
@media(max-width:1100px){.vsh-three-col-admin{grid-template-columns:1fr 1fr}}@media(max-width:720px){.vsh-three-col-admin{grid-template-columns:1fr}.vsh-year-overview{grid-template-columns:1fr}.vsh-rollover-zone{padding:15px}}
/* v0.2.4 notification automation */
.vsh-automation-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:18px;align-items:start}.vsh-automation-explain{border:1px solid #d9e3ee;background:linear-gradient(180deg,#fbfcfe,#f4f7fb);border-radius:18px;padding:22px}.vsh-channel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}.vsh-channel-card{position:relative;border:1px solid #dbe4ee;border-radius:14px;padding:16px;background:#fff;display:flex;flex-direction:column;gap:5px;min-height:96px}.vsh-channel-card input{position:absolute;right:14px;top:14px}.vsh-channel-card strong{color:#082445}.vsh-channel-card span{font-size:12px;color:#6b7e92}.vsh-channel-card.is-future{background:#f8fafc}.vsh-priority-stack{display:grid;gap:10px;margin:16px 0}.vsh-priority-stack>div{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #e4ebf2}.vsh-priority-stack span{font-size:13px;color:#53687d}.vsh-parent-action-centre{display:grid;gap:10px}.vsh-action-centre-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid #e4ebf2}.vsh-action-centre-head strong{display:block;color:#082445}.vsh-preferences{margin-top:10px;border:1px solid #dce5ef;border-radius:14px;background:#f8fafc}.vsh-preferences summary{cursor:pointer;padding:14px 16px;font-weight:700;color:#082445}.vsh-preferences form{padding:0 16px 16px}.vsh-preferences .vsh-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:900px){.vsh-automation-grid{grid-template-columns:1fr}.vsh-channel-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.vsh-channel-grid,.vsh-preferences .vsh-toggle-grid{grid-template-columns:1fr}}

/* v0.3.0 premium community / operations modules */
.vsh-insight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.vsh-attendance-insight{border:1px solid #dbe4ee;border-radius:18px;padding:18px;background:linear-gradient(145deg,#fff,#f8fbff);box-shadow:0 8px 24px rgba(9,32,63,.06);cursor:pointer}.vsh-insight-head{display:flex;align-items:center;gap:12px}.vsh-insight-head .vsh-avatar{width:46px;height:46px}.vsh-insight-head strong,.vsh-tuck-balance strong{display:block;color:#071f3f}.vsh-insight-head small{color:#718196}.vsh-insight-numbers{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.vsh-insight-numbers div{background:#071f3f;color:#fff;border-radius:13px;padding:12px}.vsh-insight-numbers strong{display:block;font-size:26px}.vsh-insight-numbers span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#ced9e7}.vsh-reason-chips{display:flex;gap:7px;flex-wrap:wrap}.vsh-reason-chips span{padding:6px 9px;border-radius:99px;background:#f0f4f8;font-size:11px;color:#42566e}.vsh-reason-chips b{color:#987319}
.vsh-contact-directory{display:grid;gap:18px}.vsh-contact-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #e6edf4}.vsh-contact-card>div:first-child{display:flex;align-items:center;gap:10px}.vsh-contact-card .vsh-avatar{width:42px;height:42px}.vsh-contact-card span strong,.vsh-contact-card span small{display:block}.vsh-contact-card span small{color:#718196}.vsh-contact-actions{display:flex;gap:7px;flex-wrap:wrap}.vsh-contact-actions a{padding:7px 10px;border:1px solid #d8e2ec;border-radius:9px;text-decoration:none;font-weight:700;font-size:11px;color:#071f3f;background:#fff}.vsh-contact-actions a:hover{border-color:#c79b2b;background:#fffaf0}
.vsh-meeting-list{display:grid;gap:8px;margin-top:16px}.vsh-tuck-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:18px}.vsh-tuck-account{border:1px solid #dbe4ee;border-radius:18px;padding:18px;background:#fff;box-shadow:0 8px 24px rgba(9,32,63,.05)}.vsh-tuck-balance{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:14px;background:linear-gradient(135deg,#071f3f,#123b67);color:#fff;margin-bottom:15px}.vsh-tuck-balance span{font-size:12px}.vsh-tuck-balance strong{font-size:24px;color:#fff}.vsh-product-list{display:grid;gap:7px;margin-bottom:12px}.vsh-product-list label{display:flex;align-items:center;justify-content:space-between;padding:9px 10px;border:1px solid #e1e8f0;border-radius:10px;text-transform:none}.vsh-product-list label span strong,.vsh-product-list label span small{display:block}.vsh-product-list small{color:#9a761d}.vsh-product-list input{width:64px}.vsh-tuck-topup-form{display:flex;align-items:end;gap:10px;border-top:1px solid #e5ebf1;margin-top:14px;padding-top:14px}.vsh-tuck-topup-form label{flex:1}
.vsh-feeding-parent .vsh-two-col{align-items:start}.vsh-feeding-parent form{border:1px solid #dbe4ee;border-radius:15px;padding:15px;background:#fbfcfe}.vsh-birthday-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.vsh-birthday-grid button{border:1px solid #dfe7ef;background:#fff;border-radius:14px;padding:13px;display:flex;gap:10px;text-align:left;align-items:center;color:#17263a;cursor:pointer}.vsh-birthday-grid button>span{font-size:24px}.vsh-birthday-grid strong,.vsh-birthday-grid small{display:block}.vsh-birthday-grid small{color:#718196;margin-top:3px}.vsh-birthday-grid button:hover{border-color:#c79b2b;box-shadow:0 7px 20px rgba(9,32,63,.07)}
.vsh-language-panels{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}.vsh-language-panels section{border:1px solid #dce5ee;border-radius:14px;padding:14px;background:#f9fbfd}.vsh-language-panels h4{margin:0 0 10px;color:#071f3f}.vsh-ops-grid{display:grid;gap:18px}.vsh-ops-grid>.vsh-card,.vsh-ops-grid>section>.vsh-card{margin:0}.vsh-audit-table code{font-size:10px}.vsh-table tr[data-detail-type]{cursor:pointer}.vsh-table tr[data-detail-type]:hover td{background:#fbf7ea}
@media(max-width:760px){.vsh-language-panels,.vsh-tuck-grid{grid-template-columns:1fr}.vsh-contact-card{align-items:flex-start;flex-direction:column}.vsh-tuck-topup-form{display:grid}.vsh-insight-grid{grid-template-columns:1fr}}

/* v0.3.1 subject management suite */
.vsh-subject-suite{display:grid;gap:18px}.vsh-subject-overview{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:24px;border-radius:18px;background:linear-gradient(135deg,#071f3f,#12365f);color:#fff;box-shadow:0 14px 34px rgba(7,31,63,.16)}.vsh-subject-overview h3{color:#fff;margin:4px 0 8px}.vsh-subject-overview p{max-width:760px;color:#dce8f5}.vsh-stat-strip{display:flex;gap:10px;flex-wrap:wrap}.vsh-stat-strip span{min-width:105px;padding:12px 14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:12px;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.vsh-stat-strip b{display:block;font-size:24px;color:#f2cf73}.vsh-subject-chip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.vsh-subject-chip-card{border:1px solid #dfe7f0;border-left:4px solid #c79b2b;border-radius:12px;padding:13px 14px;background:#fff}.vsh-subject-chip-card strong,.vsh-subject-chip-card span,.vsh-subject-chip-card small{display:block}.vsh-subject-chip-card span{margin-top:4px;color:#4f6277}.vsh-subject-chip-card small{margin-top:3px;color:#7d8b99}.vsh-subject-active-list{max-height:520px;overflow:auto}.vsh-subject-suite details summary{cursor:pointer;font-weight:800;color:#071f3f}.vsh-subject-suite .vsh-table-wrap{max-height:620px;overflow:auto}@media(max-width:800px){.vsh-subject-overview{flex-direction:column}.vsh-stat-strip{width:100%}.vsh-stat-strip span{flex:1}}

/* v0.3.2 BulkSMS settings */
.vsh-sms-credentials{margin:20px 0 4px;border:1px solid #d8e2ee;border-radius:18px;background:linear-gradient(180deg,#fff,#f7f9fc);padding:20px;box-shadow:0 10px 28px rgba(6,31,62,.05)}
.vsh-sms-credentials .vsh-section-heading{margin-bottom:8px}.vsh-sms-help{margin:0 0 16px;color:#5d7187;font-size:13px;line-height:1.55}.vsh-sms-credentials label small{display:block;color:#7d8b99;font-size:11px;margin-top:5px}.vsh-sms-credentials input[type=password]{font-family:inherit;letter-spacing:.02em}.vsh-sms-secret-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.vsh-sms-secret-actions .vsh-check{background:#fff}.vsh-channel-card:not(.is-future){box-shadow:0 6px 20px rgba(6,31,62,.05)}
@media(max-width:680px){.vsh-sms-secret-actions{grid-template-columns:1fr}}


/* v0.3.3 navigation and usability */
.vsh-sectionbar{position:sticky;top:0;z-index:45;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #d8e3ee;box-shadow:0 8px 20px rgba(7,31,63,.06)}
.vsh-sectionbar-inner{display:flex;gap:8px;overflow-x:auto;padding:10px 24px;scrollbar-width:thin;white-space:nowrap}
.vsh-section-link{appearance:none;border:1px solid #d8e3ee;background:#f7fafc;color:#25415f;border-radius:999px;padding:9px 14px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:.18s ease}
.vsh-section-link:hover,.vsh-section-link.active{background:#0b3566;color:#fff;border-color:#0b3566;box-shadow:0 6px 16px rgba(11,53,102,.18)}
.vsh-rolebar{position:sticky;top:0;z-index:46}
.vsh-rolebar + .vsh-sectionbar{top:52px}
.vsh-admin-section,.vsh-card,.vsh-toolbar,.vsh-publish-toolbar{scroll-margin-top:118px}
@media(max-width:760px){.vsh-sectionbar-inner{padding:8px 12px}.vsh-section-link{padding:8px 11px;font-size:11px}.vsh-rolebar + .vsh-sectionbar{top:48px}}


/* v0.3.4 profile correction workflow */
.vsh-correction-editor{margin-top:18px;padding:20px;border:1px solid #d7e3ef;border-left:4px solid #d2a223;border-radius:14px;background:linear-gradient(180deg,#fbfdff,#f6f9fd)}
.vsh-correction-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.vsh-correction-head h4{margin:2px 0 6px;color:#092a54}.vsh-correction-head p{margin:0;color:#61758d;max-width:760px}.vsh-correction-admin{margin:0 0 22px;padding:20px;border:1px solid #d9e4ef;border-radius:16px;background:#fff}.vsh-correction-request-list{display:grid;gap:12px}.vsh-correction-request-card{padding:16px;border:1px solid #dbe5ef;border-radius:14px;background:#fbfdff}.vsh-correction-request-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.vsh-correction-request-top strong{display:block;color:#092a54}.vsh-correction-request-top small{color:#6b7e93}.vsh-change-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.vsh-change-grid>div{display:grid;grid-template-columns:1fr;gap:3px;padding:10px;border-radius:10px;background:#f1f6fb}.vsh-change-grid span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#71849a;font-weight:700}.vsh-change-grid b{font-weight:500;color:#6c7a8a}.vsh-change-grid em{font-style:normal;color:#c28b08}.vsh-change-grid strong{color:#092a54;overflow-wrap:anywhere}.vsh-request-note{margin:8px 0;color:#52677f}.vsh-correction-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}@media(max-width:760px){.vsh-correction-head{display:block}.vsh-correction-head .vsh-badge{margin-top:10px}.vsh-change-grid{grid-template-columns:1fr}}

/* v0.4.0 workspace navigation, premium layout and service modules */
.vsh-workspace{display:grid;grid-template-columns:250px minmax(0,1fr);align-items:start;min-height:720px;background:linear-gradient(180deg,#edf4fb 0,#f7fafc 240px,#f4f7fb 100%)}
.vsh-nav-panel{position:sticky;top:0;z-index:38;min-height:calc(100vh - 40px);padding:24px 16px;background:linear-gradient(180deg,#061a35 0%,#0a2f5d 58%,#092544 100%);border-right:1px solid rgba(255,255,255,.08);box-shadow:14px 0 32px rgba(5,25,50,.08)}
.vsh-nav-heading{padding:2px 10px 18px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:14px}.vsh-nav-heading small{display:block;color:#d7ac3d;font-size:10px;font-weight:900;letter-spacing:.13em}.vsh-nav-heading strong{display:block;color:#fff;font-size:18px;line-height:1.2;margin-top:5px}
.vsh-side-nav{display:grid;gap:5px}.vsh-side-link{appearance:none;width:100%;border:1px solid transparent;background:transparent;color:#dce7f3;border-radius:12px;padding:10px 11px;display:grid;grid-template-columns:28px 1fr 12px;gap:7px;align-items:center;text-align:left;font:inherit;font-size:12px;font-weight:720;cursor:pointer;transition:.16s ease}.vsh-side-link:hover{background:rgba(255,255,255,.08);color:#fff}.vsh-side-link.active{background:#fff;color:#0a2c55;border-color:#fff;box-shadow:0 10px 22px rgba(0,0,0,.14)}.vsh-side-link.active .vsh-side-icon{background:#f7e8b2;color:#8a6200}.vsh-side-link b{font-size:18px}.vsh-side-icon{width:27px;height:27px;border-radius:9px;background:rgba(255,255,255,.09);display:grid;place-items:center;font-size:13px;color:#f0c95a}
.vsh-section-main{min-width:0;padding:26px 28px 42px}.vsh-section-mobile-title{display:none}.vsh-sectionbar{display:none!important}.vsh-section-toolbar{margin-bottom:18px;background:transparent;border:0;box-shadow:none;padding:0}.vsh-section-toolbar h2{font-size:27px;margin:3px 0;color:#08284f}.vsh-section-toolbar>div>p:last-child{color:#667d95;max-width:780px;margin-top:6px}.vsh-section-toolbar .vsh-header-actions{align-self:center}
.vsh-dashboard-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:12px;margin:16px 0 22px}.vsh-action-tile{appearance:none;border:1px solid #d9e4ef;background:linear-gradient(145deg,#fff,#f7fbff);border-radius:15px;padding:15px;display:flex;align-items:center;gap:11px;text-align:left;cursor:pointer;color:#09294f;box-shadow:0 7px 20px rgba(9,39,76,.05);transition:.16s ease}.vsh-action-tile span{width:34px;height:34px;border-radius:11px;background:#0a3568;color:#fff;display:grid;place-items:center}.vsh-action-tile:hover{transform:translateY(-1px);border-color:#caa038;box-shadow:0 10px 26px rgba(9,39,76,.09)}
.vsh-card{border-color:#dbe5ef!important;border-radius:18px!important;box-shadow:0 9px 28px rgba(8,36,70,.055)!important;overflow:hidden}.vsh-card>h3,.vsh-card>.vsh-card-title{letter-spacing:-.01em}.vsh-card-tools{padding-bottom:12px}.vsh-table-wrap{border-radius:12px;border:1px solid #e0e8f0;overflow:auto}.vsh-table th{position:sticky;top:0;background:#f4f8fc;color:#526a82;font-size:10px;text-transform:uppercase;letter-spacing:.08em;z-index:1}.vsh-table td{vertical-align:top}.vsh-list-row{border-radius:10px!important}.vsh-list-row:hover{background:#f5f9fd!important}
.vsh-important-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.vsh-important-card{border:1px solid #dbe6ef;border-left:4px solid #c99b24;border-radius:14px;background:#fff;padding:14px;cursor:pointer}.vsh-important-card.urgent{border-left-color:#b66a18;background:#fffaf2}.vsh-important-card strong,.vsh-important-card small{display:block}.vsh-important-card small{color:#6d8197;margin-top:4px}.vsh-reference-panel{border:1px solid #ead38e;background:linear-gradient(135deg,#fffaf0,#fff);border-radius:15px;padding:16px}.vsh-reference-panel strong{color:#6f4f00}.vsh-reference-panel p{margin:5px 0;color:#5d6f82}.vsh-reference-panel code{font-size:12px;color:#09294f}
.vsh-service-grid,.vsh-route-grid,.vsh-doc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.vsh-service-card,.vsh-route-card,.vsh-doc-card{border:1px solid #dbe5ee;border-radius:15px;padding:15px;background:linear-gradient(145deg,#fff,#fafcff);box-shadow:0 6px 18px rgba(8,36,70,.04)}.vsh-service-card h4,.vsh-route-card h4,.vsh-doc-card h4{margin:0 0 6px;color:#09294f}.vsh-service-card p,.vsh-route-card p,.vsh-doc-card p{margin:0;color:#667b91;font-size:12px;line-height:1.55}.vsh-route-card table{width:100%;margin-top:10px;font-size:11px;border-collapse:collapse}.vsh-route-card td{padding:5px;border-top:1px solid #e6edf4}.vsh-route-price{display:inline-block;margin-top:8px;padding:5px 8px;border-radius:99px;background:#fff2c7;color:#795800;font-size:10px;font-weight:800}.vsh-qa-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.vsh-qa-summary div{border:1px solid #dce6ef;border-radius:13px;padding:12px;background:#fff}.vsh-qa-summary strong{display:block;font-size:22px;color:#09294f}.vsh-qa-summary small{color:#718399}.vsh-qa-status{padding:10px 12px;border-radius:11px;background:#f3f7fb;color:#4d657c;font-size:12px}.vsh-qa-status.is-active{background:#fff5d9;color:#775500}
.vsh-header{box-shadow:0 8px 24px rgba(8,31,59,.06)}.vsh-rolebar{position:relative!important;top:auto!important;z-index:39}.vsh-rolebar .vsh-role{border-radius:10px}.vsh-topline{letter-spacing:.01em}.vsh-footer{margin-top:0}
.vsh-modal-shell,.vsh-modal{border-radius:20px!important}.vsh-modal-content input,.vsh-modal-content select,.vsh-modal-content textarea,.vsh-main input,.vsh-main select,.vsh-main textarea{border-radius:10px;border-color:#cddbe8;min-height:42px}.vsh-main textarea{min-height:86px}.vsh-main label{font-weight:650;color:#263d55}.vsh-btn{border-radius:10px!important}
@media(max-width:1080px){.vsh-workspace{grid-template-columns:210px minmax(0,1fr)}.vsh-section-main{padding:22px 20px}.vsh-side-link{font-size:11px}}
@media(max-width:820px){.vsh-workspace{display:block}.vsh-nav-panel{position:sticky;top:0;min-height:auto;padding:8px 10px;background:#071f40;border-right:0;border-bottom:1px solid rgba(255,255,255,.15);overflow:hidden}.vsh-nav-heading{display:none}.vsh-side-nav{display:flex;overflow-x:auto;gap:7px;padding:2px 0 4px;scrollbar-width:thin}.vsh-side-link{width:auto;min-width:max-content;display:flex;padding:8px 10px;border-radius:10px}.vsh-side-link b{display:none}.vsh-side-icon{width:24px;height:24px}.vsh-section-main{padding:18px 14px 34px}.vsh-section-mobile-title{display:block;margin:0 0 15px;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#9a7110}.vsh-section-toolbar{display:block}.vsh-section-toolbar h2{font-size:23px}.vsh-section-toolbar .vsh-header-actions{margin-top:12px}.vsh-header{padding:15px}.vsh-header-actions{gap:7px;flex-wrap:wrap}.vsh-qa-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.vsh-section-main{padding:14px 10px 28px}.vsh-dashboard-actions,.vsh-important-grid,.vsh-service-grid,.vsh-route-grid,.vsh-doc-grid{grid-template-columns:1fr}.vsh-qa-summary{grid-template-columns:1fr 1fr}.vsh-topline{display:none}.vsh-school-brand{width:66px;height:66px}.vsh-school-copy h1{font-size:22px}.vsh-header-actions select,.vsh-header-actions .vsh-btn{font-size:11px;padding:9px 10px}.vsh-rolebar{overflow-x:auto;white-space:nowrap}.vsh-modal{width:96vw!important;max-height:90vh!important}}
.vsh-dashboard-focus{margin:16px 0 22px}.vsh-focus-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.vsh-focus-card{appearance:none;border:1px solid #dce6ef;border-radius:15px;background:#fff;padding:15px;text-align:left;cursor:pointer;box-shadow:0 7px 20px rgba(8,36,70,.05);color:#122c49}.vsh-focus-card:hover{border-color:#caa037;box-shadow:0 11px 28px rgba(8,36,70,.09)}.vsh-focus-card span,.vsh-focus-card strong,.vsh-focus-card small,.vsh-focus-card em{display:block}.vsh-focus-card strong{font-size:14px;margin:9px 0 5px}.vsh-focus-card small{color:#6d8196}.vsh-focus-card em{margin-top:9px;font-style:normal;color:#8b6506;font-size:11px;font-weight:800}
.vsh-school-profile-premium{display:flex;justify-content:space-between;gap:24px;padding:24px;border-radius:18px;background:linear-gradient(135deg,#071f3f,#104477);color:#fff;margin-bottom:16px;box-shadow:0 12px 30px rgba(7,31,63,.14)}.vsh-school-profile-premium h3{margin:4px 0 8px;color:#fff}.vsh-school-profile-premium p{margin:0;color:#dbe8f5;max-width:820px;line-height:1.65}.vsh-school-contact-mini{min-width:230px;padding:14px;border:1px solid rgba(255,255,255,.18);border-radius:13px;background:rgba(255,255,255,.07)}.vsh-school-contact-mini strong,.vsh-school-contact-mini span,.vsh-school-contact-mini a{display:block}.vsh-school-contact-mini span{margin-top:5px;color:#dbe8f5;font-size:12px}.vsh-school-contact-mini a{margin-top:7px;color:#f3ce68;text-decoration:none;font-weight:800}
.vsh-service-grid a.vsh-service-card{display:grid;grid-template-columns:1fr auto;text-decoration:none;color:inherit;align-items:center}.vsh-service-grid a.vsh-service-card span{grid-column:1;color:#8a6b19;font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.07em}.vsh-service-grid a.vsh-service-card strong{grid-column:1;margin-top:5px;color:#09294f}.vsh-service-grid a.vsh-service-card b{grid-column:2;grid-row:1/3;color:#0a3568;font-size:18px}.vsh-service-grid a.vsh-service-card:hover{border-color:#caa037;box-shadow:0 10px 25px rgba(8,36,70,.08)}
.vsh-route-list{display:grid;gap:10px}.vsh-route-card{padding:0;overflow:hidden}.vsh-route-card summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px}.vsh-route-card summary::-webkit-details-marker{display:none}.vsh-route-card summary strong,.vsh-route-card summary small{display:block}.vsh-route-card summary small{color:#718297;margin-top:3px}.vsh-route-body{padding:0 15px 15px;border-top:1px solid #e3ebf2}.vsh-route-body>p{margin:12px 0}.vsh-assigned-stop{padding:10px 12px;margin:10px 0;border-radius:10px;background:#edf7f1;border:1px solid #cfe7d9}.vsh-assigned-stop span,.vsh-assigned-stop strong{display:block}.vsh-assigned-stop span{font-size:10px;text-transform:uppercase;color:#5b7968}.vsh-linked-transport{margin-top:12px}.vsh-linked-transport>strong{display:block;margin-bottom:7px;color:#09294f}
.vsh-document-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.vsh-document-grid a{display:grid;grid-template-columns:1fr auto;gap:4px;text-decoration:none;border:1px solid #dce6ef;border-radius:13px;background:#fff;padding:13px;color:#112b49}.vsh-document-grid a span{grid-column:1;color:#8a6a15;font-size:9px;font-weight:900;letter-spacing:.08em}.vsh-document-grid a strong{grid-column:1}.vsh-document-grid a small{grid-column:1;color:#74869a}.vsh-document-grid a b{grid-column:2;grid-row:1/4;font-size:18px;align-self:center}.vsh-document-grid a:hover{border-color:#caa037}.vsh-reference-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.vsh-reference-grid article{padding:12px;border-radius:11px;background:rgba(255,255,255,.72);border:1px solid #eee0ad}.vsh-reference-grid article strong{display:block;margin-bottom:7px}.vsh-reference-grid article p{margin:4px 0}
.vsh-services-shell{display:grid;gap:16px}.vsh-qa-centre{padding:18px;border:1px solid #dbe5ef;border-radius:18px;background:linear-gradient(145deg,#fff,#f8fbff);margin-bottom:18px;box-shadow:0 8px 24px rgba(8,36,70,.05)}.vsh-qa-centre>small{display:block;margin-top:10px;color:#6d8195}
@media(max-width:760px){.vsh-school-profile-premium{display:block;padding:18px}.vsh-school-contact-mini{min-width:0;margin-top:15px}.vsh-focus-grid,.vsh-document-grid,.vsh-reference-grid{grid-template-columns:1fr}}
/* v0.4.0 desktop navigation refinement */
@media(min-width:821px){
  .vsh-nav-panel{max-height:calc(100vh - 16px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent}
  .vsh-nav-panel::-webkit-scrollbar{width:7px}.vsh-nav-panel::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22);border-radius:999px}.vsh-nav-panel::-webkit-scrollbar-track{background:transparent}
}
/* v0.4.1 BulkSMS live-test controls */
.vsh-sms-testbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid #dce5ef}.vsh-sms-testbar small{color:#687a8d;line-height:1.45;max-width:560px}.vsh-sms-testbar .vsh-btn[disabled]{opacity:.55;cursor:not-allowed}
@media(max-width:680px){.vsh-sms-testbar{align-items:stretch;flex-direction:column}.vsh-sms-testbar .vsh-btn{width:100%}}


/* v0.5.0 partner-readiness polish: calm premium palette, reliable navigation and search */
.vsh-important-card.urgent{border-left-color:#b66a18!important;background:#fffaf2!important}
.vsh-badge.danger,.vsh-toast.error{background:#fff0e3!important;color:#8d351f!important;border-color:#eac2ad!important}
.vsh-exemption-banner,.vsh-finance-alert{background:linear-gradient(135deg,#fffaf0,#fffdf8)!important}
.vsh-nav-panel{width:236px;padding:20px 12px;background:linear-gradient(180deg,#061b36 0%,#08294f 55%,#071f3f 100%);box-shadow:10px 0 30px rgba(5,25,50,.06)}
.vsh-nav-heading{padding:4px 10px 16px;margin-bottom:10px}.vsh-nav-heading span{display:block;color:#9fb0c5;font-size:11px;margin-top:5px}
.vsh-side-nav{display:grid;gap:4px}.vsh-side-link{text-decoration:none!important;display:grid!important;grid-template-columns:30px 1fr 14px;align-items:center;gap:8px;width:100%;padding:9px 10px;border:1px solid transparent;border-radius:11px;color:#dfe9f5;background:transparent;transition:.16s;font-size:13px;font-weight:650}
.vsh-side-link:hover{background:rgba(255,255,255,.07);color:#fff;border-color:rgba(255,255,255,.08)}.vsh-side-link.active{background:#fff;color:#0a315f;border-color:#fff;box-shadow:0 8px 18px rgba(1,13,30,.17)}.vsh-side-link.active .vsh-side-icon{background:#f6e9bd;color:#79580b}.vsh-side-link b{opacity:.75;text-align:right}.vsh-side-icon{width:28px;height:28px;border-radius:9px;background:rgba(255,255,255,.09);display:grid;place-items:center;color:#e5be52}
.vsh-commandbar{position:relative;z-index:32;margin:0 0 18px}.vsh-command-search{height:48px;border:1px solid #d8e3ed;background:#fff;border-radius:14px;display:flex;align-items:center;gap:10px;padding:0 15px;box-shadow:0 8px 22px rgba(7,31,63,.05)}.vsh-command-search>span{font-size:19px;color:#9b7621}.vsh-command-search input{border:0!important;box-shadow:none!important;outline:0!important;min-width:0;width:100%;height:42px;background:transparent!important;font-size:14px;color:#0b294c}.vsh-command-results{display:none;position:absolute;top:54px;left:0;right:0;max-height:430px;overflow:auto;background:#fff;border:1px solid #d8e3ed;border-radius:15px;padding:8px;box-shadow:0 18px 44px rgba(5,28,54,.18)}.vsh-command-results.open{display:grid;gap:5px}.vsh-command-result{border:0;background:#fff;border-radius:10px;padding:10px 12px;display:grid;grid-template-columns:100px 1fr 1.4fr 16px;gap:10px;text-align:left;align-items:center;cursor:pointer}.vsh-command-result:hover{background:#f4f8fc}.vsh-command-result>span{font-size:9px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:#967118}.vsh-command-result strong{color:#082c56}.vsh-command-result small{color:#6a7f94}.vsh-command-result b{color:#b58b2d}.vsh-command-empty{padding:16px;color:#6f8194}
.vsh-searchable-select{min-width:0}.vsh-searchable-select label{display:block}.vsh-searchable-select .vsh-search{margin:5px 0 6px}.vsh-searchable-select select{width:100%}
.vsh-info-chip{appearance:none;border:1px solid #dce5ee;background:#f5f8fb;color:#405a73;border-radius:999px;padding:6px 10px;font-size:11px;cursor:pointer;transition:.15s}.vsh-info-chip:hover{border-color:#c8a54b;background:#fff9e9;color:#72540d;transform:translateY(-1px)}
.vsh-reference-panel .vsh-reason-chips{display:flex;flex-wrap:wrap;gap:7px}
.vsh-workspace{grid-template-columns:236px minmax(0,1fr)}
.vsh-main{min-width:0}.vsh-section-toolbar{margin-bottom:16px}.vsh-section-toolbar h2{font-size:28px;letter-spacing:-.02em}.vsh-section-toolbar p{max-width:900px}
.vsh-premium-form input,.vsh-premium-form select,.vsh-premium-form textarea,.vsh-compact-form input,.vsh-compact-form select,.vsh-compact-form textarea{border-color:#cfdae6;border-radius:11px;min-height:42px}.vsh-premium-form textarea,.vsh-compact-form textarea{min-height:88px}
@media(max-width:820px){.vsh-workspace{display:block}.vsh-nav-panel{width:auto;max-height:none;min-height:auto;padding:8px 10px}.vsh-side-nav{display:flex;gap:7px;overflow-x:auto}.vsh-side-link{width:auto!important;min-width:max-content!important;grid-template-columns:26px 1fr!important;padding:8px 10px!important}.vsh-side-link b{display:none}.vsh-command-result{grid-template-columns:80px 1fr 14px}.vsh-command-result small{display:none}}

.vsh-channel-card input[type="checkbox"]{width:20px!important;height:20px!important;min-height:0!important;max-width:20px!important;accent-color:#0a3b70}.vsh-form-grid.three{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important}.vsh-form-grid.four{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important}.vsh-language-panels,.vsh-language-capture{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important}.vsh-side-nav::-webkit-scrollbar{width:5px;height:5px}.vsh-side-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:999px}
/* v0.5.0 searchable control clarity */
.vsh-searchable-select .vsh-select-filter{margin:7px 0 0}.vsh-searchable-select .vsh-select-filter input{min-height:36px!important;height:36px!important;font-size:12px!important;background:#f8fbfe!important}.vsh-searchable-select select{background-color:#fff!important}


/* v0.6.0 Unified Demo Foundation — Vantex Digital final-demo shell */
.vsh-demo-root{--vsh-cyan:#16c7ff;--vsh-cyan-soft:#7fe6ff;--vsh-night:#020711;--vsh-navy:#06152b;--vsh-silver:#e8eef5}
.vsh-login-shell{background:radial-gradient(circle at 55% 18%,rgba(0,120,255,.25),transparent 36%),linear-gradient(145deg,#01040b,#06152b 58%,#020711);min-height:100vh}
.vsh-login-card.vsh-auth-premium{border:1px solid rgba(22,199,255,.32);box-shadow:0 30px 80px rgba(0,0,0,.48),0 0 36px rgba(22,199,255,.08)}
.vsh-login-brand{background:linear-gradient(135deg,#020711,#071c3a);border-bottom:1px solid rgba(22,199,255,.22)}
.vsh-login-brand span,.vsh-eyebrow{color:#11bff7!important}.vsh-login-logo{background:#020711;border:1px solid rgba(22,199,255,.24);border-radius:14px}
.vsh-topline{background:#020711;color:#e8eef5;border-bottom:1px solid rgba(22,199,255,.26)}.vsh-topline strong{color:#7fe6ff}.vsh-header{background:linear-gradient(125deg,#041022,#071d39);color:#fff;border-bottom:1px solid rgba(22,199,255,.28);box-shadow:0 10px 30px rgba(0,0,0,.16)}
.vsh-school-brand{background:#020711;border:1px solid rgba(22,199,255,.28);border-radius:14px;object-fit:contain}.vsh-school-copy h1,.vsh-school-copy p,.vsh-school-copy small{color:#fff}.vsh-demo-chip{background:rgba(22,199,255,.13)!important;color:#7fe6ff!important;border-color:rgba(22,199,255,.35)!important}
.vsh-btn-primary{background:linear-gradient(135deg,#087db5,#12c8ff)!important;border-color:#16c7ff!important;color:#00101a!important}.vsh-btn-primary:hover{filter:brightness(1.04)}
.vsh-platform-context{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:10px 24px;background:#061224;color:#dbe9f7;border-bottom:1px solid rgba(22,199,255,.2);font-size:12px}.vsh-platform-context>span{font-size:9px;letter-spacing:.13em;color:#17c8ff;font-weight:800}.vsh-platform-context strong{font-weight:700}.vsh-platform-context strong b{color:#16c7ff;padding:0 5px}.vsh-platform-context small{margin-left:auto;color:#8ca9c3}
.vsh-demo-org-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.vsh-demo-org-card{border:1px solid #dce5ef;border-radius:14px;padding:14px;background:#f8fbfe;display:flex;flex-direction:column;gap:4px}.vsh-demo-org-card span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#6a7b8d}.vsh-demo-org-card.is-active{border-color:#16c7ff;box-shadow:inset 0 0 0 1px rgba(22,199,255,.15)}.vsh-demo-org-card.is-active span{color:#087eaf;font-weight:800}
.vsh-service-card.is-static,.vsh-document-static{cursor:default;text-decoration:none}.vsh-service-card.is-static b,.vsh-document-static b{font-size:9px;letter-spacing:.08em;color:#0b85b4;background:#e8f9ff;border-radius:999px;padding:5px 7px}.vsh-document-static{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:12px;border:1px solid #dce5ef;border-radius:12px;background:#fff}.vsh-document-static strong{grid-column:2}.vsh-document-static small{grid-column:2;color:#6a7b8d}
@media(max-width:760px){.vsh-platform-context{padding:9px 14px}.vsh-platform-context small{width:100%;margin-left:0}.vsh-demo-org-grid{grid-template-columns:1fr}.vsh-header{padding-top:14px}.vsh-school-brand{width:60px;height:60px}}
.vsh-login-banner-wrap{background:#020711;padding:0;border-bottom:1px solid rgba(22,199,255,.2);overflow:hidden}.vsh-login-banner{display:block;width:100%;max-height:170px;object-fit:cover;object-position:center}.vsh-login-brand{padding-top:18px}.vsh-login-card.vsh-auth-premium{overflow:hidden}
@media(max-width:680px){.vsh-login-banner{max-height:118px}.vsh-login-brand{padding-top:14px}}

/* v0.6.1 — Foundations 01–25 coverage, product planes and command/control preview */
.vsh-coverage-stats{margin-bottom:18px}
.vsh-blueprint-note,.vsh-demo-shell-banner{border:1px solid rgba(83,196,255,.24);background:linear-gradient(135deg,rgba(8,29,51,.96),rgba(12,45,70,.82));border-radius:18px;padding:18px 20px;margin:0 0 22px;box-shadow:0 16px 40px rgba(0,0,0,.16)}
.vsh-blueprint-note strong,.vsh-demo-shell-banner span{color:#69d9ff}.vsh-demo-shell-banner span{display:block;font-size:11px;letter-spacing:.18em;font-weight:800;margin-bottom:5px}.vsh-demo-shell-banner strong{display:block;font-size:22px;color:#fff;margin-bottom:6px}.vsh-demo-shell-banner p{margin:0;color:#c4d8e6;line-height:1.55}
.vsh-blueprint-pillar{margin:24px 0 30px}.vsh-blueprint-pillar>.vsh-section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:12px}.vsh-blueprint-pillar>.vsh-section-heading h3{margin:2px 0 0}.vsh-blueprint-pillar>.vsh-section-heading>span{font-size:12px;color:#7f98aa}
.vsh-blueprint-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.vsh-blueprint-card{border:1px solid rgba(130,164,184,.19);background:linear-gradient(180deg,rgba(8,26,43,.98),rgba(8,21,35,.94));border-radius:18px;padding:17px;min-width:0}.vsh-blueprint-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.vsh-foundation-no{display:inline-grid;place-items:center;min-width:48px;height:30px;border-radius:10px;background:rgba(0,183,255,.12);border:1px solid rgba(76,205,255,.25);font-size:12px;font-weight:900;letter-spacing:.08em;color:#69d9ff}.vsh-blueprint-card h4{margin:13px 0 8px;font-size:16px;color:#f6fbff;line-height:1.35}.vsh-mode-chip{display:inline-block;font-size:10px;letter-spacing:.08em;font-weight:800;color:#a9c3d3;background:rgba(255,255,255,.05);padding:5px 8px;border-radius:999px;margin-bottom:10px}.vsh-blueprint-card dl{margin:0}.vsh-blueprint-card dt{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:#6ccfee;font-weight:800;margin-top:10px}.vsh-blueprint-card dd{margin:4px 0 0;color:#bfd0dc;font-size:12px;line-height:1.5}
.vsh-product-plane-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:24px}.vsh-product-plane{border:1px solid rgba(82,197,255,.22);background:linear-gradient(145deg,rgba(7,28,49,.98),rgba(11,53,80,.78));border-radius:20px;padding:20px;min-height:190px}.vsh-product-plane>span{display:inline-block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:#67d7ff}.vsh-product-plane h3{margin:13px 0 8px;color:#fff;font-size:22px}.vsh-product-plane p{color:#bdd0dc;line-height:1.55;font-size:13px}.vsh-product-plane small{display:block;margin-top:15px;color:#829bab}
.vsh-workspace-directory{margin:24px 0}.vsh-workspace-directory>.vsh-section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.vsh-workspace-directory>.vsh-section-heading>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(62,197,255,.1);color:#69d9ff;font-size:12px;font-weight:800}.vsh-workspace-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.vsh-workspace-card{border:1px solid rgba(129,160,180,.18);background:rgba(8,23,38,.88);border-radius:16px;padding:15px}.vsh-workspace-card>div{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.vsh-workspace-card strong{font-size:14px;color:#f7fbfe}.vsh-workspace-card p{font-size:12px;line-height:1.5;color:#a9bdc9;margin:9px 0 0}
.vsh-control-facts{display:grid;gap:10px}.vsh-control-facts>div{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.07)}.vsh-control-facts>div:last-child{border-bottom:0}.vsh-control-facts span{color:#8fa7b6;font-size:12px}.vsh-control-facts strong{color:#eff8fd;font-size:12px;text-align:right}
.vsh-command-path{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:-8px 0 18px;padding:12px 14px;border-radius:14px;background:rgba(3,17,30,.7);border:1px solid rgba(100,180,220,.13);font-size:12px;color:#b7cad6}.vsh-command-path b{color:#43c8fb}.vsh-command-exception{display:grid;grid-template-columns:46px 1fr;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.07)}.vsh-command-exception:last-child{border-bottom:0}.vsh-command-exception strong{display:grid;place-items:center;height:38px;border-radius:12px;background:rgba(255,180,60,.10);border:1px solid rgba(255,184,65,.18);color:#ffd08a}.vsh-command-exception span{color:#c6d5de;font-size:13px}.vsh-command-rule strong{color:#fff}.vsh-command-rule p{color:#b5c8d4;line-height:1.6}
@media(max-width:1050px){.vsh-blueprint-grid,.vsh-product-plane-grid,.vsh-workspace-card-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.vsh-blueprint-grid,.vsh-product-plane-grid,.vsh-workspace-card-grid{grid-template-columns:1fr}.vsh-blueprint-card{padding:14px}.vsh-product-plane{min-height:0}.vsh-command-path{align-items:flex-start}.vsh-demo-shell-banner strong{font-size:19px}}


/* v0.6.2 — Core Identity, Family Authority, Enrolment History & shared Work Engine */
.vsh-core-identity{margin:0 0 24px}.vsh-org-spine{display:flex;flex-direction:column;gap:8px}.vsh-spine-step{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px 12px;border:1px solid #dce6ef;border-radius:12px;background:#f8fbfe}.vsh-spine-step span,.vsh-spine-step small{color:var(--muted);font-size:11px}.vsh-spine-step b{color:#12aee8;text-align:center}.vsh-spine-step strong{color:var(--navy);font-size:12px}
.vsh-authority-list{display:flex;flex-direction:column;gap:10px}.vsh-authority-row{display:grid;grid-template-columns:minmax(180px,.9fr) minmax(360px,1.8fr) minmax(220px,.8fr);gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fbfdff}.vsh-authority-person{display:flex;flex-direction:column;gap:3px}.vsh-authority-person strong{color:var(--navy)}.vsh-authority-person small{color:var(--muted)}.vsh-authority-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.vsh-authority-checks label{display:flex!important;flex-direction:row!important;align-items:center!important;gap:7px!important;padding:7px 8px;border:1px solid #dbe5ed;border-radius:9px;background:#fff;font-size:11px!important}.vsh-authority-checks input{width:auto!important;min-height:0!important}.vsh-authority-meta{display:flex;flex-direction:column;gap:7px}
.vsh-work-engine{display:flex;flex-direction:column;gap:16px}.vsh-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vsh-work-card{border:1px solid var(--line);border-radius:15px;background:#fff;padding:15px;box-shadow:0 5px 18px rgba(26,43,62,.05)}.vsh-work-card.overdue{border-left:4px solid var(--red)}.vsh-work-card-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.vsh-work-card>strong{display:block;color:var(--navy);font-size:16px}.vsh-work-card>p{color:#596979;margin:7px 0 12px;min-height:38px}.vsh-work-card dl{display:grid;grid-template-columns:90px 1fr;gap:5px 10px;margin:0}.vsh-work-card dt{font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:#8393a3}.vsh-work-card dd{margin:0;font-size:12px;color:#34495d}.vsh-work-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}
@media(max-width:1050px){.vsh-authority-row{grid-template-columns:1fr}.vsh-authority-checks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.vsh-work-grid{grid-template-columns:1fr}.vsh-authority-checks{grid-template-columns:1fr}.vsh-spine-step{grid-template-columns:1fr 18px 1fr}.vsh-spine-step small{grid-column:1/-1}}


/* v0.6.5 — final-workspace integration layer */
.vsh-capability-shell{margin:18px 0 22px;padding:20px;border:1px solid rgba(10,145,255,.22);border-radius:22px;background:linear-gradient(135deg,#031326 0%,#071d38 62%,#062848 100%);box-shadow:0 18px 40px rgba(1,18,38,.16);color:#fff;overflow:hidden;position:relative}.vsh-capability-shell:after{content:"";position:absolute;right:-80px;top:-100px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(0,188,255,.17),rgba(0,188,255,0) 67%);pointer-events:none}.vsh-capability-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:16px;position:relative;z-index:1}.vsh-capability-head h3{margin:3px 0 5px;color:#fff;font-size:22px}.vsh-capability-head p{margin:0;max-width:760px;color:#abc4dc;line-height:1.55}.vsh-capability-head .vsh-eyebrow{color:#24c9ff}.vsh-capability-count{white-space:nowrap;padding:8px 12px;border-radius:999px;background:rgba(30,196,255,.1);border:1px solid rgba(57,204,255,.28);color:#d9f6ff;font-size:12px;font-weight:700}.vsh-capability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;position:relative;z-index:1}.vsh-capability-card{min-height:92px;border-radius:15px;padding:14px 15px;border:1px solid rgba(155,198,235,.15);background:rgba(255,255,255,.055);color:#fff;text-align:left;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:start}.vsh-capability-card div{display:flex;flex-direction:column;gap:5px;min-width:0}.vsh-capability-card strong{font-size:14px;color:#fff}.vsh-capability-card small{color:#9eb7d0;line-height:1.35}.vsh-capability-card>span:last-child{align-self:center;color:#46cbff;font-size:24px}.vsh-capability-card.is-linked{cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.vsh-capability-card.is-linked:hover{transform:translateY(-2px);border-color:rgba(48,199,255,.5);background:rgba(23,157,218,.12)}.vsh-capability-card.is-planned{opacity:.72}.vsh-action-tile{text-decoration:none}
@media(max-width:1000px){.vsh-capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.vsh-capability-head{display:block}.vsh-capability-count{display:inline-flex;margin-top:10px}.vsh-capability-grid{grid-template-columns:1fr}.vsh-capability-shell{padding:16px;border-radius:18px}}

/* v0.6.6 live action / QA visibility */
.vsh-live-build,.vsh-build-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(44,202,255,.5);background:rgba(0,174,239,.12);color:#8ce8ff;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:900;letter-spacing:.08em;white-space:nowrap}
.vsh-build-chip{margin-left:10px;color:#0a5c88;background:#e9f8ff;border-color:#b8e9ff;vertical-align:middle}
.vsh-topline{gap:10px;flex-wrap:wrap}
.vsh-topline .vsh-live-build{margin-left:auto}
.vsh-privacy-ready-note{margin-top:12px;padding:11px 13px;border-radius:12px;background:#fff4db;border:1px solid #f2d18b;color:#7a5610;font-weight:750;font-size:12px}
.vsh-privacy-ready-note.is-ready{background:#eaf9ef;border-color:#b5dfc2;color:#145b2d}
.vsh-privacy-actions button[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none!important}
.vsh-action-tile[data-role="open-early-collection"]{outline:2px solid rgba(0,183,255,.12);outline-offset:2px}
@media(max-width:720px){.vsh-topline .vsh-live-build{margin-left:0}.vsh-build-chip{display:flex;margin:8px 0 0;width:max-content}}
.vsh-demo-role-strip{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.vsh-demo-role-strip span{padding:6px 9px;border-radius:999px;background:#edf8ff;border:1px solid #c9ecff;color:#075984;font-size:10px;font-weight:850;letter-spacing:.03em}


/* v0.7.0 — Communications, reports, chat, privacy, work & tuck-shop integration */
.vsh-unified-composer{display:block;margin:0 0 24px}.vsh-unified-composer>.vsh-section-heading{align-items:flex-start}.vsh-language-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}.vsh-language-panels>section{border:1px solid var(--line);border-radius:16px;background:#fbfdff;padding:16px}.vsh-language-panels>section[hidden]{display:none}.vsh-lang-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.vsh-lang-head h4{margin:0;color:var(--navy)}.vsh-translation-note,.vsh-sms-rules-note{margin:10px 0 14px;padding:11px 13px;border:1px solid #cceaf7;border-radius:12px;background:#f1fbff;color:#31546a;font-size:12px;line-height:1.5}.vsh-channel-picker{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:14px 0}.vsh-channel-picker legend{padding:0 7px;color:var(--navy);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.vsh-channel-picker label{display:flex!important;align-items:center!important;flex-direction:row!important;gap:7px!important;border:1px solid #dce7ef;border-radius:999px;padding:8px 11px;background:#fff;font-size:12px!important;color:#244157!important}.vsh-channel-picker input{width:auto!important;min-height:0!important}.vsh-communication-estimate{display:inline-flex;align-items:baseline;gap:8px;margin:8px 0 4px;padding:7px 10px;border-radius:999px;background:#eef9ff;color:#3b6176}.vsh-communication-estimate strong{font-size:18px;color:#0787c4}.vsh-recipient-picker{border:1px solid var(--line);border-radius:15px;background:#fbfdff;padding:12px;margin:12px 0}.vsh-recipient-list{max-height:250px;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.vsh-recipient-list label{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:9px!important;border:1px solid #dbe7ef;border-radius:11px;background:#fff;padding:10px!important;font-size:12px!important}.vsh-recipient-list input{width:auto!important;min-height:0!important;margin-top:3px}.vsh-recipient-list span{display:flex;flex-direction:column;gap:3px;min-width:0}.vsh-recipient-list strong{color:var(--navy)}.vsh-recipient-list small{color:var(--muted);overflow-wrap:anywhere}.vsh-sms-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.vsh-sms-preview>div{border:1px solid #dbe8f0;border-radius:13px;background:#f8fbfe;padding:12px;display:flex;flex-direction:column;gap:3px}.vsh-sms-preview strong{font-size:24px;color:var(--navy)}.vsh-sms-preview strong.is-over{color:#b42318}.vsh-sms-preview span{font-size:11px;color:var(--muted)}
.vsh-sms-wallet{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center;border:1px solid #a9dff5;background:linear-gradient(135deg,#eaf9ff,#f8fdff);border-radius:16px;padding:14px 16px;margin:10px 0 16px}.vsh-sms-wallet>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.vsh-sms-wallet>div:first-child{display:grid;grid-template-columns:auto 1fr;column-gap:12px}.vsh-sms-wallet span{font-size:10px;font-weight:900;letter-spacing:.09em;color:#1486b6}.vsh-sms-wallet strong{grid-row:1/3;font-size:34px;color:#062e52}.vsh-sms-wallet small{font-size:11px;color:#557084}.vsh-sms-wallet.is-low{border-color:#efb0ac;background:linear-gradient(135deg,#fff1ef,#fffafa)}.vsh-sms-wallet.is-low strong{color:#9f1f17}.vsh-sms-ledger{margin-top:14px}.vsh-sms-ledger .vsh-section-heading small{max-width:440px;color:var(--muted)}
.vsh-controlled-delivery{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid #f1d99f;border-radius:13px;background:#fff9eb;padding:12px 14px;margin:13px 0}.vsh-controlled-delivery small{max-width:550px;color:#6f5b2a}.vsh-error-boundary{border:1px solid #efb0ac;border-left:5px solid #c73228;border-radius:16px;background:#fff8f7;padding:22px;margin:20px}.vsh-error-boundary strong{display:block;color:#8f2018;font-size:18px}.vsh-error-boundary p{color:#71413d}
.vsh-chat-layout{display:grid;grid-template-columns:minmax(240px,.33fr) minmax(0,1fr);gap:14px}.vsh-chat-side,.vsh-chat-main{border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px}.vsh-chat-side h4{margin:18px 0 8px;color:var(--navy)}.vsh-presence-row{display:flex;align-items:center;gap:9px;padding:8px 4px;border-bottom:1px solid #eef3f6}.vsh-presence-row>div{display:flex;flex-direction:column}.vsh-presence-row strong{font-size:12px;color:var(--navy)}.vsh-presence-row small{font-size:10px;color:var(--muted)}.vsh-presence-dot{width:10px;height:10px;border-radius:50%;background:#8796a4;box-shadow:0 0 0 3px #edf1f4}.vsh-presence-dot.p-available{background:#20a464}.vsh-presence-dot.p-busy,.vsh-presence-dot.p-do-not-disturb{background:#d92d20}.vsh-presence-dot.p-in-meeting{background:#1c8dcc}.vsh-presence-dot.p-away{background:#e6a700}.vsh-chat-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.vsh-chat-head select{max-width:300px}.vsh-chat-messages{min-height:330px;max-height:480px;overflow:auto;background:#f7fafc;border:1px solid #e1eaf0;border-radius:14px;padding:12px}.vsh-chat-message{max-width:78%;margin:0 0 10px;border-radius:14px;background:#fff;border:1px solid #dbe6ee;padding:10px 12px}.vsh-chat-message.mine{margin-left:auto;background:#e8f8ff;border-color:#b7e7fa}.vsh-chat-message>div{display:flex;justify-content:space-between;gap:12px}.vsh-chat-message strong{font-size:11px;color:var(--navy)}.vsh-chat-message time{font-size:9px;color:var(--muted)}.vsh-chat-message p{margin:5px 0 0;color:#32495d;white-space:pre-wrap}.vsh-chat-compose{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}.vsh-chat-compose textarea,.vsh-chat-compose input[type=file]{grid-column:1/-1}.vsh-chat-compose button{grid-column:2}
.vsh-product-category{margin:12px 0 20px}.vsh-product-category>h3,.vsh-product-category>h4{margin:0 0 9px;color:var(--navy)}.vsh-product-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.vsh-product-card-grid.operator{grid-template-columns:repeat(5,minmax(0,1fr))}.vsh-product-card{display:grid!important;grid-template-columns:76px 1fr auto;gap:10px;align-items:center;border:1px solid #dce7ef;border-radius:13px;background:#fff;padding:9px!important;text-transform:none!important;color:inherit!important}.vsh-product-card.operator,.vsh-product-card-grid.operator .vsh-product-card{grid-template-columns:64px 1fr}.vsh-product-card img{width:76px;height:68px;object-fit:cover;border-radius:9px;background:#eef5f8}.vsh-product-card-grid.operator .vsh-product-card img{width:64px;height:58px}.vsh-product-card>span,.vsh-product-card>div{display:flex;flex-direction:column;gap:3px}.vsh-product-card strong{font-size:12px;color:var(--navy)}.vsh-product-card small{font-size:10px;color:var(--muted)}.vsh-product-card input{width:62px!important;min-height:36px!important}.vsh-product-card.is-out-of-stock{opacity:.58;background:#f4f6f8;border-style:dashed}.vsh-product-card.is-out-of-stock img{filter:grayscale(.45)}.vsh-product-card.is-out-of-stock em{font-style:normal;font-size:10px;font-weight:800;color:#b42318;text-transform:uppercase;letter-spacing:.04em}.vsh-product-card.is-out-of-stock input{cursor:not-allowed;background:#eef1f4}.vsh-tuck-grid{display:grid;gap:16px}.vsh-tuck-account{border:1px solid var(--line);border-radius:18px;background:#fff;padding:16px}.vsh-tuck-balance{display:flex;align-items:center;justify-content:space-between;border-radius:13px;background:#062c4f;color:#fff;padding:13px 15px;margin-bottom:12px}.vsh-tuck-balance span{display:flex;flex-direction:column}.vsh-tuck-balance strong{font-size:24px}
.vsh-audit-tools{display:grid;grid-template-columns:minmax(230px,1fr) 180px 180px auto;gap:8px;align-items:center}.vsh-audit-group{border:1px solid var(--line);border-radius:13px;background:#fff;margin:8px 0;overflow:hidden}.vsh-audit-group summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#f8fbfd;color:var(--navy)}.vsh-audit-group summary span{font-size:11px;color:var(--muted)}.vsh-audit-group .vsh-table-wrap{border:0;border-radius:0}
.vsh-report-sharebar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;border-radius:12px;background:#f6fbfe;border:1px solid #dcebf3;margin:12px 0}.vsh-report-recipient-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:280px;overflow:auto}.vsh-report-recipient-list label{display:flex!important;flex-direction:row!important;gap:8px!important;border:1px solid var(--line);border-radius:10px;padding:9px!important;background:#fff}.vsh-report-recipient-list input{width:auto!important;min-height:0!important}.vsh-ack-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.vsh-ack-grid article{display:flex;flex-direction:column;gap:3px;border:1px solid #dce6ef;border-radius:11px;background:#fbfdff;padding:10px}.vsh-ack-grid strong{color:var(--navy)}.vsh-ack-grid span,.vsh-ack-grid small{font-size:10px;color:var(--muted)}.vsh-inline-import{display:flex;gap:10px;align-items:flex-end;margin-top:12px}.vsh-import-highlight{border:1px solid #a9dff5;background:#f2fbff;border-radius:14px;padding:14px}.vsh-work-card .vsh-attachment-list{margin-top:10px}.vsh-work-card dl{margin-top:10px}.vsh-form-note.vsh-warning-note[hidden]{display:none}.vsh-form-note.vsh-warning-note{border-color:#f0d18c;background:#fff8e7;color:#6e5518}
@media(max-width:1150px){.vsh-product-card-grid.operator{grid-template-columns:repeat(3,minmax(0,1fr))}.vsh-product-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vsh-audit-tools{grid-template-columns:1fr 1fr}.vsh-ack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.vsh-language-panels,.vsh-chat-layout{grid-template-columns:1fr}.vsh-product-card-grid,.vsh-product-card-grid.operator{grid-template-columns:repeat(2,minmax(0,1fr))}.vsh-recipient-list,.vsh-report-recipient-list{grid-template-columns:1fr}.vsh-sms-wallet{grid-template-columns:1fr}.vsh-chat-messages{min-height:240px}.vsh-audit-tools{grid-template-columns:1fr}}
@media(max-width:560px){.vsh-product-card-grid,.vsh-product-card-grid.operator{grid-template-columns:1fr}.vsh-sms-preview{grid-template-columns:1fr}.vsh-channel-picker{align-items:stretch}.vsh-channel-picker label{width:100%}.vsh-controlled-delivery{display:block}.vsh-controlled-delivery small{display:block;margin-top:8px}.vsh-ack-grid{grid-template-columns:1fr}.vsh-product-card{grid-template-columns:62px 1fr auto}.vsh-product-card img{width:62px;height:56px}}


/* v0.7.1 UX/action integrity pass — Vantex palette only */
.vsh-capability-shell.compact{padding:15px 16px;border-radius:17px;margin:14px 0 18px;box-shadow:0 10px 26px rgba(1,18,38,.12)}
.vsh-capability-shell.compact .vsh-capability-head{margin-bottom:11px}.vsh-capability-shell.compact .vsh-capability-head h3{font-size:18px}.vsh-capability-shell.compact .vsh-capability-head p{font-size:12px;max-width:700px}
.vsh-capability-shell.compact .vsh-capability-grid{grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:8px}.vsh-capability-shell.compact .vsh-capability-card{min-height:74px;padding:11px 12px;border-radius:12px}.vsh-capability-card.is-current{background:rgba(44,201,255,.13);border-color:rgba(64,210,255,.42);box-shadow:inset 3px 0 0 #22c8ff}.vsh-capability-card.is-current strong{color:#fff}.vsh-capability-card.is-current small{color:#c7dded}.vsh-planned-strip{margin-top:10px;border-top:1px solid rgba(155,198,235,.14);padding-top:8px}.vsh-planned-strip summary{cursor:pointer;color:#c8d9e8;font-size:11px;font-weight:800}.vsh-planned-strip summary span{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:999px;background:#163754;color:#fff;margin-left:5px}.vsh-planned-strip>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:7px;margin-top:9px}.vsh-planned-strip article{border:1px solid rgba(155,198,235,.12);background:rgba(255,255,255,.035);border-radius:10px;padding:9px}.vsh-planned-strip strong{display:block;color:#dce9f4;font-size:11px}.vsh-planned-strip small{color:#90aabe;font-size:10px}

/* white-card readable Vantex Control / Command */
.vsh-control-facts>div{border-bottom-color:#e7eef4}.vsh-control-facts span{color:#60758b}.vsh-control-facts strong{color:#092e59}.vsh-command-exception{border-bottom-color:#e7eef4}.vsh-command-exception span{color:#29445f}.vsh-command-exception strong{background:#fff5df;border-color:#f1d79b;color:#895f00}.vsh-command-rule strong{color:#092e59}.vsh-command-rule p{color:#5f7285}

/* No decorative pink/purple: reserved Vantex navy/cyan/gold/green/amber; red only for errors */
.vsh-presence-dot.p-in-meeting{background:#1c8dcc}.vsh-badge.danger{background:#fff1eb;color:#923b22}.vsh-badge.warning{background:#fff5dc;color:#805900}
.vsh-profile-hero .vsh-badge.navy,.vsh-report-document-head .vsh-badge.navy{background:#f4fbff;color:#06345e;border:1px solid #bfe9f7}

/* Tuck shop: one learner account per row and usable product cards */
.vsh-tuck-grid{grid-template-columns:1fr!important;max-width:1180px;margin-inline:auto}.vsh-tuck-account{overflow:hidden}.vsh-tuck-order-form{min-width:0}.vsh-product-card-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important}.vsh-product-card-grid.operator{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important}.vsh-product-card{grid-template-columns:82px minmax(0,1fr) 66px!important;min-height:96px}.vsh-product-card img{width:82px;height:74px}.vsh-product-card strong{font-size:13px;line-height:1.25}.vsh-product-card small{font-size:11px;line-height:1.35}.vsh-product-card input{width:62px!important}.vsh-product-card-grid.operator .vsh-product-card{grid-template-columns:76px minmax(0,1fr)!important}.vsh-product-card-grid.operator .vsh-product-card img{width:76px;height:68px}

/* service cards: stop category/name concatenation */
.vsh-service-grid .vsh-service-card{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;row-gap:5px!important;align-items:center!important}.vsh-service-grid .vsh-service-card span{display:block!important;grid-column:1!important;color:#8a6b19!important;font-size:10px!important;text-transform:uppercase;font-weight:800;letter-spacing:.07em}.vsh-service-grid .vsh-service-card strong{display:block!important;grid-column:1!important;margin:0!important;color:#09294f!important;line-height:1.35}.vsh-service-grid .vsh-service-card b{grid-column:2!important;grid-row:1/3!important}

/* work flow depth */
.vsh-work-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.vsh-work-context{display:flex;flex-direction:column;gap:5px;background:#f5f9fc;border:1px solid #dce8f1;border-radius:13px;padding:12px}.vsh-work-context>span{display:flex;gap:5px}.vsh-work-context strong{color:#092e59}.vsh-work-context small{color:#60758b}.vsh-work-last-activity{display:grid;grid-template-columns:auto 1fr;gap:4px 9px;border-left:3px solid #1ab9e7;background:#f2fbff;padding:8px 10px;border-radius:7px;margin-top:9px}.vsh-work-last-activity strong{font-size:10px;color:#0b6f99;text-transform:uppercase}.vsh-work-last-activity span{font-size:11px;color:#29445f}.vsh-work-last-activity small{grid-column:2;color:#71889b;font-size:9px}

/* permissions matrix alignment */
.vsh-access-matrix th:first-child{min-width:130px}.vsh-access-matrix th:nth-child(2){min-width:200px}.vsh-access-matrix .vsh-perm-label{min-width:200px}

/* academic/admin layouts adapt instead of leaving large dead white regions */
.vsh-three-col-admin{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;align-items:start!important}.vsh-three-col-admin>form:last-child{grid-column:1/-1}.vsh-three-col-admin .vsh-language-capture{grid-template-columns:repeat(2,minmax(0,1fr))}.vsh-subject-chip-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important}.vsh-admin-section-body>.vsh-two-col{align-items:start}

/* report header contrast */
.vsh-report-document-head .vsh-badge{opacity:1!important}.vsh-report-document-head .vsh-badge.navy{background:#fff!important;color:#07345f!important;border:1px solid #b8deef!important}

/* Email/share modal */
#vsh-record-email-list{max-height:320px}.vsh-recipient-list label:hover{border-color:#9ddcf2;background:#f5fcff}

@media(max-width:900px){.vsh-three-col-admin{grid-template-columns:1fr!important}.vsh-three-col-admin>form:last-child{grid-column:auto}.vsh-product-card-grid,.vsh-product-card-grid.operator{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important}}
@media(max-width:560px){.vsh-product-card{grid-template-columns:68px minmax(0,1fr) 54px!important}.vsh-product-card img{width:68px;height:62px}.vsh-product-card-grid,.vsh-product-card-grid.operator{grid-template-columns:1fr!important}}
.vsh-school-structure-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.vsh-school-structure-layout>.is-wide{grid-column:1/-1}.vsh-link-button{appearance:none;border:0;background:transparent;color:#0b6fa7;font:inherit;font-weight:800;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.vsh-link-button:hover{color:#063a64}
@media(max-width:850px){.vsh-school-structure-layout{grid-template-columns:1fr}.vsh-school-structure-layout>.is-wide{grid-column:auto}}
