/* =============================================================================
   Versity Admission — layout & responsive layer (v1.2)
   Loaded after theme.css and app.css. Breakpoints:
   1280 · 1200 (nav collapses) · 1024 (tablet) · 768 · 640 (phone) · 400
   ========================================================================== */

/* ---------- Global safety ---------- */
html{-webkit-text-size-adjust:100%}
body{overflow-x:hidden}
img,svg,video{max-width:100%;height:auto}
.container{width:100%;max-width:1280px;margin-inline:auto}
table{max-width:100%}
.vs-center{text-align:center}
.vs-mt{margin-top:24px}
.vs-mb{margin-bottom:18px}
.btn-block{width:100%;justify-content:center}
.btn{white-space:nowrap}
.btn-glass{background:rgba(255,255,255,.14);color:#fff;border:1.5px solid rgba(255,255,255,.32);backdrop-filter:blur(10px)}
.btn-glass:hover{background:rgba(255,255,255,.24);color:#fff}
h1,h2,h3,h4{overflow-wrap:anywhere}

/* ---------- Flags ---------- */
.vs-flag{display:inline-block;vertical-align:middle;border-radius:3px;box-shadow:0 0 0 1px rgba(15,23,42,.08);object-fit:cover;overflow:hidden;font-size:0;color:transparent;background:var(--surface-3);flex-shrink:0}
.vs-flag-card{width:64px;height:auto;border-radius:6px;box-shadow:0 8px 20px rgba(0,0,0,.25)}
.vs-flag-big{width:160px;height:auto;border-radius:12px;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.vs-flag-globe{color:var(--muted-2)}
.c-flag,.s-flag{font-size:0;line-height:0}
.country-big-flag,.sch-flag-big{font-size:0;line-height:0}

/* =============================================================================
   HEADER
   ========================================================================== */
.header .container{gap:18px;flex-wrap:nowrap}
.logo{min-width:0;flex-shrink:0;max-width:260px}
.logo img{max-height:46px;width:auto}
.logo-txt{min-width:0}
.logo-txt b,.logo-txt span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:190px}
.nav-main{flex-wrap:nowrap;min-width:0}
.nav-main > a,.vs-nav-drop-btn{white-space:nowrap}
.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}

.vs-nav-drop{position:relative}
.vs-nav-drop-btn{background:none;border:0;cursor:pointer;padding:9px 14px;font-size:14.5px;font-weight:600;color:var(--ink-2);border-radius:10px;display:inline-flex;align-items:center;gap:6px;font-family:inherit}
.vs-nav-drop-btn i{font-size:10px;opacity:.55;transition:transform .2s}
.vs-nav-drop:hover .vs-nav-drop-btn,.vs-nav-drop.open .vs-nav-drop-btn,.vs-nav-drop.active .vs-nav-drop-btn{color:var(--orange);background:var(--surface-3)}
.vs-nav-drop.open .vs-nav-drop-btn i,.vs-nav-drop:hover .vs-nav-drop-btn i{transform:rotate(180deg)}
.vs-nav-drop-menu{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,6px);min-width:210px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);padding:8px;opacity:0;visibility:hidden;transition:all .18s;z-index:120}
.vs-nav-drop-menu::before{content:'';position:absolute;top:-10px;left:0;right:0;height:10px}
.vs-nav-drop:hover .vs-nav-drop-menu,.vs-nav-drop.open .vs-nav-drop-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.vs-nav-drop-menu a{display:block;padding:10px 14px;border-radius:9px;font-size:14px;font-weight:600;color:var(--ink-2)}
.vs-nav-drop-menu a:hover{background:var(--surface-3);color:var(--orange)}

