:root{
  --bg:#020914;--bg2:#051426;--panel:#07182a;--panel2:#0a2038;--line:#123a5e;--line2:#0b6fae;
  --blue:#0aa9ff;--blue2:#1779ff;--cyan:#24d9ff;--text:#f4f9ff;--muted:#89a6c0;--green:#18d59a;
  --orange:#ffb64d;--red:#ff5577;--gold:#d8b265;--purple:#8d7bff;--shadow:0 18px 55px rgba(0,0,0,.38);
}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:radial-gradient(circle at 80% -20%,#063f77 0,transparent 34%),var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}a{color:var(--cyan);text-decoration:none}.muted{color:var(--muted)}.small{font-size:12px;color:var(--muted)}
::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#144c73;border-radius:20px}::-webkit-scrollbar-track{background:#020914}

/* gateway + public */
.gateway{min-height:100vh;position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(1,7,16,.97),rgba(2,12,25,.82)),url('/assets/hvia-brand-poster.png') center/cover no-repeat;display:grid;place-items:center;padding:34px}.gateway:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(0,169,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,169,255,.05) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 88%)}
.gateway-inner{position:relative;width:min(1200px,96vw)}.brand-logo{width:230px}.eyebrow{color:var(--cyan);font-size:12px;font-weight:800;letter-spacing:6px;text-transform:uppercase}.gateway h1,.public-hero h1{font-size:clamp(42px,6vw,82px);line-height:.96;margin:22px 0 14px;max-width:880px;text-transform:uppercase;letter-spacing:-2px}.accent{color:var(--blue)}.gateway p{color:#b4cadb;max-width:720px;font-size:18px;line-height:1.65}.gateway-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:38px;max-width:860px}.choice{background:linear-gradient(145deg,rgba(8,31,54,.9),rgba(3,15,29,.88));border:1px solid #13598b;border-radius:22px;padding:25px;box-shadow:var(--shadow);backdrop-filter:blur(12px);transition:.25s}.choice:hover{transform:translateY(-5px);border-color:var(--cyan);box-shadow:0 0 0 1px rgba(36,217,255,.15),0 25px 65px rgba(0,98,255,.22)}.choice .icon{font-size:28px}.choice h3{font-size:23px;margin:12px 0 7px}.choice p{font-size:14px;margin:0 0 18px}.btn{border:1px solid transparent;border-radius:11px;padding:11px 16px;font-weight:800;transition:.2s}.btn-primary{background:linear-gradient(135deg,#00b4ff,#1674ff);color:white;box-shadow:0 8px 24px rgba(0,144,255,.28)}.btn-primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn-outline{background:transparent;color:#e8f5ff;border-color:#23618a}.btn-soft{background:#0b2945;color:#bfe6ff;border-color:#174f78}.btn-danger{background:#371424;color:#ff94a9;border-color:#72213d}.btn-success{background:#0b342d;color:#55e9bb;border-color:#17634f}.btn-gold{background:linear-gradient(135deg,#9d7734,#dbb86b);color:#08111c}.btn-block{width:100%}
.public{min-height:100vh;background:radial-gradient(circle at 85% 5%,#07467f 0,transparent 25%),#020914}.public-nav{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 min(7vw,90px);border-bottom:1px solid #0d2f4e;background:rgba(2,9,20,.8);backdrop-filter:blur(18px);position:sticky;top:0;z-index:10}.public-nav img{width:180px}.public-links{display:flex;gap:24px;align-items:center}.public-hero{min-height:520px;padding:80px min(7vw,90px);display:flex;align-items:center;background:linear-gradient(90deg,#020914 0,rgba(2,9,20,.75) 48%,rgba(2,9,20,.15)),url('/assets/hvia-brand-poster.png') 74% 48%/cover no-repeat}.public-hero p{max-width:620px;color:#a7bed2;font-size:17px;line-height:1.7}.public-section{padding:60px min(7vw,90px)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.section-head h2{font-size:34px;margin:7px 0}.demo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.demo-card{min-height:230px;padding:22px;border-radius:18px;background:linear-gradient(155deg,#08223d,#04111f);border:1px solid #13517c;position:relative;overflow:hidden}.demo-card:after{content:"";position:absolute;width:150px;height:150px;border:1px solid #0c79b8;border-radius:50%;right:-55px;bottom:-55px;box-shadow:0 0 45px #0876bb44}.demo-card h3{font-size:21px;margin:18px 0 8px}.demo-card p{color:#92adc3;font-size:14px;line-height:1.6}.contact-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:22px;background:linear-gradient(135deg,#061526,#0a2038);border:1px solid #124a73;border-radius:24px;padding:28px}.contact-panel h2{font-size:36px;margin:10px 0}.contact-panel p{color:#9bb4ca}.public-footer{padding:28px min(7vw,90px);border-top:1px solid #103553;color:#6988a3;display:flex;justify-content:space-between}

/* login */
.login{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:#020914}.login-visual{position:relative;background:url('/assets/hvia-brand-poster.png') center/cover no-repeat;min-height:100vh}.login-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,9,20,.18),rgba(2,9,20,.76) 95%)}.login-copy{position:absolute;left:7%;bottom:8%;z-index:2;max-width:540px}.login-copy h1{font-size:54px;line-height:1;margin:15px 0}.login-copy p{color:#bbcfdf;line-height:1.7}.login-panel{display:grid;place-items:center;padding:40px;position:relative}.login-panel:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 50% 30%,#0b6fae33,transparent 36%)}.login-card{width:min(470px,92vw);padding:34px;background:linear-gradient(145deg,rgba(7,31,54,.94),rgba(3,16,29,.95));border:1px solid #155983;border-radius:22px;box-shadow:var(--shadow);position:relative}.login-card img{width:190px;margin-bottom:30px}.login-card h2{font-size:30px;margin:0 0 6px}.login-card>p{color:var(--muted);margin:0 0 24px}

/* fields */
.field{display:grid;gap:7px;margin-bottom:15px}.field label{font-size:12px;font-weight:800;color:#90b4ce;text-transform:uppercase;letter-spacing:.5px}.field input,.field select,.field textarea,.mini-input{width:100%;background:#041221;color:#eaf6ff;border:1px solid #164566;border-radius:10px;padding:12px;outline:none}.field input:focus,.field select:focus,.field textarea:focus,.mini-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0aa9ff1c}.field input::file-selector-button{background:#0b3152;border:1px solid #185c88;color:#d9f2ff;padding:8px 10px;border-radius:8px;margin-right:10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.span2{grid-column:1/-1}.check{display:flex;align-items:center;gap:8px;color:#a9c0d3;font-size:13px;margin:8px 0 16px}

/* internal app */
.shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:248px;padding:18px 14px;background:linear-gradient(180deg,#031020,#06182a);border-right:1px solid #103b5d;z-index:20;overflow:auto}.side-logo{padding:6px 10px 18px;border-bottom:1px solid #0e3858;margin-bottom:12px}.side-logo img{width:175px}.role-pill{display:inline-flex;margin:10px 10px 0;padding:5px 9px;border-radius:999px;background:#092844;color:#65cfff;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1px}.nav{display:grid;gap:4px}.nav .section{font-size:9px;letter-spacing:2px;color:#477996;text-transform:uppercase;padding:16px 11px 5px}.nav button{border:0;background:transparent;color:#a8c1d4;text-align:left;padding:10px 12px;border-radius:10px;display:flex;align-items:center;gap:10px;font-weight:650}.nav button:hover,.nav button.active{background:linear-gradient(90deg,#0b5ea0,#0f7ed0);color:white;box-shadow:inset 3px 0 0 var(--cyan)}.nav .nav-icon{width:20px;text-align:center;color:#53ccff}.sidebar-foot{margin-top:30px;border:1px solid #103c5d;border-radius:14px;padding:14px;color:#6f9ab7;font-size:11px;background:linear-gradient(135deg,#061527,#08223a)}
.main{grid-column:2;min-width:0}.topbar{height:72px;position:sticky;top:0;z-index:15;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:rgba(2,11,22,.88);backdrop-filter:blur(18px);border-bottom:1px solid #103a5a}.search{width:min(450px,42vw);background:#06182a;color:#e5f5ff;border:1px solid #144564;border-radius:10px;padding:11px 13px}.top-actions{display:flex;align-items:center;gap:12px}.notify-btn{position:relative;width:40px;height:40px;border-radius:50%;border:1px solid #174a6e;background:#071b30;color:#bceaff}.notify-count{position:absolute;right:-3px;top:-3px;background:var(--red);font-size:9px;padding:3px 5px;border-radius:999px}.user-chip{display:flex;align-items:center;gap:10px}.avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#09afff,#6d61ff);display:grid;place-items:center;font-weight:900;overflow:hidden;border:1px solid #45cfff}.avatar img{width:100%;height:100%;object-fit:cover}.content{padding:24px}.hero{border:1px solid #12476e;border-radius:19px;padding:23px;background:linear-gradient(105deg,#07182b,#08243f 68%,#053259);position:relative;overflow:hidden;box-shadow:var(--shadow)}.hero:after{content:"";position:absolute;width:320px;height:320px;border:1px solid #0aa9ff33;border-radius:50%;right:-130px;top:-145px;box-shadow:0 0 70px #0aa9ff22}.hero h1{font-size:30px;margin:0 0 6px}.hero p{margin:0;color:#93aec3}.hero .eyebrow{margin-bottom:8px}
.grid{display:grid;gap:14px}.kpis{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:15px}.card{background:linear-gradient(145deg,#071729,#061421);border:1px solid #123f61;border-radius:16px;padding:16px;box-shadow:0 10px 32px rgba(0,0,0,.19)}.card h3{margin:0 0 13px}.kpi{position:relative;overflow:hidden}.kpi:after{content:"";position:absolute;width:70px;height:70px;border:1px solid #0aa9ff2a;border-radius:50%;right:-24px;bottom:-24px}.kpi .label{font-size:11px;text-transform:uppercase;color:#7197b2;font-weight:800;letter-spacing:.7px}.kpi .value{font-size:29px;font-weight:900;margin-top:8px}.kpi .sub{font-size:11px;color:var(--green);margin-top:6px}.two{grid-template-columns:1.35fr .65fr;margin-top:15px}.three{grid-template-columns:repeat(3,1fr);margin-top:15px}.four{grid-template-columns:repeat(4,1fr);margin-top:15px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:13px}.group{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:800}.b-green{background:#0b382d;color:#50e6b4}.b-blue{background:#092b4d;color:#58c9ff}.b-orange{background:#3a2910;color:#ffc45d}.b-red{background:#3a1521;color:#ff7995}.b-purple{background:#241d51;color:#ae9fff}.b-gold{background:#372b18;color:#e7c270}
.table-wrap{overflow:auto;border:1px solid #123a59;border-radius:12px}.table{width:100%;border-collapse:collapse;font-size:12px}.table th{background:#071e34;color:#8fc8ec;text-align:left;padding:11px;white-space:nowrap}.table td{padding:11px;border-top:1px solid #0e304b;color:#cce0ed;vertical-align:middle}.table tr:hover td{background:#082039}.actions{display:flex;gap:6px;flex-wrap:wrap}.track-row{display:grid;grid-template-columns:1fr auto;gap:7px;margin:13px 0}.bar{height:7px;background:#0a243d;border-radius:999px;overflow:hidden;grid-column:1/-1}.bar i{display:block;height:100%;background:linear-gradient(90deg,#0aa9ff,#7a73ff);border-radius:inherit}.announcement{padding:12px;border:1px solid #103f62;border-left:3px solid #0aa9ff;border-radius:10px;background:#061a2c;margin-bottom:8px}.activity{display:flex;gap:11px;padding:11px 0;border-bottom:1px solid #0e3049}.activity-dot{width:9px;height:9px;border-radius:50%;background:var(--cyan);margin-top:5px;box-shadow:0 0 12px var(--cyan)}
.task-board{display:grid;grid-template-columns:repeat(5,minmax(230px,1fr));gap:12px;overflow:auto;padding-bottom:10px}.lane{background:#041321;border:1px solid #103b5b;border-radius:14px;padding:11px;min-height:360px}.lane h4{margin:0 0 10px;display:flex;justify-content:space-between;color:#aacde4}.task{padding:12px;margin-bottom:9px;background:linear-gradient(145deg,#082039,#061829);border:1px solid #12507b;border-radius:11px}.task strong{display:block;margin-bottom:7px}.task .meta{display:flex;justify-content:space-between;gap:8px;margin-top:10px;color:#7da1bb;font-size:11px}.files{display:grid;gap:7px}.file-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid #123b5d;background:#06192b;border-radius:9px}.meeting{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:12px;padding:12px;border:1px solid #103f62;border-radius:12px;margin-bottom:9px;background:#061a2c}.datebox{height:54px;border-radius:10px;display:grid;place-items:center;background:#0b2c4a;color:#6ad2ff;font-weight:900}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.resource{border:1px solid #134566;border-radius:14px;overflow:hidden;background:#051525}.resource-cover{height:125px;background:radial-gradient(circle at 50% 30%,#0a84c7,#052039 60%,#04111f);display:grid;place-items:center;font-size:27px;font-weight:900;letter-spacing:3px}.resource-body{padding:14px}.profile-head{display:grid;grid-template-columns:110px 1fr auto;gap:18px;align-items:center}.profile-avatar{width:102px;height:102px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#079cff,#7258ff);font-size:33px;font-weight:900;overflow:hidden;border:2px solid #33caff;box-shadow:0 0 30px #0aa9ff32}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:15px}.fact{padding:11px;background:#06192b;border:1px solid #103a59;border-radius:10px}.fact b{display:block;color:#6e97b2;font-size:10px;text-transform:uppercase;margin-bottom:5px}.cert-preview{aspect-ratio:1.414;background:linear-gradient(135deg,#061525,#0a2037);border:2px solid var(--gold);box-shadow:inset 0 0 0 6px #07192a,inset 0 0 0 7px #0aa9ff66;display:grid;place-items:center;text-align:center;padding:30px;position:relative;overflow:hidden}.cert-preview:after{content:"";position:absolute;width:250px;height:250px;border:1px solid #0aa9ff3b;border-radius:50%;right:-100px;top:-100px;box-shadow:0 0 70px #0aa9ff25}.cert-preview .big{font-family:Georgia,serif;font-size:26px;color:var(--gold)}.cert-preview .name{font-family:Georgia,serif;font-size:25px;color:white;margin:12px}.cert-seal{width:68px;height:68px;margin:18px auto 8px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#061525;font-weight:900;border:5px double #061525}
.onboard{min-height:100vh;background:linear-gradient(110deg,rgba(2,9,20,.95),rgba(4,21,38,.86)),url('/assets/hvia-brand-poster.png') center/cover fixed;padding:35px}.onboard-logo{width:190px;margin-bottom:25px}.steps{display:flex;gap:8px;max-width:880px;margin:0 auto 18px}.step{flex:1;padding:11px;border-radius:10px;text-align:center;background:#071a2d;border:1px solid #16415f;color:#678da7;font-size:12px;font-weight:800}.step.active{background:linear-gradient(135deg,#0870bd,#0d99e9);color:white}.onboard-card{max-width:880px;margin:auto;padding:28px;border:1px solid #155179;border-radius:20px;background:rgba(4,19,34,.96);box-shadow:var(--shadow)}.track-choice{display:grid;gap:10px}.track-option{padding:15px;border:1px solid #154365;border-radius:12px;background:#06182a;cursor:pointer}.track-option.selected{border-color:var(--cyan);box-shadow:0 0 0 2px #0aa9ff18;background:#08243d}
.modal{position:fixed;inset:0;background:rgba(0,5,12,.77);display:grid;place-items:center;z-index:60;padding:18px;backdrop-filter:blur(7px)}.modal-card{width:min(720px,96vw);max-height:92vh;overflow:auto;background:linear-gradient(145deg,#071a2e,#04111f);border:1px solid #17618e;border-radius:18px;padding:22px;box-shadow:0 30px 95px rgba(0,0,0,.6)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.close{width:34px;height:34px;border-radius:50%;background:#0b2944;color:white;border:1px solid #175075}.toast{position:fixed;right:20px;bottom:20px;background:#08233d;color:#e8f7ff;border:1px solid #1a74a7;padding:13px 16px;border-radius:11px;z-index:90;box-shadow:var(--shadow)}.empty{padding:32px;text-align:center;color:#6c94ae;border:1px dashed #164363;border-radius:12px}.danger-zone{border-color:#5d2036;background:#1a0d15}.metric-ring{width:118px;height:118px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--blue) calc(var(--p)*1%),#0a263f 0);position:relative}.metric-ring:after{content:"";position:absolute;inset:10px;border-radius:50%;background:#071726}.metric-ring span{position:relative;z-index:1;font-size:24px;font-weight:900}

@media(max-width:1200px){.kpis{grid-template-columns:repeat(3,1fr)}.demo-grid{grid-template-columns:repeat(2,1fr)}.resource-grid{grid-template-columns:repeat(2,1fr)}.profile-facts{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.gateway-cards,.contact-panel,.login{grid-template-columns:1fr}.login-visual{display:none}.shell{display:block}.sidebar{transform:translateX(-100%)}.main{grid-column:auto}.two,.three,.four{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}.content{padding:14px}.public-links{display:none}.public-hero{background-position:center}.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}}
@media(max-width:620px){.gateway{padding:20px}.gateway h1{font-size:44px}.gateway-cards,.demo-grid,.resource-grid,.kpis,.profile-facts{grid-template-columns:1fr}.public-hero{padding:55px 22px}.public-section{padding:40px 22px}.topbar{padding:0 12px}.search{width:48vw}.profile-head{grid-template-columns:1fr;text-align:center}.profile-avatar{margin:auto}.task-board{grid-template-columns:repeat(5,260px)}}

/* =========================================================
   HVIA NEON EXPERIENCE v2.1 — PREMIUM VISUAL OVERRIDE
   ========================================================= */
:root{
  --bg:#01070f;--bg2:#020d18;--panel:rgba(5,20,35,.78);--panel2:rgba(8,31,52,.82);
  --line:rgba(38,141,205,.28);--line2:#0d9cf4;--blue:#00a9ff;--blue2:#116dff;
  --cyan:#35dcff;--text:#f8fbff;--muted:#7fa0b9;--green:#1fdda5;--orange:#ffb74d;
  --red:#ff5d7c;--gold:#d8b56e;--purple:#8d7dff;--shadow:0 25px 80px rgba(0,0,0,.48);
}
html,body{min-height:100%;background:#01070f}
body{font-family:"Segoe UI",Inter,Arial,sans-serif;letter-spacing:.01em;background:
  radial-gradient(circle at 84% 0%,rgba(0,126,255,.12),transparent 30%),
  radial-gradient(circle at 20% 80%,rgba(0,203,255,.05),transparent 28%),
  linear-gradient(180deg,#01070f,#020a13 48%,#01060c);}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.48;background-image:
  linear-gradient(rgba(0,169,255,.026) 1px,transparent 1px),
  linear-gradient(90deg,rgba(0,169,255,.026) 1px,transparent 1px);
  background-size:52px 52px;mask-image:linear-gradient(to bottom,black 0%,rgba(0,0,0,.65) 55%,transparent 100%)}
body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(90deg,transparent 0,rgba(0,159,255,.02) 50%,transparent 100%)}

/* top level gateway */
.gateway{background:
  linear-gradient(90deg,rgba(0,5,12,.99) 0%,rgba(0,9,19,.94) 42%,rgba(0,11,22,.34) 72%,rgba(0,5,12,.58) 100%),
  url('/assets/hvia-brand-poster.png') 76% 50%/auto 118% no-repeat,#01070f;
  place-items:stretch;padding:0}
.gateway:before{background-image:
  linear-gradient(rgba(0,169,255,.045) 1px,transparent 1px),
  linear-gradient(90deg,rgba(0,169,255,.045) 1px,transparent 1px);background-size:60px 60px;mask-image:none;opacity:.7}
.gateway:after{content:"";position:absolute;inset:auto 0 0;height:28%;background:linear-gradient(180deg,transparent,rgba(0,133,255,.08),rgba(0,0,0,.52));pointer-events:none}
.gateway-inner{width:min(1440px,94vw);margin:auto;padding:42px 0 58px;z-index:2}
.brand-logo{width:206px;filter:drop-shadow(0 0 20px rgba(0,174,255,.16))}
.gateway h1{font-size:clamp(56px,6vw,92px);font-weight:900;letter-spacing:-3.5px;max-width:760px;margin-top:86px;text-shadow:0 8px 40px rgba(0,0,0,.65)}
.gateway h1 .accent{background:linear-gradient(180deg,#65e4ff,#00a2ff 48%,#1474ff);-webkit-background-clip:text;color:transparent;text-shadow:none}
.gateway p{max-width:680px;color:#b8cada;font-size:18px}.gateway-cards{max-width:900px;gap:14px;margin-top:32px}
.choice{position:relative;overflow:hidden;border-radius:10px;border:1px solid rgba(32,143,209,.45);background:linear-gradient(145deg,rgba(7,29,49,.88),rgba(2,11,21,.9));box-shadow:0 22px 70px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.03)}
.choice:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(#28dbff,#087bff);box-shadow:0 0 22px #00a9ff}
.choice:hover{transform:translateY(-4px) scale(1.005);border-color:#19bdfd;box-shadow:0 28px 78px rgba(0,65,124,.32)}
.choice .icon{font-size:24px;color:#4bdcff;text-shadow:0 0 20px #0aa9ff}.choice h3{font-size:20px}.choice p{color:#87a8bd}
.eyebrow{font-size:10px;letter-spacing:5.2px;color:#4cdcff;text-shadow:0 0 18px rgba(0,184,255,.34)}

/* buttons */
.btn{border-radius:7px;letter-spacing:.02em;position:relative;overflow:hidden;isolation:isolate}
.btn:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 10%,rgba(255,255,255,.13) 44%,transparent 65%);transform:translateX(-140%);transition:.45s;z-index:-1}
.btn:hover:after{transform:translateX(140%)}
.btn-primary{background:linear-gradient(135deg,#02b9ff,#087cff 55%,#1e67ff);box-shadow:0 0 0 1px rgba(49,203,255,.18),0 10px 30px rgba(0,131,255,.24)}
.btn-outline{background:rgba(3,16,29,.6);border-color:#1b638d;color:#dff6ff}.btn-soft{background:rgba(5,40,67,.64);border-color:#14577f}.btn-gold{background:linear-gradient(135deg,#8e692b,#dabb72 47%,#8f682a);color:#06121d}

/* public explorer */
.public{background:#01070f}.public-nav{height:82px;background:rgba(0,7,15,.86);border-bottom:1px solid rgba(29,123,183,.25);box-shadow:0 14px 42px rgba(0,0,0,.28)}
.public-nav img{width:175px}.public-links a{font-size:13px;color:#a5c2d5}.public-links a:hover{color:#41ddff}
.public-hero{min-height:610px;padding:90px min(8vw,110px);background:
 linear-gradient(90deg,#01070f 0%,rgba(1,7,15,.92) 42%,rgba(1,8,17,.18) 71%,rgba(1,7,15,.46) 100%),
 url('/assets/hvia-brand-poster.png') 80% 48%/auto 125% no-repeat,#01070f;border-bottom:1px solid rgba(20,105,158,.24)}
.public-hero h1{font-size:clamp(54px,6vw,88px);max-width:790px;letter-spacing:-3px}.public-hero p{font-size:18px;color:#a9c0d2}
.demo-card,.contact-panel{border-radius:11px;background:linear-gradient(145deg,rgba(8,31,52,.86),rgba(2,13,24,.9));border-color:rgba(37,137,198,.35);box-shadow:0 18px 55px rgba(0,0,0,.28)}
.demo-card:hover{border-color:#16aeea;transform:translateY(-3px);transition:.25s}

/* login — cinematic */
.login{grid-template-columns:1.28fr .72fr;background:#01070f}.login-visual{background:
 linear-gradient(90deg,rgba(0,4,10,.08),rgba(0,5,12,.26) 55%,#01070f 100%),
 url('/assets/hvia-brand-poster.png') 58% 50%/cover no-repeat;}
.login-visual:after{background:linear-gradient(0deg,rgba(1,7,15,.76),transparent 48%),linear-gradient(90deg,transparent 30%,rgba(1,7,15,.82) 100%)}
.login-copy{bottom:7%;left:7%;max-width:640px}.login-copy h1{font-size:62px;font-weight:900;letter-spacing:-2px}.login-copy p{font-size:16px;color:#a9c5d8}
.login-panel{background:linear-gradient(180deg,#010811,#020c17)}.login-panel:before{background:radial-gradient(circle at 50% 30%,rgba(0,149,255,.16),transparent 34%),linear-gradient(rgba(0,169,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(0,169,255,.025) 1px,transparent 1px);background-size:auto,42px 42px,42px 42px}
.login-card{width:min(440px,92vw);padding:36px;border-radius:11px;background:linear-gradient(145deg,rgba(6,25,43,.92),rgba(2,12,23,.97));border:1px solid rgba(30,133,196,.45);box-shadow:0 32px 90px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.035)}
.login-card:before{content:"";position:absolute;left:0;top:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#27ddff,#147cff,transparent);box-shadow:0 0 22px #0aa9ff}
.login-card img{width:165px}.login-card h2{font-size:34px;letter-spacing:-1px}

/* shell */
.shell{grid-template-columns:266px 1fr;background:transparent}.sidebar{width:266px;padding:19px 13px 22px;background:
 linear-gradient(180deg,rgba(3,16,29,.98),rgba(2,10,19,.99)),
 url('/assets/hvia-brand-poster.png') 67% 100%/auto 58% no-repeat;border-right:1px solid rgba(23,106,159,.3);box-shadow:16px 0 55px rgba(0,0,0,.28)}
.sidebar:after{content:"";position:fixed;left:0;bottom:0;width:266px;height:250px;background:linear-gradient(180deg,transparent,rgba(0,73,126,.16),rgba(0,7,14,.84));pointer-events:none}
.side-logo{position:relative;z-index:2;border-bottom:1px solid rgba(31,117,170,.26);padding-bottom:16px}.side-logo img{width:164px}.role-pill{margin:10px 7px 0;background:rgba(0,108,173,.16);border:1px solid rgba(36,172,241,.22);color:#57dfff;letter-spacing:1.4px}
.nav{position:relative;z-index:2}.nav .section{color:#3f7697;letter-spacing:2.6px;padding-top:17px}.nav button{padding:11px 12px;border-radius:6px;color:#8dacbf;font-size:13px;border:1px solid transparent}.nav button:hover{background:rgba(5,43,72,.72);border-color:rgba(32,132,190,.22)}
.nav button.active{background:linear-gradient(90deg,rgba(0,107,180,.72),rgba(0,72,126,.28));border-color:rgba(43,173,239,.3);box-shadow:inset 3px 0 0 #30d9ff,0 0 34px rgba(0,125,255,.08);color:#fff}
.nav .nav-icon{color:#4fdcff;text-shadow:0 0 15px rgba(0,183,255,.5)}
.sidebar-foot{position:relative;z-index:3;border-radius:7px;margin-top:30px;background:rgba(2,17,30,.8);border-color:rgba(24,108,161,.32);line-height:1.7}.neon-ver{color:#3bdcff;font-size:9px;letter-spacing:1.4px}
.main{grid-column:2;background:linear-gradient(180deg,rgba(1,8,16,.76),rgba(1,7,13,.96))}
.topbar{height:78px;padding:0 26px;background:rgba(1,9,18,.86);border-bottom:1px solid rgba(20,96,147,.28);box-shadow:0 12px 40px rgba(0,0,0,.22)}
.topbar:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,#0f87cf 30%,#23d9ff 55%,transparent 90%);opacity:.4}
.top-brand{display:flex;align-items:center;gap:9px;margin-right:18px;white-space:nowrap}.top-brand b{font-size:15px;letter-spacing:1.4px}.top-brand span:last-child{font-size:9px;color:#5d87a3;letter-spacing:1.7px}.pulse-dot{width:7px;height:7px;border-radius:50%;background:#2bdcff;box-shadow:0 0 15px #1dd8ff;animation:pulse 1.8s infinite}@keyframes pulse{50%{opacity:.35;transform:scale(.75)}}
.search{margin-right:auto;width:min(420px,35vw);border-radius:6px;background:rgba(3,20,35,.74);border-color:rgba(30,108,153,.36);padding:11px 14px}.search:focus{outline:none;border-color:#20bdf4;box-shadow:0 0 0 3px rgba(0,174,255,.07)}
.notify-btn{border-radius:7px;background:rgba(6,28,47,.82);border-color:rgba(29,126,184,.35)}.user-chip{padding:6px 10px;border:1px solid rgba(31,116,169,.2);background:rgba(5,22,38,.55);border-radius:8px}.avatar{border-radius:7px}.edition-badge{font-size:9px;font-weight:900;letter-spacing:1.2px;color:#43e3ff;padding:6px 8px;border:1px solid rgba(41,191,242,.26);background:rgba(0,92,149,.13);border-radius:5px}
.content{padding:26px 28px 42px;max-width:1700px;margin:0 auto}

/* cinematic hero inside system */
.cinematic-hero{min-height:210px;padding:30px 34px;border-radius:12px;border:1px solid rgba(26,115,173,.36);background:
 linear-gradient(90deg,rgba(3,17,30,.98) 0%,rgba(4,24,42,.96) 54%,rgba(3,21,37,.36) 74%,rgba(2,10,18,.36) 100%),
 url('/assets/hvia-brand-poster.png') 91% 54%/auto 255% no-repeat;box-shadow:0 30px 80px rgba(0,0,0,.32);display:flex;align-items:center;overflow:hidden}
.cinematic-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(0,169,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(0,169,255,.025) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(90deg,black,transparent 75%)}
.cinematic-hero:after{width:460px;height:460px;right:-140px;top:-180px;border-color:rgba(25,190,255,.13);box-shadow:0 0 90px rgba(0,133,255,.13)}
.hero-copy{position:relative;z-index:2;max-width:720px}.hero h1{font-size:38px;letter-spacing:-1.3px;font-weight:900;margin:7px 0 9px}.hero p{font-size:14px;line-height:1.6;color:#8fb0c5;max-width:650px}.hero-signature{margin-top:22px;display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:2px;font-weight:800;color:#67dfff}.hero-signature i{display:block;width:26px;height:1px;background:#1a6896}.hero-portal{position:absolute;right:28px;top:20px;bottom:20px;width:250px;display:flex;align-items:center;justify-content:flex-end;z-index:1}.portal-glow{position:absolute;right:10px;width:110px;height:165px;border:1px solid rgba(70,214,255,.52);box-shadow:0 0 24px #00aaff,0 0 70px rgba(0,121,255,.5),inset 0 0 40px rgba(0,162,255,.18);background:linear-gradient(180deg,rgba(21,208,255,.08),rgba(0,106,255,.03));transform:perspective(500px) rotateY(-10deg)}.portal-copy{position:relative;margin-right:138px;color:#3bbbe8;font-size:9px;line-height:1.7;letter-spacing:2px}.portal-copy b{color:#77e7ff;font-weight:600}

/* cards & data */
.grid{gap:13px}.kpis{gap:11px;margin-top:13px}.card{border-radius:8px;padding:17px;background:linear-gradient(145deg,rgba(7,29,49,.82),rgba(3,15,27,.9));border:1px solid rgba(30,111,160,.31);box-shadow:0 18px 42px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.02);backdrop-filter:blur(7px)}
.card:hover{border-color:rgba(35,145,206,.43)}.card h3{font-size:14px;letter-spacing:.01em}.kpi{min-height:115px;padding:18px}.kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(#22d9ff,#0874ff);box-shadow:0 0 14px #00aaff}.kpi:after{width:100px;height:100px;right:-42px;bottom:-45px;border-color:rgba(0,169,255,.12);box-shadow:0 0 30px rgba(0,142,255,.06)}.kpi .label{font-size:9px;letter-spacing:1.2px}.kpi .value{font-size:31px;color:#f7fbff}.two{grid-template-columns:1.25fr .75fr}.table-wrap{border-radius:7px;border-color:rgba(24,102,151,.32);background:rgba(2,12,22,.48)}.table th{font-size:9px;letter-spacing:.9px;text-transform:uppercase;background:rgba(5,30,51,.86);color:#76cfee}.table td{border-color:rgba(14,65,99,.45);color:#bad2df}.table tr:hover td{background:rgba(4,35,59,.74)}
.announcement,.meeting,.file-row,.fact,.task,.lane,.resource{border-radius:7px;background:linear-gradient(145deg,rgba(5,28,48,.8),rgba(3,16,28,.88));border-color:rgba(26,109,160,.31)}.announcement{border-left-color:#1fc9ff}.activity{border-color:rgba(15,66,99,.5)}.activity-dot{box-shadow:0 0 18px #1bd9ff}.bar{height:5px;background:#061c2f}.bar i{background:linear-gradient(90deg,#0ad5ff,#0b78ff);box-shadow:0 0 15px rgba(0,162,255,.3)}
.task-board{gap:10px}.lane{min-height:400px}.task{box-shadow:0 8px 22px rgba(0,0,0,.18)}.task:hover{border-color:#179edb;transform:translateY(-1px);transition:.18s}
.resource-cover{background:radial-gradient(circle at 50% 35%,rgba(0,171,255,.32),rgba(3,29,50,.88) 55%,#020d18),linear-gradient(135deg,#031321,#072d4b)}
.profile-avatar{border-radius:12px;border-color:#35dcff;box-shadow:0 0 30px rgba(0,169,255,.16)}
.fact b{letter-spacing:.8px}.metric-ring{background:conic-gradient(#22cfff calc(var(--p)*1%),#061c30 0);box-shadow:0 0 32px rgba(0,147,255,.1)}
.metric-ring:after{background:#04111f}

/* forms */
.field label{font-size:9px;letter-spacing:1.1px;color:#729db8}.field input,.field select,.field textarea,.mini-input{border-radius:6px;background:rgba(2,15,27,.88);border-color:rgba(28,101,145,.44);color:#eaf8ff}.field input:focus,.field select:focus,.field textarea:focus,.mini-input:focus{border-color:#1ebff6;box-shadow:0 0 0 3px rgba(0,169,255,.07)}
.field input::file-selector-button{border-radius:5px;background:linear-gradient(135deg,#07355a,#0b5185);border-color:#176a9a}.badge{border-radius:4px;text-transform:uppercase;letter-spacing:.45px;font-size:8px}.modal{background:rgba(0,4,9,.84)}.modal-card{border-radius:9px;border-color:rgba(32,142,204,.43);background:linear-gradient(145deg,#071a2d,#020d18);box-shadow:0 40px 110px rgba(0,0,0,.7)}

/* premium certificate visual */
.cert-preview{border-radius:4px;background:
 radial-gradient(circle at 86% 30%,rgba(0,133,255,.16),transparent 28%),
 linear-gradient(135deg,#020b15,#05182a 54%,#020b15);border:1px solid #c5a661;box-shadow:inset 0 0 0 7px #03111e,inset 0 0 0 8px rgba(210,177,103,.8),0 20px 55px rgba(0,0,0,.36);padding:35px}
.cert-preview:before{content:"";position:absolute;inset:14px;border:1px solid rgba(33,164,225,.35);pointer-events:none}.cert-preview:after{width:340px;height:340px;right:-140px;top:-150px;border-color:rgba(0,166,255,.16);box-shadow:0 0 70px rgba(0,140,255,.12)}
.cert-kicker{font-size:8px;color:#55cfff;letter-spacing:3px;margin-bottom:8px}.cert-preview .big{font-size:31px;letter-spacing:2px;background:linear-gradient(90deg,#a9823f,#f3d99d,#b8924d);-webkit-background-clip:text;color:transparent}.cert-preview .name{font-size:31px;color:#f3ddb0}.cert-seal{background:radial-gradient(circle,#d7bd78,#856327);box-shadow:0 0 0 5px #061321,0 0 0 6px #bc9850,0 0 30px rgba(216,181,110,.16)}

/* onboarding */
.onboard{background:
 linear-gradient(90deg,rgba(0,5,12,.94),rgba(2,13,24,.76)),
 url('/assets/hvia-brand-poster.png') 76% 50%/auto 130% fixed no-repeat,#01070f}
.onboard-card{border-radius:10px;background:rgba(3,17,30,.94);border-color:rgba(30,131,190,.4)}.step{border-radius:6px}.step.active{background:linear-gradient(135deg,#0877c9,#0ba9f0)}.track-option{border-radius:7px;background:rgba(3,22,38,.8)}

@media(max-width:1200px){.top-brand{display:none}.hero-portal{opacity:.55}.cinematic-hero{background-position:100% 54%}.edition-badge{display:none}}
@media(max-width:900px){.shell{display:block}.sidebar{display:none}.main{grid-column:auto}.login{grid-template-columns:1fr}.login-visual{display:none}.topbar{height:68px}.content{padding:15px}.cinematic-hero{min-height:185px;padding:25px;background:linear-gradient(110deg,rgba(4,23,40,.96),rgba(2,13,24,.9)),url('/assets/hvia-brand-poster.png') right center/auto 220% no-repeat}.hero-portal{display:none}.hero h1{font-size:30px}.gateway{background-position:68% 50%}.gateway h1{margin-top:54px}}

/* =========================================================
   HVIA CONTROL CENTER · V4 DUAL PORTAL
   Approved direction: premium dark data UI, no poster/photo
   used as a repeated background. Decorative backgrounds are
   lightweight SVG/CSS only for faster rendering.
   ========================================================= */
body{background:#020914 url('/assets/hvia-abstract-bg.svg') center top/cover fixed no-repeat}
.gateway{background:
  linear-gradient(90deg,rgba(2,9,20,.98),rgba(4,21,38,.84)),
  url('/assets/hvia-abstract-bg.svg') center/cover no-repeat}
.public{background:#020914 url('/assets/hvia-wave-bg.svg') center 72px/100% auto no-repeat}
.public-hero{background:
  linear-gradient(90deg,rgba(2,9,20,.99) 0,rgba(2,9,20,.94) 48%,rgba(2,9,20,.30) 100%),
  url('/assets/hvia-wave-bg.svg') center/cover no-repeat}
.login{background:#020914}
.login-visual{background:
  linear-gradient(110deg,rgba(2,9,20,.96),rgba(3,20,36,.58)),
  url('/assets/hvia-abstract-bg.svg') center/cover no-repeat}
.login-visual:after{background:
  radial-gradient(circle at 72% 40%,rgba(0,169,255,.18),transparent 30%),
  linear-gradient(90deg,rgba(2,9,20,.02),rgba(2,9,20,.55) 100%)}
.onboard{background:
  linear-gradient(110deg,rgba(2,9,20,.97),rgba(4,21,38,.90)),
  url('/assets/hvia-abstract-bg.svg') center/cover fixed no-repeat}
.sidebar{background:
  linear-gradient(180deg,rgba(3,16,29,.995),rgba(2,10,19,.995)),
  url('/assets/hvia-wave-bg.svg') 20% 100%/auto 45% no-repeat}
.cinematic-hero{background:
  radial-gradient(circle at 88% 46%,rgba(0,145,255,.17),transparent 22%),
  linear-gradient(90deg,rgba(3,17,30,.99) 0%,rgba(4,24,42,.97) 60%,rgba(3,21,37,.86) 100%),
  url('/assets/hvia-wave-bg.svg') right center/68% 100% no-repeat}
.hero-portal{opacity:.96}.portal-glow{width:126px;height:126px;border-radius:50%;border:1px solid rgba(70,214,255,.45);box-shadow:0 0 24px rgba(0,170,255,.55),0 0 70px rgba(0,121,255,.23),inset 0 0 40px rgba(0,162,255,.14);background:radial-gradient(circle,rgba(24,190,255,.12),rgba(0,106,255,.02) 68%);transform:none}
.portal-glow:before,.portal-glow:after{content:"";position:absolute;inset:18px;border:1px solid rgba(76,203,255,.25);border-radius:50%}.portal-glow:after{inset:38px}
.portal-copy{margin-right:148px}

/* leaner controls for the v1-like fast feel */
.card{backdrop-filter:none}.topbar{backdrop-filter:none}.modal-card{max-height:92vh;overflow:auto}
.btn{transition:.12s ease}.btn:hover{transform:translateY(-1px)}

/* Task assignment UX */
.task-create-form{min-width:min(820px,82vw)}
.assignment-panel{padding:14px;border:1px solid rgba(32,137,197,.38);border-radius:8px;background:rgba(3,18,32,.62)}
.assignment-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.btn-mini{padding:7px 10px!important;font-size:11px!important}
.student-picker{max-height:260px;overflow:auto;border:1px solid rgba(22,94,140,.38);border-radius:7px;background:#020d18;padding:5px}
.student-pick{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:9px;padding:9px 10px;border-bottom:1px solid rgba(18,66,100,.43);cursor:pointer}
.student-pick:last-child{border-bottom:0}.student-pick:hover{background:rgba(7,46,77,.55)}
.student-pick input{accent-color:#0aa9ff;width:16px;height:16px}.student-pick span{display:grid;gap:2px}.student-pick small{color:#6f94ad}.student-pick em{font-style:normal;font-size:10px;color:#5ed8ff;border:1px solid rgba(34,166,225,.28);padding:4px 6px;border-radius:4px;white-space:nowrap}
.assignment-rule{margin-top:9px;padding:9px 10px;border-left:2px solid #0aa9ff;background:rgba(0,105,174,.10);color:#94b5cb;font-size:12px}.assignment-rule span{color:#5bdcff}
.empty.compact{padding:18px}

/* keep mobile clean and photo-free */
@media(max-width:900px){
  .cinematic-hero{background:linear-gradient(110deg,rgba(4,23,40,.98),rgba(2,13,24,.96)),url('/assets/hvia-wave-bg.svg') right center/cover no-repeat}
  .gateway{background:linear-gradient(110deg,rgba(2,9,20,.99),rgba(4,21,38,.94)),url('/assets/hvia-abstract-bg.svg') center/cover no-repeat}
  .task-create-form{min-width:0}.student-pick{grid-template-columns:20px 1fr}.student-pick em{display:none}
}

/* =========================================================
   HVIA V4 DUAL PORTAL · APPROVED DIRECTION
   Native UI based on the approved Visitor / Team Portal concept.
   The generated imagery is used as subtle ambience and demo artwork,
   never as a baked full-screen UI screenshot.
   ========================================================= */
:root{color-scheme:dark}
html[data-theme="dark"]{--bg:#020914;--bg2:#051426;--panel:#07182a;--panel2:#0a2038;--line:#123a5e;--line2:#0b6fae;--text:#f4f9ff;--muted:#8faabd;--surface:rgba(5,22,38,.90);--surface2:rgba(8,31,52,.86);--input:#041221;--nav:#031020;--shadow:0 20px 70px rgba(0,0,0,.38);color-scheme:dark}
html[data-theme="light"]{--bg:#eef5fb;--bg2:#f7fbff;--panel:#ffffff;--panel2:#edf6ff;--line:#bdd4e5;--line2:#5aa8df;--text:#0a1a29;--muted:#60788c;--surface:rgba(255,255,255,.91);--surface2:rgba(239,247,253,.95);--input:#f7fbff;--nav:#ffffff;--shadow:0 18px 55px rgba(25,65,95,.14);color-scheme:light}
html[data-theme="light"] body{background:#edf5fb;color:var(--text)}
html[data-theme="light"] a{color:#087bc2}
html[data-theme="light"] ::-webkit-scrollbar-track{background:#e8f1f8}
html[data-theme="light"] ::-webkit-scrollbar-thumb{background:#9ec5dc}

.theme-toggle{width:42px;height:42px;border-radius:50%;border:1px solid rgba(64,174,230,.5);background:rgba(4,24,42,.76);color:#dff6ff;font-size:18px;display:grid;place-items:center;box-shadow:0 0 24px rgba(0,148,255,.12)}
html[data-theme="light"] .theme-toggle{background:#fff;color:#0d5a8c;border-color:#a7cade;box-shadow:0 6px 20px rgba(24,78,112,.12)}

/* landing / dual journey */
.v4-gateway{min-height:100vh;position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(2,8,16,.34),rgba(1,7,14,.80)),url('/assets/generated/dual-portal-dark.jpg') center/cover fixed no-repeat;color:#f6fbff;display:flex;flex-direction:column}
.v4-gateway:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(26,151,221,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(26,151,221,.04) 1px,transparent 1px);background-size:58px 58px;pointer-events:none}
html[data-theme="light"] .v4-gateway{background:linear-gradient(180deg,rgba(248,252,255,.58),rgba(238,247,253,.88)),url('/assets/generated/dual-portal-light.jpg') center/cover fixed no-repeat;color:#0a1b29}
.v4-gateway-shade{position:absolute;inset:0;background:radial-gradient(circle at 50% 36%,transparent 0,rgba(2,9,20,.12) 35%,rgba(2,9,20,.30) 100%);pointer-events:none}
html[data-theme="light"] .v4-gateway-shade{background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.06),rgba(230,242,250,.24) 58%,rgba(210,228,240,.35))}
.v4-home-nav{height:78px;position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(28px,6vw,96px);border-bottom:1px solid rgba(102,191,236,.15);background:linear-gradient(180deg,rgba(2,10,18,.50),rgba(2,10,18,.12));backdrop-filter:blur(10px)}
html[data-theme="light"] .v4-home-nav{background:rgba(255,255,255,.76);border-bottom-color:#c9dce8}
.v4-home-nav img{width:190px;max-height:62px;object-fit:contain}.v4-navlinks{display:flex;gap:36px;align-items:center}.v4-navlinks a{color:#e5f4ff;cursor:pointer;font-weight:600;font-size:14px}.v4-navlinks a:hover{color:#2ac7ff}.v4-home-nav .btn{padding:10px 18px}
html[data-theme="light"] .v4-navlinks a{color:#294052}.public-sticky{position:sticky;top:0;z-index:30;background:rgba(2,10,19,.92)}html[data-theme="light"] .public-sticky{background:rgba(255,255,255,.94)}
.v4-entry-wrap{position:relative;z-index:2;width:min(1320px,92vw);margin:auto;padding:42px 0 34px}.v4-entry-head{text-align:center;max-width:860px;margin:0 auto 32px}.v4-entry-head h1{font-size:clamp(42px,5.1vw,76px);line-height:.98;margin:12px 0 14px;letter-spacing:-2.6px}.v4-entry-head h1 span{background:linear-gradient(90deg,#14d9ff,#1679ff);-webkit-background-clip:text;color:transparent}.v4-entry-head p{font-size:17px;color:#bad0df;margin:0 auto;line-height:1.55;max-width:700px}html[data-theme="light"] .v4-entry-head p{color:#526d82}
.v4-dual-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1110px;margin:auto}.v4-path-card{min-height:400px;border:1px solid rgba(49,181,237,.55);border-radius:26px;padding:30px 34px;position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(6,24,40,.94),rgba(5,20,34,.82));box-shadow:0 28px 90px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.05)}
.v4-path-card:after{content:"";position:absolute;right:0;top:0;width:47%;height:100%;background-position:center;background-size:cover;opacity:.24;mask-image:linear-gradient(90deg,transparent,black 48%);pointer-events:none}.v4-path-card.visitor-card:after{background-image:url('/assets/generated/visitor-card.jpg')}.v4-path-card.team-card:after{background-image:url('/assets/generated/team-card.jpg')}.v4-path-card.team-card{border-color:rgba(92,112,255,.55)}
html[data-theme="light"] .v4-path-card{background:rgba(255,255,255,.91);border-color:#7dc4ea;box-shadow:0 20px 60px rgba(35,87,118,.14)}html[data-theme="light"] .v4-path-card.team-card{border-color:#9eaef4}
.v4-path-card>*{position:relative;z-index:2}.v4-path-icon{width:58px;height:58px;display:grid;place-items:center;border:1px solid rgba(63,190,242,.5);border-radius:16px;background:rgba(7,43,70,.70);font-size:30px;color:#58ddff;box-shadow:0 0 30px rgba(0,155,255,.13)}.v4-mini{margin-top:20px;font-size:10px;letter-spacing:3px;color:#74d9ff}.v4-path-card h2{font-size:30px;margin:9px 0 9px}.v4-path-card p{max-width:580px;color:#b3c8d7;font-size:15px;line-height:1.6}.v4-path-card ul{padding:0;margin:20px 0 24px;list-style:none;display:grid;gap:10px;color:#d5e8f4}.v4-path-card li:before{content:"→";color:#32cfff;margin-right:10px}html[data-theme="light"] .v4-path-card p{color:#627789}html[data-theme="light"] .v4-path-card ul{color:#2d4557}.v4-wide{min-width:270px;font-size:15px}
.v4-capabilities{max-width:1180px;margin:28px auto 0;padding:19px 12px;border-top:1px solid rgba(72,174,221,.22);border-bottom:1px solid rgba(72,174,221,.22);display:grid;grid-template-columns:repeat(5,1fr);gap:10px;color:#b5cedd;font-size:12px;text-align:center}.v4-capabilities span{display:flex;align-items:center;justify-content:center;gap:8px}.v4-capabilities b{font-weight:600}.v4-home-footer{position:relative;z-index:3;min-height:62px;padding:18px clamp(28px,6vw,96px);display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(88,175,220,.15);font-size:11px;color:#7998ae;background:rgba(2,8,15,.55)}html[data-theme="light"] .v4-home-footer{background:rgba(255,255,255,.76);border-top-color:#cbdde8;color:#687f90}

/* public buyer side */
.v4-public{min-height:100vh;background:var(--bg);color:var(--text)}.v4-public-hero{min-height:540px;display:flex;align-items:center;padding:74px clamp(30px,7vw,108px);background:linear-gradient(90deg,rgba(2,9,20,.98),rgba(2,11,22,.80) 52%,rgba(2,11,22,.10)),url('/assets/generated/demo-solutions.png') 82% 45%/58% auto no-repeat}.v4-public-hero>div{max-width:700px}.v4-public-hero h1{font-size:clamp(50px,6vw,84px);line-height:.97;margin:16px 0 18px;letter-spacing:-2.6px}.v4-public-hero p{font-size:18px;line-height:1.7;color:#a9bfd0}.v4-public-hero .group{margin-top:28px}
html[data-theme="light"] .v4-public-hero{background:linear-gradient(90deg,rgba(246,251,255,.99),rgba(244,250,254,.88) 55%,rgba(245,251,255,.25)),url('/assets/generated/demo-solutions.png') 82% 45%/58% auto no-repeat}html[data-theme="light"] .v4-public-hero p{color:#5d7487}
.v4-solution-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:20px clamp(30px,7vw,108px);gap:1px;background:rgba(6,28,47,.55);border-top:1px solid #0e3654;border-bottom:1px solid #0e3654}.v4-solution-strip>div{padding:14px 22px;border-right:1px solid rgba(56,137,182,.25);display:grid;gap:5px}.v4-solution-strip b{font-size:13px}.v4-solution-strip small{color:var(--muted)}html[data-theme="light"] .v4-solution-strip{background:#e8f3fa;border-color:#c0d8e6}
.v4-public-section{padding:62px clamp(30px,7vw,108px)}.v4-demo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.v4-demo-card{overflow:hidden;border-radius:20px;border:1px solid rgba(35,123,174,.40);background:var(--surface);box-shadow:var(--shadow)}.v4-demo-img{height:190px;background-size:cover;background-position:center}.v4-demo-body{padding:20px}.v4-demo-body h3{font-size:21px;margin:14px 0 8px}.v4-demo-body p{color:var(--muted);font-size:14px;line-height:1.6;min-height:68px}.v4-contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;border:1px solid rgba(45,137,190,.40);border-radius:24px;background:var(--surface);padding:34px;box-shadow:var(--shadow)}.v4-contact h2{font-size:42px;margin:12px 0}.v4-contact p{color:var(--muted);line-height:1.7}.v4-whatsapp{margin-top:25px;padding:14px 16px;border-left:3px solid #25d366;background:rgba(37,211,102,.08);border-radius:7px}

/* team login */
.v4-login{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:var(--bg)}.v4-login-brand{padding:58px clamp(42px,6vw,96px);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;background:linear-gradient(100deg,rgba(2,9,20,.92),rgba(3,18,31,.54)),url('/assets/generated/team-card.jpg') center/cover no-repeat;color:#fff}.v4-login-brand:after{content:"";position:absolute;width:700px;height:700px;border:1px solid rgba(30,169,235,.24);border-radius:50%;right:-320px;top:70px;box-shadow:0 0 100px rgba(0,120,255,.10)}.v4-login-brand img{width:220px;position:relative;z-index:2}.v4-login-brand>div{position:relative;z-index:2;max-width:600px}.v4-login-brand h1{font-size:60px;margin:10px 0}.v4-login-brand p{font-size:18px;color:#c1d2de;line-height:1.6}.v4-login-tags{display:flex!important;flex-wrap:wrap;gap:10px}.v4-login-tags span{border:1px solid rgba(75,183,233,.42);background:rgba(4,27,47,.72);padding:9px 13px;border-radius:999px;font-size:12px}.v4-login-panel{position:relative;display:grid;place-items:center;padding:55px;background:radial-gradient(circle at 45% 30%,rgba(0,151,255,.12),transparent 34%),var(--bg)}.v4-login-actions{position:absolute;right:28px;top:24px;display:flex;gap:10px}.v4-login .login-card{background:var(--surface);color:var(--text)}
html[data-theme="light"] .v4-login-brand{background:linear-gradient(100deg,rgba(8,24,38,.77),rgba(6,24,38,.35)),url('/assets/generated/team-card.jpg') center/cover no-repeat}.v4-login .field input{background:var(--input);color:var(--text)}

/* internal theme upgrade */
html[data-theme="light"] .sidebar{background:#fff url('/assets/hvia-wave-bg.svg') 20% 100%/auto 45% no-repeat;border-right-color:#cfdfeb}html[data-theme="light"] .side-logo{border-color:#d9e6ef}html[data-theme="light"] .nav button{color:#4b6375}html[data-theme="light"] .nav button:hover,html[data-theme="light"] .nav button.active{color:#fff}html[data-theme="light"] .sidebar-foot{background:#f3f9fd;color:#607d91;border-color:#ccdfeb}
html[data-theme="light"] .topbar{background:rgba(255,255,255,.94);border-bottom-color:#d0e0ea}html[data-theme="light"] .search{background:#f6fbfe;color:#173247;border-color:#bed4e2}html[data-theme="light"] .notify-btn{background:#f7fbfe;color:#0c6ea7;border-color:#bfd8e7}
html[data-theme="light"] .content{background:linear-gradient(180deg,#f1f7fb,#eaf3f9)}
html[data-theme="light"] .card,html[data-theme="light"] .announcement,html[data-theme="light"] .meeting,html[data-theme="light"] .file-row,html[data-theme="light"] .fact,html[data-theme="light"] .task,html[data-theme="light"] .lane,html[data-theme="light"] .resource{background:#fff;color:#132d40;border-color:#c9dce9;box-shadow:0 10px 35px rgba(28,75,105,.08)}
html[data-theme="light"] .table-wrap{background:#fff;border-color:#cadde8}html[data-theme="light"] .table th{background:#edf6fb;color:#30709a}html[data-theme="light"] .table td{color:#375469;border-color:#e0ebf2}html[data-theme="light"] .table tr:hover td{background:#f6fbfe}
html[data-theme="light"] .field input,html[data-theme="light"] .field select,html[data-theme="light"] .field textarea,html[data-theme="light"] .mini-input{background:#fff;color:#173247;border-color:#bfd4e2}html[data-theme="light"] .modal{background:rgba(20,43,61,.35)}html[data-theme="light"] .modal-card{background:#fff;color:#162e40;border-color:#a7c9dc}
html[data-theme="light"] .cinematic-hero{background:radial-gradient(circle at 88% 46%,rgba(0,145,255,.10),transparent 22%),linear-gradient(90deg,#ffffff,#edf7fc 64%,#e6f3fa),url('/assets/hvia-wave-bg.svg') right center/68% 100% no-repeat;border-color:#c9dce8}html[data-theme="light"] .hero p,html[data-theme="light"] .small,html[data-theme="light"] .muted{color:#687f90}
html[data-theme="light"] .task-student-check{accent-color:#0a8dd6}html[data-theme="light"] .student-picker{background:#f8fbfd;border-color:#c8dce8}html[data-theme="light"] .student-pick{border-color:#deebf2}html[data-theme="light"] .student-pick:hover{background:#edf7fc}html[data-theme="light"] .assignment-panel{background:#f7fbfe;border-color:#bed8e7}
.mentor-scope-tools{display:grid;grid-template-columns:1.4fr 1fr;gap:10px;margin-bottom:10px}.mentor-picker{max-height:470px;overflow:auto;border:1px solid rgba(27,102,147,.30);border-radius:10px;padding:7px}.mentor-row input{width:18px;height:18px;accent-color:#0aa9ff}

@media(max-width:1050px){.v4-navlinks{display:none}.v4-dual-grid{grid-template-columns:1fr}.v4-capabilities{grid-template-columns:repeat(2,1fr)}.v4-demo-grid{grid-template-columns:repeat(2,1fr)}.v4-contact{grid-template-columns:1fr}.v4-login{grid-template-columns:1fr}.v4-login-brand{min-height:380px}.v4-login-panel{min-height:620px}.v4-solution-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.v4-home-nav{padding:0 18px}.v4-home-nav img{width:150px}.v4-entry-wrap{padding-top:24px}.v4-path-card{padding:24px}.v4-capabilities{grid-template-columns:1fr}.v4-home-footer{flex-direction:column;gap:8px;text-align:center}.v4-demo-grid,.v4-solution-strip{grid-template-columns:1fr}.v4-public-section{padding-left:18px;padding-right:18px}.v4-public-hero{padding-left:18px;padding-right:18px}.v4-login-brand{padding:38px 26px}.v4-login-brand h1{font-size:42px}.v4-login-panel{padding:28px 18px}.mentor-scope-tools{grid-template-columns:1fr}}

/* =========================================================
   V5 LIGHT MODE — clean executive UI, no washed-out overlay
   ========================================================= */
html[data-theme="light"] body{background:#eef4f8!important;color:#102436!important}
html[data-theme="light"] .v4-gateway{
  background:
    radial-gradient(circle at 80% 18%,rgba(26,151,226,.11),transparent 26%),
    radial-gradient(circle at 12% 78%,rgba(28,184,224,.08),transparent 28%),
    linear-gradient(135deg,#f8fbfd 0%,#edf5fa 48%,#e7f1f7 100%)!important;
  color:#102436!important
}
html[data-theme="light"] .v4-gateway-shade{background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(224,238,247,.12))!important}
html[data-theme="light"] .v4-home-nav,
html[data-theme="light"] .v4-home-nav.public-sticky{
  background:linear-gradient(90deg,#03111f,#071d31 55%,#08243a)!important;
  border-bottom:1px solid #164a6b!important;
  box-shadow:0 12px 40px rgba(5,26,43,.18)!important
}
html[data-theme="light"] .v4-home-nav img{filter:none!important;opacity:1!important}
html[data-theme="light"] .v4-navlinks a{color:#d8edf8!important}
html[data-theme="light"] .v4-navlinks a:hover{color:#46cfff!important}
html[data-theme="light"] .v4-home-nav .btn-outline{background:#09243b!important;color:#e9f8ff!important;border-color:#2a80ae!important}
html[data-theme="light"] .v4-entry-head h1{color:#102436!important}
html[data-theme="light"] .v4-entry-head p{color:#5a7285!important}
html[data-theme="light"] .v4-path-card{
  background:linear-gradient(145deg,#ffffff 0%,#f8fbfe 100%)!important;
  border:1px solid #9dcce4!important;
  box-shadow:0 22px 65px rgba(38,83,111,.12),inset 0 1px 0 #fff!important;
  color:#102436!important
}
html[data-theme="light"] .v4-path-card.team-card{border-color:#a6b8ef!important}
html[data-theme="light"] .v4-path-card:after{opacity:.035!important}
html[data-theme="light"] .v4-path-card h2{color:#0e2639!important}
html[data-theme="light"] .v4-path-card p{color:#60778a!important}
html[data-theme="light"] .v4-path-card ul{color:#29465c!important}
html[data-theme="light"] .v4-path-icon{background:#eaf6fd!important;border-color:#9ed7f1!important;color:#087bb8!important;box-shadow:none!important}
html[data-theme="light"] .v4-capabilities{color:#3f6279!important;border-color:#bfd8e7!important;background:rgba(255,255,255,.55)!important;border-radius:16px}
html[data-theme="light"] .v4-home-footer{background:#06182a!important;color:#9fc1d5!important;border-top-color:#194762!important}
html[data-theme="light"] .theme-toggle{background:#0a263d!important;color:#f3fbff!important;border-color:#2b769d!important}

html[data-theme="light"] .sidebar{
  background:linear-gradient(180deg,#03111f,#05192a 64%,#071f34)!important;
  border-right:1px solid #174564!important;
  color:#f1f8fc!important
}
html[data-theme="light"] .side-logo{border-color:#163e59!important}
html[data-theme="light"] .nav .section{color:#5faad2!important}
html[data-theme="light"] .nav button{color:#b8cfdd!important}
html[data-theme="light"] .nav button:hover{background:#0a2942!important;color:#fff!important}
html[data-theme="light"] .nav button.active{background:linear-gradient(90deg,#0b67b7,#0a91df)!important;color:#fff!important;box-shadow:0 8px 25px rgba(2,107,183,.25)!important}
html[data-theme="light"] .sidebar-foot{background:#061c2f!important;color:#86a9bd!important;border-color:#16405d!important}
html[data-theme="light"] .topbar{background:rgba(255,255,255,.97)!important;border-bottom-color:#d1e0ea!important;box-shadow:0 8px 26px rgba(29,63,84,.06)}
html[data-theme="light"] .top-brand{color:#12324a!important}
html[data-theme="light"] .content{background:linear-gradient(180deg,#f4f8fb,#edf4f8)!important}
html[data-theme="light"] .card,
html[data-theme="light"] .announcement,
html[data-theme="light"] .meeting,
html[data-theme="light"] .file-row,
html[data-theme="light"] .fact,
html[data-theme="light"] .task,
html[data-theme="light"] .lane,
html[data-theme="light"] .resource,
html[data-theme="light"] .assignment-panel{
  background:#fff!important;color:#153149!important;border-color:#cbdde8!important;box-shadow:0 8px 28px rgba(31,73,100,.07)!important
}
html[data-theme="light"] .cinematic-hero{
  background:radial-gradient(circle at 88% 50%,rgba(24,150,218,.09),transparent 24%),linear-gradient(105deg,#ffffff,#f2f8fc 67%,#eaf4fa)!important;
  border-color:#c5dae7!important;box-shadow:0 14px 45px rgba(35,79,105,.08)!important
}
html[data-theme="light"] .hero h1,html[data-theme="light"] h1,html[data-theme="light"] h2,html[data-theme="light"] h3{color:#102b40}
html[data-theme="light"] .table-wrap{background:#fff!important;border-color:#ccdee9!important}
html[data-theme="light"] .table th{background:#eaf4fa!important;color:#25668d!important;border-bottom-color:#c9dce7!important}
html[data-theme="light"] .table td{color:#35546a!important;border-color:#e0ebf1!important}
html[data-theme="light"] .table tr:hover td{background:#f5fafe!important}
html[data-theme="light"] .field input,
html[data-theme="light"] .field select,
html[data-theme="light"] .field textarea,
html[data-theme="light"] .mini-input,
html[data-theme="light"] .search{background:#fbfdff!important;color:#153149!important;border-color:#bdd3e0!important}
html[data-theme="light"] .field input:focus,html[data-theme="light"] .field select:focus,html[data-theme="light"] .field textarea:focus{border-color:#299bd8!important;box-shadow:0 0 0 3px rgba(40,156,216,.10)!important}
html[data-theme="light"] .modal{background:rgba(9,28,42,.42)!important;backdrop-filter:blur(8px)}
html[data-theme="light"] .modal-card{background:#ffffff!important;color:#153149!important;border-color:#9dc6dd!important;box-shadow:0 28px 90px rgba(11,35,53,.24)!important}
html[data-theme="light"] .student-picker{background:#f8fbfd!important;border-color:#c8dce8!important}
html[data-theme="light"] .student-pick{background:#fff!important;border-color:#d9e7ef!important;color:#153149!important}
html[data-theme="light"] .student-pick:hover{background:#eef7fc!important}
html[data-theme="light"] .confirm-message{color:#4a6375!important;line-height:1.6}

/* HVIA V5.1 protected learning video */
.protected-video-shell{position:relative;background:#010812;border:1px solid rgba(28,180,255,.38);border-radius:10px;overflow:hidden;aspect-ratio:16/9;display:grid;place-items:center;user-select:none;-webkit-user-select:none}
.protected-video{width:100%;height:100%;background:#000;display:block;object-fit:contain}
.video-watermark{position:absolute;z-index:5;left:10%;top:12%;max-width:42%;padding:6px 9px;border-radius:5px;background:rgba(2,13,24,.34);border:1px solid rgba(130,220,255,.18);color:rgba(235,249,255,.58);font-size:11px;font-weight:800;letter-spacing:.25px;pointer-events:none;text-shadow:0 1px 3px #000;transition:left 1.2s ease,top 1.2s ease}
.video-protection-note{position:absolute;z-index:5;right:10px;bottom:42px;padding:5px 7px;border-radius:4px;background:rgba(0,8,16,.5);color:rgba(224,247,255,.62);font-size:9px;pointer-events:none}
.video-policy{margin:10px 2px 0;line-height:1.5}
.protected-video-shell.capture-shield:after{content:"HVIA PROTECTED CONTENT";position:absolute;z-index:20;inset:0;background:#020a12;color:#7fdaff;display:grid;place-items:center;font-size:24px;font-weight:900;letter-spacing:1px}
@media(max-width:620px){.video-watermark{max-width:68%;font-size:9px}.video-protection-note{display:none}}