/* Mobile drawer */
.mobile-toggle{display:none;width:42px;height:42px;border-radius:12px;border:1.5px solid var(--line);background:#fff;align-items:center;justify-content:center;font-size:18px;color:var(--ink);cursor:pointer}
.vs-mobile-nav{display:none;border-top:1px solid var(--line);background:#fff;max-height:calc(100vh - 72px);overflow-y:auto}
.vs-mobile-nav.open{display:block}
.vs-mobile-nav .container{padding-top:16px;padding-bottom:22px}
.vs-mnav-search{position:relative;margin-bottom:10px}
.vs-mnav-search i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted)}
.vs-mnav-search input{width:100%;padding:12px 14px 12px 40px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface-2);font-size:15px}
.vs-mnav-links{display:flex;flex-direction:column}
.vs-mnav-links > a,.vs-mnav-group summary{display:flex;justify-content:space-between;align-items:center;padding:14px 4px;font-weight:600;font-size:15.5px;color:var(--ink-2);border-bottom:1px solid var(--line-2);cursor:pointer;list-style:none}
.vs-mnav-group summary::-webkit-details-marker{display:none}
.vs-mnav-group summary i{font-size:11px;opacity:.5;transition:transform .2s}
.vs-mnav-group[open] summary i{transform:rotate(180deg)}
.vs-mnav-group a{display:block;padding:11px 16px;font-size:14.5px;color:var(--muted);border-bottom:1px solid var(--line-2)}
.vs-mnav-links a.active{color:var(--orange)}
.vs-mnav-actions{display:flex;gap:10px;margin-top:16px}
.vs-mnav-actions .btn{flex:1;justify-content:center}

@media(max-width:1280px){
  .nav-main > a,.vs-nav-drop-btn{padding:9px 10px;font-size:14px}
}
@media(max-width:1200px){
  .nav-main{display:none!important}
  .mobile-toggle{display:inline-flex!important}
}
@media(max-width:768px){
  .vs-hide-md{display:none!important}
  .top-strip .left{display:none}
}
@media(max-width:480px){
  .vs-hide-sm{display:none!important}
  .header .container{padding:12px 16px;gap:10px}
  .logo-txt span{display:none}
  .logo-txt b{max-width:140px;font-size:17px}
  .logo-mark{width:38px;height:38px}
  .icon-btn{width:38px;height:38px}
}

/* =============================================================================
   HOME
   ========================================================================== */
.hero.has-bg{background-image:linear-gradient(135deg,rgba(255,247,237,.94),rgba(240,244,255,.9)),var(--hero-img);background-size:cover;background-position:center}
.hero-copy{min-width:0}
.hero .lead{font-size:18px;color:var(--muted-2);line-height:1.7;margin-bottom:30px;max-width:580px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:30px}
.hero-card{display:block;color:inherit;text-decoration:none}
.hero-card .hc-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:190px}
.hero-card .hc-sub{display:flex;align-items:center;gap:6px}
.hc-foot{display:flex;justify-content:space-between;margin-top:8px;font-size:11px;color:var(--muted)}
.hc-foot b{color:var(--orange)}
.hc-ok{margin-top:8px;color:var(--success);font-size:12px;font-weight:700}
.hc-pill{display:inline-flex;align-items:center;gap:5px;margin-top:10px;font-size:11px;padding:3px 9px;background:rgba(16,185,129,.1);color:var(--success);border-radius:100px;font-weight:700}

.quick-search{display:block}
.qs-btn{height:48px;align-self:end}
.section-more{text-align:center;margin-top:34px}
.eyebrow-dark{background:rgba(244,123,32,.2);color:var(--orange-2);border-color:rgba(244,123,32,.3)}

.f-card{display:block;color:inherit;text-decoration:none}
.f-link{display:inline-flex;align-items:center;gap:6px;color:var(--orange);font-weight:700;font-size:13.5px;margin-top:6px}
.f-card:hover .f-link i{transform:translateX(4px)}
.f-link i{transition:transform .2s}

.ai-card{display:block;color:inherit;text-decoration:none;position:relative;overflow:hidden}
.ai-card > *{position:relative;z-index:1}
.ai-grid-light .ai-card{background:#fff;border-color:var(--line);backdrop-filter:none}
.ai-grid-light .ai-card h4{color:var(--ink)}
.ai-grid-light .ai-card p{color:var(--muted)}
.ai-grid-light .ai-card.active{border-color:var(--orange);box-shadow:0 0 0 3px rgba(244,123,32,.15)}
.ai-grid-light .ai-card::before{display:none}

.vs-event-grid,.grid-news{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.grid-news{grid-template-columns:repeat(3,1fr)}
.vs-ad-infeed{padding-top:30px}

.testi blockquote{margin:0}
.testi figcaption{margin:0}

@media(max-width:1024px){
  .hero-visual{display:none}
  .hero-grid{grid-template-columns:1fr}
  .hero{padding:56px 0 80px}
  .qs-grid{grid-template-columns:1fr 1fr}
  .qs-btn{grid-column:1/-1;width:100%;justify-content:center}
  .grid-news{grid-template-columns:repeat(2,1fr)}
  .section{padding:64px 0}
  .stat b{font-size:40px}
  .cta-band h2{font-size:34px}
}
@media(max-width:768px){
  .vs-event-grid,.grid-news{grid-template-columns:1fr}
  .quick-search{margin-top:-30px;padding:16px;border-radius:18px}
  .section-head{margin-bottom:34px}
  .hero .lead{font-size:16px}
  .trust{gap:14px}
}
@media(max-width:640px){
  .qs-grid{grid-template-columns:1fr}
  .hero{padding:40px 0 70px}
  .hero-cta .btn{flex:1 1 100%;justify-content:center}
  .section{padding:52px 0}
  .stat b{font-size:32px}
  .cta-band{padding:56px 0}
  .cta-band h2{font-size:27px}
  .cta-buttons{flex-direction:column}
  .cta-buttons .btn{width:100%;justify-content:center}
  .section-more .btn{width:100%;justify-content:center}
}

/* =============================================================================
   DIRECTORIES / PAGE HEADS
   ========================================================================== */
.page-head-dark .eyebrow{margin-bottom:14px}
.f-bar-grid{align-items:end}
.f-bar-field{min-width:0}
.f-bar-field select,.f-bar-field input{width:100%;min-width:0}
@media(max-width:1024px){
  .page-head{padding:44px 0 32px}
  .page-head h1{font-size:34px}
}
@media(max-width:640px){
  .page-head h1{font-size:27px}
  .f-bar-grid{grid-template-columns:1fr!important}
  .f-bar-grid .btn{width:100%;justify-content:center}
}

/* ---------- Cards ---------- */
.u-card,.s-card{display:flex;flex-direction:column;min-width:0}
.u-cover,.s-cover{display:block}
.u-logo.has-img,.uni-hero-logo.has-img{padding:6px;overflow:hidden}
.u-logo.has-img img,.uni-hero-logo.has-img img,.vs-mini-logo.has-img img{width:100%;height:100%;object-fit:contain}
.u-body h4 a{color:inherit}
.u-body h4 a:hover{color:var(--orange)}
.u-loc{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--muted);margin-bottom:10px;min-width:0}
.u-loc span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.u-rating{display:flex;align-items:center;gap:6px;font-size:13px;margin-bottom:10px}
.u-rating span{color:var(--muted)}
.u-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 0;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);margin-bottom:14px}
.u-stat{text-align:center;min-width:0}
.u-stat b{display:block;font-size:14px;font-weight:800}
.u-stat span{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.u-foot{gap:10px}
.u-foot .btn{flex-shrink:0}
.s-body h4 a{color:inherit}
.s-meta .is-closed{color:var(--danger)}

/* =============================================================================
   DETAIL PAGES (university, destination, scholarship)
   ========================================================================== */
.vs-detail-wrap{padding-top:40px;padding-bottom:70px}
.detail-main,.detail-side{min-width:0}
.detail-side{display:flex;flex-direction:column}
.detail-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;margin-bottom:20px}
.detail-card h3{font-size:20px;margin-bottom:14px}
.detail-card > p{color:var(--muted-2);line-height:1.75}
.vs-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.vs-card-head h3{margin:0}
.vs-prose{color:var(--ink-2);line-height:1.8;font-size:15.5px}
.vs-prose p{margin-bottom:14px}
.vs-prose ul,.vs-prose ol{margin:0 0 14px 20px}
.vs-prose img{border-radius:12px}

.grid-unis.grid-2,.grid-schols.grid-2{grid-template-columns:repeat(2,1fr);gap:16px}

.uni-hero,.country-hero,.sch-hero{background-size:cover;background-position:center}
.uni-hero-inner{align-items:center}
.uni-hero-info h1{color:#fff;font-size:38px;margin-bottom:12px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.u-hero-meta span{display:inline-flex;align-items:center;gap:6px}
.uni-hero-tags .tag{display:inline-block;padding:5px 12px;border-radius:100px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);font-size:12.5px;font-weight:600;color:#fff}
.uni-hero-actions{display:flex;flex-direction:column;gap:10px}
.uni-hero-actions .btn{justify-content:center}

.tab-nav .container{scrollbar-width:none}
.tab-nav .container::-webkit-scrollbar{display:none}
.tab-btn{flex-shrink:0}
.tab-panel{display:none}
.tab-panel.active{display:block;animation:vsFade .25s ease}
@keyframes vsFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

.side-widget p{font-size:13.5px;color:var(--muted);margin:0 0 14px;line-height:1.6}
.side-widget-orange,.side-widget-blue{border:none;color:#fff}
.side-widget-orange{background:var(--grad-orange)}
.side-widget-blue{background:var(--grad-dark)}
.side-widget-orange h4,.side-widget-blue h4{color:#fff}
.side-widget-orange p,.side-widget-blue p{color:rgba(255,255,255,.9)}

.vs-kv{list-style:none;margin:0 0 4px;padding:0}
.vs-kv li{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--line-2);font-size:14px}
.vs-kv li:last-child{border-bottom:none}
.vs-kv li span{color:var(--muted);font-size:13.5px}
.vs-kv li b{text-align:right;display:inline-flex;align-items:center;gap:6px;justify-content:flex-end}
.side-widget .vs-kv + .btn{margin-top:14px}

.vs-status-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:100px;font-size:13px;font-weight:700;margin-bottom:12px}
.vs-status-pill.is-open{background:rgba(16,185,129,.2);color:#A7F3D0}
.vs-status-pill.is-closed{background:rgba(255,255,255,.14);color:#FECACA}
.vs-hero-badge{display:inline-block;padding:5px 13px;background:rgba(255,255,255,.2);border-radius:100px;font-size:12px;font-weight:700;margin-bottom:14px;color:#fff}
.sch-hero-inner{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}
.sch-hero h1{color:#fff;font-size:40px;margin-bottom:10px}
.sch-hero p{color:rgba(255,255,255,.9);max-width:640px}

.vs-why-grid,.vs-cover-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.vs-why-item{padding:16px;background:var(--surface-2);border-radius:14px}
.vs-why-item i{color:var(--orange);font-size:20px}
.vs-why-item h5{margin:9px 0 4px;font-size:15px}
.vs-why-item p{font-size:13px;color:var(--muted);margin:0}
.vs-cover-item{display:flex;gap:12px;align-items:center;padding:14px;background:var(--surface-2);border-radius:14px}
.vs-cover-item i{color:var(--success);font-size:22px;flex-shrink:0}
.vs-cover-item b{display:block;font-size:14.5px}
.vs-cover-item small{color:var(--muted);font-size:12.5px}

.vs-checks{list-style:none;margin:0;padding:0}
.vs-checks li{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--line-2);font-size:14.5px;line-height:1.6}
.vs-checks li:last-child{border-bottom:none}
.vs-checks li i{color:var(--success);margin-top:4px;flex-shrink:0}
.vs-checks-tight li{padding:6px 0;border-bottom:none;font-size:14px}

.vs-prog-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.vs-prog-grid .prog-item{border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.vs-req-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.vs-req-grid h4{color:var(--orange);font-size:15px;margin-bottom:8px;display:flex;gap:8px;align-items:center}
.vs-callout-note{margin-top:20px;padding:16px 18px;background:rgba(244,123,32,.08);border-radius:12px;border-left:3px solid var(--orange);font-size:14.5px}
.vs-stack{display:flex;flex-direction:column;gap:12px}
.vs-stack-item{display:block;padding:15px 17px;border:1px solid var(--line);border-radius:12px;color:inherit}
a.vs-stack-item:hover{border-color:var(--orange)}
.vs-stack-item b{display:block}
.vs-stack-item span{display:block;font-size:13px;color:var(--muted);margin-top:3px}
.vs-tool-links{display:flex;flex-direction:column;gap:8px}
.vs-tool-links .btn{justify-content:flex-start;width:100%}

.vs-review{padding:16px 18px;border:1px solid var(--line);border-radius:14px}
.vs-review-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;flex-wrap:wrap}
.vs-review p{font-size:14px;color:var(--muted-2);margin-bottom:6px}
.vs-review small{color:var(--muted)}
.vs-star-input{display:inline-flex;flex-direction:row-reverse;gap:4px;margin-bottom:14px}
.vs-star-input input{position:absolute;opacity:0;pointer-events:none}
.vs-star-input label{font-size:26px;color:var(--line);cursor:pointer;transition:color .15s,transform .15s;margin:0}
.vs-star-input label:hover,.vs-star-input label:hover ~ label,.vs-star-input input:checked ~ label{color:#F59E0B}
.vs-star-input input:focus-visible + label{outline:2px solid var(--orange);border-radius:4px}

.vs-mini-list a{display:flex;align-items:center;gap:11px;padding:8px 0;border-bottom:1px solid var(--line-2)}
.vs-mini-list a:last-child{border-bottom:none}
.vs-mini-list span b{display:block;font-size:13.5px;color:var(--ink)}
.vs-mini-list span em{font-style:normal;font-size:12px;color:var(--muted)}
.vs-mini-logo{width:40px;height:40px;border-radius:10px;background:var(--surface-3);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;color:var(--blue);flex-shrink:0;overflow:hidden}

@media(max-width:1024px){
  .detail-grid{grid-template-columns:1fr!important}
  .uni-hero-inner{grid-template-columns:1fr!important;text-align:left}
  .uni-hero-actions{flex-direction:row;flex-wrap:wrap}
  .uni-hero-info h1,.sch-hero h1,.country-hero h1{font-size:32px}
  .country-hero-inner,.sch-hero-inner{grid-template-columns:1fr auto}
  .vs-flag-big{width:110px}
  .tab-nav{top:66px}
}
@media(max-width:768px){
  .country-facts{grid-template-columns:repeat(2,1fr)!important}
  .country-facts .cf-item:last-child:nth-child(odd){grid-column:1/-1}
  .grid-unis.grid-2,.grid-schols.grid-2,.vs-prog-grid,.vs-req-grid{grid-template-columns:1fr}
  .fact-grid{grid-template-columns:1fr 1fr!important}
  .uni-hero-logo{width:84px;height:84px;font-size:30px}
  .detail-card{padding:22px}
}
@media(max-width:640px){
  .country-hero-inner,.sch-hero-inner{grid-template-columns:1fr}
  .country-big-flag,.sch-flag-big{display:none}
  .uni-hero,.country-hero,.sch-hero{padding:38px 0}
  .uni-hero-info h1,.sch-hero h1,.country-hero h1{font-size:26px}
  .uni-hero-actions .btn{flex:1 1 100%}
  .vs-why-grid,.vs-cover-grid{grid-template-columns:1fr}
  .crumb{flex-wrap:wrap}
  .vs-detail-wrap{padding-top:24px;padding-bottom:50px}
}

/* ---------- Share widget ---------- */
.vs-share{display:block;padding:0;margin:0;border:0}
.vs-share-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.vs-share-grid .vs-share-btn{width:100%;height:44px;aspect-ratio:auto}
.vs-share-card{display:block;margin-top:14px;border-radius:14px;overflow:hidden;border:1px solid var(--line);position:relative;color:#fff}
.vs-share-card img{display:block;width:100%;height:auto}
.vs-share-card span{position:absolute;left:10px;right:10px;bottom:10px;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;border-radius:10px;background:rgba(15,23,42,.82);font-size:13px;font-weight:700;opacity:0;transform:translateY(6px);transition:all .2s}
.vs-share-card:hover span,.vs-share-card:focus span{opacity:1;transform:none}
@media(hover:none){.vs-share-card span{opacity:1;transform:none}}
.detail-main .vs-share-grid,.vs-article + .vs-share .vs-share-grid{grid-template-columns:repeat(6,48px)}

/* =============================================================================
   AI TOOLS
   ========================================================================== */
.vs-ai-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px;margin-top:34px;scroll-margin-top:90px}
.vs-ai-form-wrap,.vs-ai-output{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px}
.vs-ai-head{display:flex;gap:14px;align-items:center;margin-bottom:18px}
.vs-ai-head h2{font-size:22px;margin:0 0 4px}
.vs-ai-head p{margin:0;color:var(--muted);font-size:14px}
.vs-ai-head .ai-ico{flex-shrink:0;background:var(--grad-orange);color:#fff}
.vs-ai-form-wrap .vs-note{margin-bottom:16px}
.vs-ai-form-wrap .vs-note a{color:var(--orange);font-weight:700}
.vs-ai-output{min-height:320px}
.vs-ai-placeholder{height:100%;min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--muted-2);text-align:center}
.vs-ai-placeholder i{font-size:34px;color:var(--line)}
.vs-ai-placeholder.is-error i{color:var(--danger)}
.vs-ai-result{font-size:15px;line-height:1.8;color:var(--ink-2);white-space:normal;overflow-wrap:anywhere}
.vs-ai-result p{margin-bottom:12px}
.vs-ai-actions{margin-top:16px;padding-top:14px;border-top:1px solid var(--line-2)}
@media(max-width:1024px){.vs-ai-panel{grid-template-columns:1fr}}
@media(max-width:640px){.vs-ai-form-wrap,.vs-ai-output{padding:20px}}

/* =============================================================================
   DASHBOARD
   ========================================================================== */
.vs-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.vs-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 16px}
.vs-upload-row{display:grid;grid-template-columns:220px 1fr;gap:18px}
.vs-upload{min-width:0}
.vs-upload-label{display:block;font-size:13px;font-weight:700;color:var(--ink-2);margin-bottom:7px}
.vs-upload-drop{position:relative;display:flex;align-items:center;justify-content:center;height:200px;border:2px dashed var(--line);border-radius:16px;background:var(--surface-2);cursor:pointer;overflow:hidden;transition:border-color .2s}
.vs-upload-drop:hover{border-color:var(--orange)}
.vs-upload-input{position:absolute;inset:0;opacity:0;cursor:pointer}
.vs-upload-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}
.vs-upload:not(.vs-upload-wide) .vs-upload-preview{object-fit:contain;padding:14px;background:#fff}
.vs-upload.has-img .vs-upload-preview{display:block}
.vs-upload.has-img .vs-upload-empty{display:none}
.vs-upload-empty{color:var(--muted);font-weight:600;font-size:14px;display:flex;flex-direction:column;align-items:center;gap:8px}
.vs-upload-empty i{font-size:26px;color:var(--orange)}
.vs-upload.is-loading .vs-upload-drop::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,.7) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 50 50'%3E%3Ccircle cx='25' cy='25' r='20' fill='none' stroke='%23F47B20' stroke-width='5' stroke-dasharray='90 60'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 25 25' to='360 25 25' dur='.8s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/svg%3E") center no-repeat}
.vs-upload-foot{display:flex;justify-content:space-between;gap:10px;margin-top:6px;font-size:12px;color:var(--muted)}
.vs-upload-foot em{font-style:normal}
.vs-upload:not(.has-img) .vs-upload-remove{display:none}
.vs-sticky-save{position:sticky;bottom:14px;z-index:5;display:flex;justify-content:flex-end;margin-top:8px}
.vs-sticky-save .btn{box-shadow:var(--shadow-lg)}
@media(max-width:1024px){
  .dash-wrap{grid-template-columns:1fr!important}
  .dash-side{position:static!important;height:auto!important}
  .dash-nav{display:flex;overflow-x:auto;gap:6px;scrollbar-width:none}
  .dash-nav::-webkit-scrollbar{display:none}
  .dash-nav a{flex-shrink:0;white-space:nowrap}
}
@media(max-width:768px){
  .vs-grid-3{grid-template-columns:1fr 1fr}
  .vs-upload-row{grid-template-columns:1fr}
  .kpi-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:560px){
  .vs-grid-2,.vs-grid-3{grid-template-columns:1fr}
  .vs-sticky-save .btn{width:100%;justify-content:center}
  .panel{padding:18px}
  .panel-head{flex-wrap:wrap;gap:8px}
}

/* ---------- Tables anywhere on the front end ---------- */
.vs-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(max-width:768px){
  .panel table,.vs-card table{display:block;overflow-x:auto;white-space:nowrap}
}

/* =============================================================================
   FOOTER
   ========================================================================== */
.foot-grid{grid-template-columns:1.6fr repeat(4,1fr)}
.foot-brand p{max-width:340px}
.foot-col{display:flex;flex-direction:column;min-width:0}
.foot-col h5{color:#fff;font-size:15px;margin-bottom:16px}
.foot-col a{color:#94A3B8;font-size:14px;padding:5px 0;transition:color .2s}
.foot-col a:hover{color:var(--orange-2)}
.vs-foot-contact{margin-top:20px;display:flex;flex-direction:column;gap:10px;font-size:14px}
.vs-foot-contact a,.vs-foot-contact span{color:#94A3B8;display:flex;gap:10px;align-items:flex-start}
.vs-foot-contact a:hover{color:#fff}
.vs-foot-contact i{color:var(--orange-2);margin-top:4px;width:14px}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.foot-copy{color:#94A3B8;font-size:13.5px}
.pay-icons{display:flex;gap:12px;font-size:26px;color:#64748B;flex-wrap:wrap}
@media(max-width:1024px){
  .foot-grid{grid-template-columns:1fr 1fr 1fr!important;gap:34px}
  .foot-brand{grid-column:1/-1}
  .foot-brand p{max-width:560px}
}
@media(max-width:640px){
  .foot-grid{grid-template-columns:1fr 1fr!important;gap:28px 18px}
  .foot-bottom{flex-direction:column;text-align:center}
  .pay-icons{justify-content:center;font-size:22px}
  .footer{padding-top:50px}
}
@media(max-width:380px){
  .foot-grid{grid-template-columns:1fr!important}
}

/* ---------- Support widget clears the mobile browser bar ---------- */
@media(max-width:640px){
  .vs-support{bottom:max(16px,env(safe-area-inset-bottom))}
  .vs-support .fab{width:52px;height:52px;font-size:20px}
}

/* ---------- Comments ---------- */
.vs-comments{margin-top:34px}
.vs-comments-title{font-size:20px;margin-bottom:18px}
.vs-comment-list{list-style:none;margin:0 0 30px;padding:0}
.vs-comment-list .comment-body{padding:16px 0;border-bottom:1px solid var(--line-2)}
.vs-comment-list .children{list-style:none;margin-left:26px}

/* Breadcrumbs stay readable on any hero colour */
.sch-hero .crumb,.sch-hero .crumb a{color:rgba(255,255,255,.92)}
.sch-hero .crumb span{color:#fff}
.uni-hero .crumb span,.country-hero .crumb span{color:#fff}
.sch-hero .crumb a:hover,.uni-hero .crumb a:hover,.country-hero .crumb a:hover{text-decoration:underline}

/* =============================================================================
   v1.4 — applications, leads, earnings, ads
   ========================================================================== */
.vs-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.vs-lead-box{border:2px solid var(--orange)}
.vs-lead-box h4 i{color:var(--orange)}
.vs-lead-box .vs-form input,.vs-lead-box .vs-form select,.vs-lead-box .vs-form textarea{width:100%;margin-bottom:8px;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;font-size:14px;background:#fff}
.vs-steps-bar{display:flex;gap:10px;list-style:none;margin:0 0 18px;padding:0}
.vs-steps-bar li{flex:1;display:flex;align-items:center;gap:10px;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:14px;font-weight:600;font-size:14px;color:var(--muted)}
.vs-steps-bar li b{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface-3);color:var(--ink-2);font-size:13px;flex-shrink:0}
.vs-steps-bar li.is-active{border-color:var(--orange);color:var(--ink)}
.vs-steps-bar li.is-active b{background:var(--grad-orange);color:#fff}
.vs-doc-drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:26px;border:2px dashed var(--line);border-radius:16px;background:var(--surface-2);cursor:pointer;color:var(--muted);font-weight:600;text-align:center}
.vs-doc-drop:hover{border-color:var(--orange)}
.vs-doc-drop i{font-size:28px;color:var(--orange)}
.vs-doc-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.vs-doc-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.vs-doc-list li{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;font-size:13.5px;background:#fff}
.vs-doc-list li i{color:var(--success)}
.vs-doc-list li span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vs-doc-list li button{border:0;background:none;font-size:20px;line-height:1;color:var(--muted);cursor:pointer}
.vs-apply-uni{display:flex;gap:12px;align-items:center}
.vs-apply-uni b{display:block}
.vs-apply-uni span{font-size:13px;color:var(--muted);display:flex;gap:6px;align-items:center}
.vs-fee-big{font-size:34px;font-weight:800;color:var(--orange);margin:0 0 6px!important}
.vs-pay-light .vs-pill{margin:0 4px 4px 0}
.vs-app-list{display:flex;flex-direction:column;gap:10px}
.vs-app{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}
.vs-app summary{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;list-style:none}
.vs-app summary::-webkit-details-marker{display:none}
.vs-app summary img{border-radius:50%}
.vs-app-main{flex:1;min-width:0}
.vs-app-main b{display:block;font-size:15px}
.vs-app-main em{display:block;font-style:normal;font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vs-app-caret{color:var(--muted-2);transition:transform .2s}
.vs-app[open] .vs-app-caret{transform:rotate(180deg)}
.vs-app-body{padding:4px 16px 16px;border-top:1px solid var(--line-2)}
.vs-app-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:20px;margin-top:12px}
.vs-app-msg{font-size:14px;color:var(--ink-2);background:var(--surface-2);padding:12px;border-radius:10px;margin:0 0 10px}
.vs-app-docs{display:flex;flex-wrap:wrap;gap:6px}
.vs-app-docs a{display:inline-flex;gap:6px;align-items:center;padding:6px 10px;border:1px solid var(--line);border-radius:8px;font-size:12.5px;color:var(--ink-2);max-width:100%;overflow:hidden;text-overflow:ellipsis}
.vs-timeline{list-style:none;margin:16px 0 0;padding:0 0 0 16px;border-left:2px solid var(--line)}
.vs-timeline li{position:relative;padding:0 0 12px 12px;font-size:13px}
.vs-timeline li::before{content:'';position:absolute;left:-23px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 3px #fff}
.vs-timeline b{margin-right:8px}
.vs-timeline em{font-style:normal;color:var(--muted);font-size:12px}
.vs-timeline span{display:block;color:var(--ink-2);margin-top:2px}
.vs-app-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.vs-app-status-form{display:flex;gap:8px;flex-wrap:wrap;width:100%}
.vs-app-status-form select,.vs-app-status-form input{padding:9px 12px;border:1.5px solid var(--line);border-radius:10px;font-size:14px}
.vs-app-status-form input{flex:1;min-width:180px}
.vs-lead-table{width:100%;border-collapse:collapse;font-size:14px}
.vs-lead-table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:10px;border-bottom:2px solid var(--line)}
.vs-lead-table td{padding:12px 10px;border-bottom:1px solid var(--line-2);vertical-align:top}
.vs-lead-table td b{display:block}
.vs-lead-table td em{display:block;font-style:normal;font-size:12.5px;color:var(--muted);margin-top:2px}
.vs-lead-table select{padding:7px 10px;border:1.5px solid var(--line);border-radius:9px}
.vs-kpi-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}
.vs-adsense{text-align:center;min-height:90px}
.vs-ad-article{margin:26px 0}
@media(max-width:768px){.vs-app-grid{grid-template-columns:1fr}.vs-steps-bar li span{display:none}.vs-steps-bar li{justify-content:center}.vs-kpi-3{grid-template-columns:1fr}}

/* ---------- Dashboard grid fix: the sidebar + content live inside .dash-main ---------- */
.dash-wrap{display:block!important;min-height:calc(100vh - 130px);background:var(--surface-2);padding:28px 0 60px}
.dash-main{display:grid;grid-template-columns:260px minmax(0,1fr);gap:26px;align-items:start;padding:0!important;margin-top:22px}
.dash-side{position:sticky!important;top:90px;height:auto!important;max-height:calc(100vh - 110px);border:1px solid var(--line);border-radius:18px;padding:14px!important}
.dash-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.dash-content{min-width:0}
.dash-content .panel{margin-bottom:18px}
@media(max-width:1024px){
  .dash-main{grid-template-columns:minmax(0,1fr)}
  .dash-side{position:static!important;max-height:none;overflow:visible}
  .dash-nav{display:flex!important;flex-direction:row!important;flex-wrap:nowrap;overflow-x:auto;gap:6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .dash-nav a{flex-shrink:0;white-space:nowrap;padding:9px 13px}
  .dash-side{padding:8px!important}
  .dash-side .vs-ad-wrap{display:none}
}
@media(max-width:640px){
  .dash-wrap{padding:18px 0 40px}
  .dash-head-actions{width:100%}
  .dash-head-actions .btn{flex:1;justify-content:center}
  .vs-app summary{flex-wrap:wrap}
  .vs-app summary .vs-pill{order:3}
  .vs-app-status-form select,.vs-app-status-form input,.vs-app-status-form button{width:100%}
}
