:root{
  --navy-950:#031525;
  --navy-900:#06233d;
  --navy-800:#083556;
  --blue-700:#0759c7;
  --blue-600:#0b6cf2;
  --blue-500:#2583ff;
  --cyan-500:#17c5d8;
  --cyan-100:#dcf9fc;
  --gold-500:#f6b93b;
  --green-600:#15825d;
  --red-600:#d33d4e;
  --amber-600:#a86b0b;
  --surface:#ffffff;
  --surface-soft:#f7fbff;
  --page:#edf5fb;
  --text:#14263a;
  --muted:#63788d;
  --border:#d9e6f0;
  --border-strong:#bfd1e0;
  --shadow-sm:0 8px 24px rgba(5,37,65,.07);
  --shadow-md:0 18px 48px rgba(5,37,65,.12);
  --shadow-lg:0 30px 80px rgba(2,27,49,.20);
  --radius-sm:12px;
  --radius-md:18px;
  --radius-lg:26px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  overflow-x:hidden;
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  color:var(--text);
  line-height:1.58;
  background:
    radial-gradient(circle at 6% 8%,rgba(37,131,255,.11),transparent 23rem),
    radial-gradient(circle at 95% 18%,rgba(23,197,216,.10),transparent 25rem),
    linear-gradient(180deg,#f8fcff 0%,var(--page) 45%,#f4f9fd 100%);
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  opacity:.38;
  background-image:
    linear-gradient(rgba(8,53,86,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(8,53,86,.035) 1px,transparent 1px);
  background-size:36px 36px;
  mask-image:linear-gradient(to bottom,black,transparent 88%);
}
body::after{
  content:"";
  position:fixed;
  width:520px;
  height:520px;
  right:-230px;
  bottom:-260px;
  z-index:-1;
  pointer-events:none;
  border-radius:50%;
  background:radial-gradient(circle,rgba(23,197,216,.14),rgba(11,108,242,.04) 54%,transparent 72%);
}

body.is-admin{
  background:
    radial-gradient(circle at 8% 8%,rgba(16,185,129,.10),transparent 22rem),
    radial-gradient(circle at 92% 10%,rgba(37,131,255,.12),transparent 24rem),
    linear-gradient(180deg,#f8fcff,#edf5fb 58%,#f7fbfe);
}
body.is-member{
  background:
    radial-gradient(circle at 7% 6%,rgba(23,197,216,.12),transparent 22rem),
    radial-gradient(circle at 94% 14%,rgba(246,185,59,.09),transparent 24rem),
    linear-gradient(180deg,#f8fcff,#eef6fc 60%,#f8fbfd);
}

::selection{background:#cce7ff;color:var(--navy-950)}
a{color:var(--blue-700);text-decoration:none;transition:color .2s ease,transform .2s ease}
a:hover{color:var(--blue-600)}
img{max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
.container{width:min(1180px,calc(100% - 34px));margin-inline:auto}

/* Navigation */
.topbar{
  position:sticky;
  top:0;
  z-index:50;
  border-bottom:1px solid rgba(191,209,224,.72);
  background:rgba(255,255,255,.84);
  backdrop-filter:blur(18px) saturate(145%);
  box-shadow:0 8px 28px rgba(4,35,61,.05);
}
.topbar::after{
  content:"";
  display:block;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--blue-500),var(--cyan-500),transparent);
  opacity:.65;
}
.nav-wrap{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;gap:12px;align-items:center;color:var(--navy-900);min-width:0}
.brand:hover{color:var(--navy-900)}
.brand-mark{
  width:48px;
  height:48px;
  flex:0 0 48px;
  position:relative;
  overflow:hidden;
  display:grid;
  place-items:center;
  border-radius:15px;
  color:#fff;
  font-size:14px;
  font-weight:900;
  letter-spacing:.03em;
  background:linear-gradient(145deg,var(--navy-900),var(--blue-600) 60%,var(--cyan-500));
  border:1px solid rgba(255,255,255,.32);
  box-shadow:0 10px 24px rgba(7,89,199,.22),inset 0 1px 0 rgba(255,255,255,.28);
}
.brand-mark::after{
  content:"";
  position:absolute;
  width:44px;
  height:10px;
  top:-5px;
  right:-14px;
  transform:rotate(35deg);
  background:rgba(255,255,255,.28);
}
.brand strong,.brand small{display:block;white-space:nowrap}
.brand strong{font-size:15px;letter-spacing:-.015em}
.brand small{color:var(--muted);font-size:11px;font-weight:600}
.nav{display:flex;align-items:center;gap:7px}
.nav>a:not(.btn){
  position:relative;
  padding:10px 11px;
  border-radius:10px;
  color:#314a61;
  font-size:13.5px;
  font-weight:700;
}
.nav>a:not(.btn):hover{color:var(--blue-700);background:#edf6ff}
.nav-toggle{display:none;border:0;background:#eef6ff;color:var(--navy-900);font-size:24px;width:44px;height:44px;border-radius:12px;cursor:pointer}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  border:1px solid transparent;
  border-radius:12px;
  padding:11px 18px;
  font-weight:800;
  line-height:1.15;
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn-sm{min-height:36px;padding:8px 13px;border-radius:10px;font-size:12.5px}
.btn-primary{color:#fff;background:linear-gradient(135deg,var(--blue-700),var(--blue-500));box-shadow:0 10px 22px rgba(11,108,242,.21)}
.btn-primary:hover{color:#fff;box-shadow:0 14px 30px rgba(11,108,242,.30)}
.btn-success{color:#fff;background:linear-gradient(135deg,#107251,#20a275)}
.btn-danger{color:#fff;background:linear-gradient(135deg,#b72d3d,#e04f60)}
.btn-outline{color:var(--navy-900);background:rgba(255,255,255,.82);border-color:var(--border-strong)}
.btn-outline:hover{border-color:#8bb8dc;background:#f2f9ff;color:var(--blue-700)}
.btn-light{color:var(--navy-900);background:#fff;box-shadow:0 10px 24px rgba(1,20,37,.16)}
.btn-light:hover{color:var(--blue-700);box-shadow:0 16px 32px rgba(1,20,37,.21)}
.btn-block{width:100%}

/* Public homepage */
.hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:650px;
  padding:94px 0 90px;
  color:#fff;
  background:
    radial-gradient(circle at 82% 26%,rgba(23,197,216,.28),transparent 19rem),
    radial-gradient(circle at 12% 90%,rgba(37,131,255,.30),transparent 22rem),
    linear-gradient(125deg,#031525 0%,#07345b 48%,#0759a9 100%);
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  opacity:.24;
  background-image:
    linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(100deg,black,transparent 76%);
}
.hero::after{
  content:"";
  position:absolute;
  z-index:-1;
  width:620px;
  height:620px;
  right:-150px;
  top:-260px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:50%;
  box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.018);
}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:center}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  padding:8px 13px;
  background:rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
  font-size:11px;
  font-weight:800;
  letter-spacing:.09em;
}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--cyan-500);box-shadow:0 0 0 5px rgba(23,197,216,.14)}
.hero h1{max-width:760px;margin:22px 0 18px;font-size:clamp(42px,5vw,70px);line-height:1.03;letter-spacing:-.052em;text-wrap:balance}
.hero p{max-width:680px;margin:0;font-size:18px;color:#d9eaf6}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.hero-trust{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.hero-trust span{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.06);font-size:12px;color:#d9edf8}
.hero-trust span::before{content:"✓";color:#70f3c6;font-weight:900}
.hero-card{
  position:relative;
  padding:22px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:30px;
  background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.07));
  backdrop-filter:blur(18px);
  box-shadow:0 32px 90px rgba(0,11,23,.35),inset 0 1px 0 rgba(255,255,255,.21);
}
.hero-card::before{
  content:"";
  position:absolute;
  inset:-1px;
  z-index:-1;
  border-radius:30px;
  background:linear-gradient(140deg,rgba(255,255,255,.32),transparent 35%,rgba(23,197,216,.22));
}
.vault-window{overflow:hidden;border-radius:20px;background:#f7fbff;box-shadow:0 20px 55px rgba(1,20,37,.20)}
.vault-window-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;border-bottom:1px solid #dce9f2;background:#fff;color:#365168;font-size:11px;font-weight:800}
.window-dots{display:flex;gap:5px}.window-dots i{display:block;width:7px;height:7px;border-radius:50%;background:#b8c8d5}.window-dots i:first-child{background:#ff7979}.window-dots i:nth-child(2){background:#f6c85f}.window-dots i:nth-child(3){background:#55c99a}
.vault-window-body{padding:18px;color:var(--text)}
.vault-summary{display:grid;grid-template-columns:1.3fr .7fr;gap:12px;margin-bottom:14px}
.vault-banner{min-height:104px;padding:17px;border-radius:16px;color:#fff;background:linear-gradient(135deg,var(--navy-800),var(--blue-600));position:relative;overflow:hidden}
.vault-banner::after{content:"";position:absolute;width:110px;height:110px;border:18px solid rgba(255,255,255,.09);border-radius:50%;right:-36px;top:-40px}
.vault-banner strong{display:block;font-size:19px}.vault-banner small{color:#d7ecfa}
.vault-meter{padding:15px;border:1px solid var(--border);border-radius:16px;background:#fff}.vault-meter strong{display:block;color:var(--navy-900);font-size:20px}.meter-track{height:6px;margin-top:10px;border-radius:99px;background:#e5eef5;overflow:hidden}.meter-track span{display:block;width:68%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue-500),var(--cyan-500))}
.hero-card h2{margin:4px 0 15px;font-size:18px;color:var(--navy-900)}
.mini-list{display:grid;gap:10px}
.mini-item{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #e0eaf2;border-radius:13px;color:var(--text);background:#fff;box-shadow:0 6px 14px rgba(6,35,61,.04)}
.mini-item strong,.mini-item small{display:block}.mini-item strong{font-size:13px}.mini-item small{font-size:11px}
.icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:13px;color:var(--blue-700);background:linear-gradient(145deg,#e8f4ff,#f2fcff);border:1px solid #d7eafa;font-size:19px}

.section{position:relative;padding:78px 0}
.section-soft{background:linear-gradient(180deg,rgba(255,255,255,.66),rgba(243,249,253,.92));border-top:1px solid rgba(217,230,240,.75);border-bottom:1px solid rgba(217,230,240,.75)}
.section-title{max-width:750px;margin:0 auto 40px;text-align:center}
.section-title .section-kicker{display:inline-block;margin-bottom:10px;color:var(--blue-700);font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.section-title h2{margin:0 0 11px;color:var(--navy-900);font-size:clamp(30px,4vw,42px);line-height:1.12;letter-spacing:-.035em}
.section-title p{margin:0;color:var(--muted);font-size:16px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{
  position:relative;
  border:1px solid rgba(202,218,231,.86);
  border-radius:var(--radius-md);
  padding:24px;
  background:rgba(255,255,255,.93);
  box-shadow:var(--shadow-sm);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.card:hover{border-color:#bad7ed;box-shadow:var(--shadow-md)}
.feature-card{overflow:hidden;min-height:210px}
.feature-card::after{content:"";position:absolute;width:120px;height:120px;right:-66px;bottom:-68px;border-radius:50%;background:radial-gradient(circle,rgba(37,131,255,.12),transparent 70%)}
.feature-card:hover{transform:translateY(-4px)}
.feature-card h3{margin:15px 0 7px;color:var(--navy-900);font-size:19px}
.feature-card p{margin:0;color:var(--muted)}
.pricing{overflow:hidden;border:1px solid rgba(37,131,255,.55);box-shadow:0 24px 58px rgba(7,89,199,.15)}
.pricing::before{content:"Popular";position:absolute;top:17px;right:-33px;width:120px;padding:5px 0;transform:rotate(38deg);text-align:center;color:#fff;background:linear-gradient(90deg,var(--blue-600),var(--cyan-500));font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.price{margin-top:12px;color:var(--navy-900);font-size:44px;font-weight:900;letter-spacing:-.04em}
.muted{color:var(--muted)}

/* Authentication and forms */
.auth-shell{
  position:relative;
  isolation:isolate;
  min-height:calc(100vh - 152px);
  display:grid;
  place-items:center;
  padding:58px 0 72px;
  overflow:hidden;
}
.auth-shell::before{
  content:"";
  position:absolute;
  z-index:-2;
  width:720px;
  height:720px;
  left:-390px;
  top:-330px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(37,131,255,.18),rgba(23,197,216,.07) 48%,transparent 70%);
}
.auth-shell::after{
  content:"";
  position:absolute;
  z-index:-1;
  width:420px;
  height:420px;
  right:-210px;
  bottom:-190px;
  border:58px solid rgba(11,108,242,.035);
  border-radius:50%;
}
.auth-card{
  position:relative;
  overflow:hidden;
  width:min(790px,calc(100% - 34px));
  border:1px solid rgba(191,209,224,.88);
  border-radius:28px;
  padding:36px;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(16px);
  box-shadow:var(--shadow-lg);
}
.auth-card::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--navy-800),var(--blue-500),var(--cyan-500))}
.auth-card::after{content:"";position:absolute;width:180px;height:180px;right:-90px;top:-90px;border-radius:50%;background:radial-gradient(circle,rgba(23,197,216,.14),transparent 70%);pointer-events:none}
.auth-card.narrow{max-width:520px}
.auth-card h1{margin:0 0 7px;color:var(--navy-900);font-size:31px;line-height:1.17;letter-spacing:-.035em}
.auth-card>p:first-of-type{margin-top:0}
.auth-card form+p{margin-top:20px;text-align:center}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.form-group{display:grid;gap:7px;min-width:0}
.form-group.full{grid-column:1/-1}
label{color:#31495f;font-size:12.5px;font-weight:800;letter-spacing:.005em}
.form-control,.form-select,.form-textarea{
  width:100%;
  min-height:47px;
  border:1px solid #c5d6e4;
  border-radius:12px;
  padding:11px 13px;
  color:var(--text);
  background:#fbfdff;
  box-shadow:inset 0 1px 2px rgba(6,35,61,.025);
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.form-control:hover,.form-select:hover,.form-textarea:hover{border-color:#a8c4da;background:#fff}
.form-control:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--blue-500);background:#fff;box-shadow:0 0 0 4px rgba(37,131,255,.13)}
.form-control[readonly]{background:#edf4f9;color:#4f6578}
.form-control[type=file]{padding:8px;background:#f7fbfe}
.form-textarea{min-height:116px;resize:vertical}
.help{font-size:11.5px;color:var(--muted)}
.note{border:1px solid #c9e2f5;border-left:4px solid var(--blue-600);border-radius:11px;padding:14px 16px;color:#24536f;background:linear-gradient(135deg,#f1f9ff,#f6feff)}

.alert{width:min(1180px,100%);margin:16px auto;padding:13px 16px;border:1px solid;border-radius:12px;box-shadow:0 6px 18px rgba(6,35,61,.04)}
.alert-success{border-color:#a9dfc8;color:#116544;background:#eaf8f1}
.alert-danger{border-color:#efbbc2;color:#a72837;background:#fff0f2}
.alert-warning{border-color:#ecd18a;color:#76500e;background:#fff8e5}
.alert-info{border-color:#b7d9f4;color:#155a89;background:#eaf5ff}

/* Dashboard */
.dashboard{position:relative;padding:38px 0 76px}
.dashboard::before{content:"";position:absolute;z-index:-1;left:0;right:0;top:0;height:280px;background:linear-gradient(180deg,rgba(220,241,255,.52),transparent)}
.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.page-head h1,.page-head h2{margin:0;color:var(--navy-900);letter-spacing:-.025em}
.page-head h1{font-size:31px}.page-head h2{font-size:21px}
.page-head p{margin:5px 0 0}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}
.stat-card{
  position:relative;
  overflow:hidden;
  min-height:124px;
  border:1px solid rgba(196,214,228,.88);
  border-radius:18px;
  padding:20px;
  background:linear-gradient(145deg,#fff,#f7fbfe);
  box-shadow:var(--shadow-sm);
}
.stat-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--blue-500),var(--cyan-500))}
.stat-card::after{content:"";position:absolute;width:90px;height:90px;right:-42px;bottom:-48px;border-radius:50%;background:rgba(37,131,255,.07)}
.stat-card:nth-child(2)::before{background:linear-gradient(180deg,var(--cyan-500),#55d8a2)}
.stat-card:nth-child(3)::before{background:linear-gradient(180deg,var(--gold-500),#ff8f51)}
.stat-card:nth-child(4)::before{background:linear-gradient(180deg,#9b72f2,var(--blue-500))}
.stat-card .value{margin-top:7px;color:var(--navy-900);font-size:29px;font-weight:900;line-height:1.05;letter-spacing:-.035em;overflow-wrap:anywhere}
.stat-card .label{margin-top:9px;color:var(--muted);font-size:12.5px;font-weight:700}
.profile-strip{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  gap:20px;
  margin-bottom:24px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:24px;
  padding:26px;
  color:#fff;
  background:
    radial-gradient(circle at 86% 30%,rgba(23,197,216,.32),transparent 12rem),
    linear-gradient(128deg,var(--navy-900),#07518b);
  box-shadow:0 20px 52px rgba(5,50,85,.17);
}
.profile-strip::after{content:"";position:absolute;width:220px;height:220px;right:-88px;top:-120px;border:30px solid rgba(255,255,255,.06);border-radius:50%}
.profile-strip h2{margin:0 0 5px;font-size:25px;letter-spacing:-.025em}
.avatar{width:78px;height:78px;flex:0 0 78px;border:4px solid rgba(255,255,255,.35);border-radius:50%;object-fit:cover;background:#fff;box-shadow:0 8px 22px rgba(0,18,34,.22)}
.avatar-placeholder{display:grid;place-items:center;color:var(--navy-900);font-size:26px;font-weight:900}
.sidebar-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:22px;align-items:start}
.side-menu{
  position:sticky;
  top:101px;
  height:max-content;
  overflow:hidden;
  border:1px solid rgba(196,214,228,.9);
  border-radius:18px;
  padding:10px;
  background:rgba(255,255,255,.91);
  backdrop-filter:blur(12px);
  box-shadow:var(--shadow-sm);
}
.side-menu::before{content:"MEMBER MENU";display:block;padding:10px 12px 8px;color:#8295a7;font-size:9.5px;font-weight:900;letter-spacing:.13em}
.side-menu a{display:flex;align-items:center;min-height:43px;margin:2px 0;padding:10px 12px;border-radius:10px;color:#344b60;font-size:13px;font-weight:750}
.side-menu a::before{content:"";width:6px;height:6px;margin-right:10px;border:2px solid #a8bfd1;border-radius:50%;transition:.2s ease}
.side-menu a:hover{color:var(--blue-700);background:linear-gradient(90deg,#eaf5ff,#f4fbff)}
.side-menu a:hover::before{border-color:var(--blue-500);background:var(--blue-500);box-shadow:0 0 0 4px rgba(37,131,255,.10)}
body.is-admin .topbar{background:rgba(248,253,255,.88)}
body.is-admin .brand-mark{background:linear-gradient(145deg,#073524,#15825d 60%,#17c5a1)}
body.is-admin .dashboard::before{background:linear-gradient(180deg,rgba(219,246,236,.44),transparent)}

.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:15px;background:#fff}
.card>.table-wrap{margin:0 -1px -1px}
.table{width:100%;min-width:760px;border-collapse:collapse}
.table th,.table td{padding:14px 16px;border-bottom:1px solid #e4edf4;text-align:left;vertical-align:top}
.table th{position:relative;color:#718598;background:#f7fafc;font-size:10.5px;font-weight:900;letter-spacing:.075em;text-transform:uppercase}
.table tbody tr{transition:background .16s ease}
.table tbody tr:hover{background:#f8fcff}
.table tbody tr:last-child td{border-bottom:0}
.badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:10.5px;font-weight:900;line-height:1.2}
.badge-success{color:#126b48;background:#daf3e7}.badge-warning{color:#805607;background:#fff0c7}.badge-danger{color:#aa2e3d;background:#ffe0e4}.badge-secondary{color:#506172;background:#e8edf1}.badge-info{color:#0a5e91;background:#dcefff}
.actions{display:flex;flex-wrap:wrap;gap:7px}.inline-form{display:inline}
.empty{padding:43px 20px;text-align:center;color:var(--muted)}
.kpi-row{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px dashed var(--border)}
.searchbar{display:flex;flex-wrap:wrap;gap:10px}.searchbar .form-control{max-width:360px}
.danger-zone{border-color:#efbcc2}.danger-zone::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--red-600)}

/* CV */
.cv-preview{max-width:850px;margin:auto;padding:44px;border:1px solid var(--border);background:#fff;box-shadow:var(--shadow-md)}
.cv-preview h1{margin-bottom:0;color:var(--navy-900)}
.cv-preview h2{margin-top:26px;padding-bottom:6px;border-bottom:2px solid var(--navy-800);color:var(--navy-900);font-size:15px;letter-spacing:.04em;text-transform:uppercase}
.cv-entry{margin:14px 0}.cv-entry strong{display:block}

.check-list{list-style:none;padding:0}.check-list li{padding:7px 0}.check-list li::before{content:"✓";margin-right:8px;color:var(--green-600);font-weight:900}

/* Footer */
.footer{position:relative;overflow:hidden;padding:40px 0;color:#d5e9f7;background:linear-gradient(125deg,var(--navy-950),var(--navy-800))}
.footer::before{content:"";position:absolute;inset:0;opacity:.10;background-image:linear-gradient(rgba(255,255,255,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.2) 1px,transparent 1px);background-size:34px 34px}
.footer-grid{position:relative;display:flex;justify-content:space-between;gap:24px}
.footer strong{font-size:16px}.footer p{margin:5px 0;color:#a8c8dc}.footer small,.footer span{color:#bed6e5}

@media(max-width:960px){
  .hero-grid{grid-template-columns:1fr;gap:44px}.hero{padding-top:75px}.hero-card{max-width:660px}
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing{grid-column:1/-1;max-width:470px;margin-inline:auto;width:100%}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sidebar-layout{grid-template-columns:1fr}.side-menu{position:static;display:flex;overflow-x:auto;gap:4px}.side-menu::before{display:none}.side-menu a{white-space:nowrap}.side-menu a::before{display:none}
  .nav-toggle{display:grid;place-items:center}.nav{display:none;position:absolute;left:17px;right:17px;top:72px;flex-direction:column;align-items:stretch;padding:13px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.98);box-shadow:var(--shadow-lg)}.nav>a:not(.btn){padding:11px 12px}.nav-open .nav{display:flex}
}
@media(max-width:650px){
  .container{width:min(100% - 24px,1180px)}
  .brand strong{font-size:13px}.brand small{display:none}.brand-mark{width:44px;height:44px;flex-basis:44px}
  .hero{min-height:auto;padding:62px 0}.hero h1{font-size:41px}.hero p{font-size:16px}.hero-actions .btn{width:100%}.vault-summary{grid-template-columns:1fr}
  .section{padding:58px 0}.grid-3,.stats,.form-grid{grid-template-columns:1fr}.pricing{grid-column:auto}
  .auth-shell{padding:35px 0 52px}.auth-card{padding:27px 21px;border-radius:22px}.auth-card h1{font-size:27px}
  .page-head,.footer-grid{align-items:flex-start;flex-direction:column}.page-head .btn{width:100%}.page-head h1{font-size:28px}
  .profile-strip{align-items:flex-start;padding:21px}.avatar{width:64px;height:64px;flex-basis:64px}
  .stat-card{min-height:110px}.card{padding:19px}.cv-preview{padding:24px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.topbar,.footer,.no-print,.alert,body::before,body::after{display:none!important}body{background:#fff}.dashboard,.section,.auth-shell{padding:0}.cv-preview{max-width:none;padding:0;border:0;box-shadow:none}}

/* 2026 background correction and visual polish */
main{position:relative;z-index:1}
body.is-public main{
  background:
    radial-gradient(circle at 15% 8%,rgba(37,131,255,.08),transparent 28rem),
    radial-gradient(circle at 88% 30%,rgba(23,197,216,.08),transparent 26rem);
}
body.is-public .section:not(.section-soft){
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(247,251,255,.88));
}
body.is-public .section-soft{
  background:
    linear-gradient(135deg,rgba(225,242,255,.88),rgba(245,251,255,.94)),
    radial-gradient(circle at 85% 20%,rgba(23,197,216,.12),transparent 22rem);
  border-top:1px solid rgba(191,209,224,.52);
  border-bottom:1px solid rgba(191,209,224,.52);
}
.hero{
  background:
    radial-gradient(circle at 79% 22%,rgba(21,210,231,.30),transparent 20rem),
    radial-gradient(circle at 18% 85%,rgba(32,107,255,.34),transparent 27rem),
    linear-gradient(128deg,#020f20 0%,#04284a 43%,#064f91 74%,#073765 100%);
}
.hero::before{
  background-image:
    linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px),
    radial-gradient(circle at center,rgba(87,221,255,.17) 1px,transparent 1.7px);
  background-size:44px 44px,44px 44px,18px 18px;
  mask-image:linear-gradient(100deg,black 0%,rgba(0,0,0,.84) 48%,transparent 92%);
}
.hero-card{box-shadow:0 34px 100px rgba(0,10,25,.46),0 0 60px rgba(20,177,255,.10),inset 0 1px 0 rgba(255,255,255,.23)}
.card{background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(246,251,255,.96));box-shadow:0 16px 42px rgba(5,37,65,.10)}
.auth-shell{
  background:
    radial-gradient(circle at 18% 15%,rgba(37,131,255,.13),transparent 24rem),
    radial-gradient(circle at 83% 82%,rgba(23,197,216,.12),transparent 25rem),
    linear-gradient(145deg,#edf7ff,#f9fcff 48%,#eaf6fd);
}
body.is-member .dashboard,
body.is-admin .dashboard{
  background:
    radial-gradient(circle at 8% 10%,rgba(23,197,216,.08),transparent 22rem),
    radial-gradient(circle at 93% 20%,rgba(37,131,255,.08),transparent 25rem);
}
@supports not ((backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px))){
  .topbar{background:#fff}
  .hero-card{background:rgba(7,45,79,.96)}
  .side-menu{background:#fff}
}

/* Three-level membership pricing */
.auth-card-wide{width:min(1120px,calc(100% - 24px));max-width:1120px}
.section-label{display:block;margin-bottom:10px;color:var(--navy-900);font-size:14px;font-weight:800}
.plan-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.plan-option{
  position:relative;display:flex;min-height:168px;flex-direction:column;gap:6px;padding:20px;
  cursor:pointer;border:1px solid #cbdcea;border-radius:18px;background:linear-gradient(155deg,#fff,#f4f9fd);
  box-shadow:0 10px 28px rgba(6,35,61,.06);transition:.2s ease;
}
.plan-option:hover{transform:translateY(-2px);border-color:#79b7ec;box-shadow:0 18px 34px rgba(7,89,199,.12)}
.plan-option.is-featured{border-color:rgba(37,131,255,.65);background:linear-gradient(155deg,#f7fbff,#eaf5ff)}
.plan-option.is-selected{border-color:var(--blue-600);box-shadow:0 0 0 3px rgba(37,131,255,.14),0 18px 38px rgba(7,89,199,.14)}
.plan-option input{position:absolute;opacity:0;pointer-events:none}
.plan-option .plan-check{position:absolute;right:14px;top:14px;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#b7c9d8;font-weight:900}
.plan-option.is-selected .plan-check{background:linear-gradient(135deg,var(--blue-600),var(--cyan-500))}
.plan-option .plan-name{color:var(--navy-900);font-size:20px;font-weight:900}
.plan-option strong{color:var(--blue-700);font-size:27px;letter-spacing:-.03em}
.plan-option small{color:var(--muted);line-height:1.4}
.plan-picker.compact .plan-option{min-height:145px}

.pricing-section{background:linear-gradient(180deg,rgba(244,249,253,.95),rgba(255,255,255,.96))!important}
.pricing-grid{align-items:stretch}
.pricing{display:flex;min-height:520px;flex-direction:column;overflow:hidden;border:1px solid rgba(37,131,255,.35);box-shadow:0 20px 52px rgba(7,89,199,.10)}
.pricing::before{display:none}
.pricing.popular{transform:translateY(-10px);border-color:rgba(37,131,255,.78);box-shadow:0 30px 70px rgba(7,89,199,.20)}
.pricing.popular::before{content:"Most Popular";display:block;position:absolute;top:18px;right:-39px;width:145px;padding:6px 0;transform:rotate(38deg);text-align:center;color:#fff;background:linear-gradient(90deg,var(--blue-600),var(--cyan-500));font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.pricing h3{margin:17px 0 5px;color:var(--navy-900);font-size:26px}
.pricing .price{margin-top:17px}
.pricing .renewal-price{margin:7px 0 14px;padding:11px 13px;border-radius:12px;color:var(--navy-800);background:#eef6fc}
.pricing .check-list{margin-bottom:22px}
.pricing .btn{margin-top:auto}
.plan-basic{border-top:4px solid #7da8ca}.plan-premium{border-top:4px solid var(--blue-600)}.plan-vip{border-top:4px solid #9b70e5}

.settings-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.plan-settings{border-top:4px solid #8eb5d2}
.plan-settings.is-featured{border-top-color:var(--blue-600);box-shadow:0 25px 55px rgba(7,89,199,.14)}
.plan-settings h2{margin:14px 0 18px;color:var(--navy-900)}
.plan-summary{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0 18px;padding:12px 14px;border:1px solid #d5e5f1;border-radius:14px;background:#f5faff}
.storage-card{background:linear-gradient(135deg,#fff,#f3f9fd)}
.storage-track{height:11px;overflow:hidden;border-radius:99px;background:#dfeaf2}
.storage-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue-600),var(--cyan-500))}
.storage-labels{display:flex;justify-content:space-between;margin-top:8px;color:var(--muted);font-size:12px}
.text-danger{color:var(--red-600)!important}

@media(max-width:960px) and (min-width:651px){
  .plan-picker,.settings-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .plan-picker .plan-option:last-child:nth-child(odd),.settings-plan-grid .plan-settings:last-child:nth-child(odd){grid-column:1/-1;max-width:520px;width:100%;margin-inline:auto}
  .pricing-grid .pricing{grid-column:auto;max-width:none;width:auto;margin:0}
  .pricing-grid .pricing:last-child:nth-child(odd){grid-column:1/-1;max-width:470px;width:100%;margin-inline:auto}
  .pricing.popular{transform:none}
}
@media(max-width:650px){
  .plan-picker,.settings-plan-grid{grid-template-columns:1fr}
  .plan-option{min-height:145px}
  .pricing{min-height:auto}.pricing.popular{transform:none}
}


/* Enhanced CV, video and administration features */
.cv-type-switch{display:flex;gap:8px;margin:0 0 18px;padding:6px;border:1px solid var(--border);border-radius:15px;background:#fff}.cv-type-switch a{flex:1;padding:13px;text-align:center;border-radius:11px;color:var(--navy-800);font-weight:800}.cv-type-switch a.active{color:#fff;background:linear-gradient(135deg,var(--blue-600),var(--cyan-500));box-shadow:0 8px 22px rgba(37,131,255,.25)}
.cv-fieldset{border:1px solid var(--border)}.cv-fieldset legend{padding:0 10px;color:var(--navy-900);font-size:17px;font-weight:900}.cv-builder-intro{border-left:5px solid var(--blue-600)}.sticky-submit{position:sticky;z-index:10;bottom:12px;display:flex;justify-content:flex-end;margin-top:20px;padding:12px;border:1px solid rgba(37,131,255,.2);border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 12px 35px rgba(6,35,61,.15);backdrop-filter:blur(10px)}
.cv-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.cv-template-card{position:relative;display:block;padding:14px;cursor:pointer;border:2px solid transparent;border-radius:18px;background:#fff;box-shadow:var(--shadow-md);transition:.2s}.cv-template-card:hover{transform:translateY(-3px)}.cv-template-card:has(input:checked){border-color:var(--blue-600);box-shadow:0 0 0 4px rgba(37,131,255,.12),var(--shadow-lg)}.cv-template-card input{position:absolute;opacity:0}.cv-template-card.locked{cursor:not-allowed;opacity:.62;filter:grayscale(.55)}.radio-dot{position:absolute;right:16px;top:16px;width:24px;height:24px;border:2px solid #a9bfd0;border-radius:50%;background:#fff}.cv-template-card:has(input:checked) .radio-dot{border:7px solid var(--blue-600)}.cv-mini{position:relative;height:240px;padding:23px;border:1px solid #d7e0e7;border-radius:9px;background:#fff;overflow:hidden}.cv-mini .mini-head{height:32px;margin-bottom:17px;border-bottom:6px solid #1c5c8f}.cv-mini i,.cv-mini b{display:block;height:6px;margin:8px 0;border-radius:4px;background:#d9e4ec}.cv-mini i:nth-of-type(2){width:72%}.cv-mini b{height:16px;width:48%;background:#1c5c8f}.cv-mini-modern{padding-left:70px}.cv-mini-modern:before{content:"";position:absolute;inset:0 auto 0 0;width:48px;background:#1473e6}.cv-mini-executive .mini-head{height:55px;margin:-23px -23px 18px;background:#071f3b;border:0}.cv-mini-academic_blue b,.cv-mini-academic_blue .mini-head{background:#175d9c;border-color:#175d9c}.cv-mini-elegant{border:3px double #956c24}.cv-mini-elegant b{background:#956c24}.cv-mini-compact{padding:14px}.template-meta{display:flex;min-height:83px;flex-direction:column;gap:4px;padding-top:12px}.template-meta strong{font-size:16px}.template-meta small{color:var(--muted)}.get-cv-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding:18px 20px;border-radius:17px;color:#fff;background:linear-gradient(120deg,var(--navy-900),var(--blue-700))}
.protected-preview-page{background:#152331!important}.protected-preview-page .page-head h1,.protected-preview-page .page-head p{color:#fff}.preview-security-note{margin-bottom:15px;padding:12px 15px;border-radius:12px;color:#ffe8b5;background:#6b5013}.protected-preview{position:relative;overflow:auto;padding:24px;background:#27394a;user-select:none;-webkit-user-select:none}.protected-preview .cv-document{margin:0 auto}.protected-preview.preview-blurred .cv-document{filter:blur(18px)}.capture-shield{position:absolute;z-index:50;inset:0;display:none;place-items:center;color:#fff;background:rgba(3,18,31,.94);font-size:25px;font-weight:900}.capture-shield.show{display:grid}.cv-document{position:relative;width:210mm;min-height:297mm;margin:auto;padding:18mm;background:#fff;box-shadow:0 12px 40px rgba(0,0,0,.22);overflow:hidden}.cv-header{display:flex;justify-content:space-between;gap:25px;padding-bottom:14px;border-bottom:4px solid var(--cv-accent)}.cv-header h1{margin:0;color:var(--cv-accent);font-size:29px}.cv-role{font-weight:800}.cv-contact{display:flex;max-width:45%;flex-direction:column;text-align:right;font-size:12px}.cv-section{margin-top:21px}.cv-section h2{margin:0 0 11px;padding:7px 10px;color:#fff;background:var(--cv-accent);font-size:14px;text-transform:uppercase}.cv-section h3{margin:13px 0 5px;color:var(--cv-accent);font-size:12.5px}.cv-section p{font-size:12px}.cv-facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;border:1px solid #cbd5df;background:#cbd5df}.cv-facts>div{display:grid;grid-template-columns:43% 57%;background:#fff;font-size:11.5px}.cv-facts>div.wide{grid-column:1/-1}.cv-facts b,.cv-facts span{padding:7px}.cv-facts b{background:#eef3f7}.cv-table{width:100%;border-collapse:collapse;font-size:10.5px}.cv-table th,.cv-table td{padding:7px;border:1px solid #bfcbd6}.cv-table th{color:#fff;background:var(--cv-accent)}.cv-watermark{position:absolute;z-index:5;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;color:rgba(170,20,30,.13);font-size:43px;font-weight:900;transform:rotate(-28deg);white-space:nowrap}.cv-document>*:not(.cv-watermark){position:relative;z-index:2}.cv-template-modern{padding-left:54mm}.cv-template-modern:before{content:"CURRICULUM VITAE";position:absolute;inset:0 auto 0 0;width:43mm;padding:28mm 8mm;color:#fff;background:var(--cv-accent);font-size:18px;font-weight:900;writing-mode:vertical-rl;transform:rotate(180deg)}.cv-template-executive .cv-header{padding:15px;color:#fff;background:var(--cv-accent)}.cv-template-executive .cv-header h1{color:#fff}.cv-template-elegant{border:2px solid #d1b778}.cv-template-compact{padding:12mm}.cv-template-compact .cv-section{margin-top:13px}
.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.video-card video{width:100%;aspect-ratio:16/9;border-radius:12px;background:#06121d}.video-card h3{margin:13px 0 4px}.video-meta{margin:10px 0;color:var(--muted);font-size:12px}.big-number{margin-top:8px;color:var(--blue-700);font-size:25px;font-weight:900}.subscription-countdown{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding:16px 20px;border-radius:16px;color:#fff;background:linear-gradient(115deg,#08795b,#14a579)}.subscription-countdown.warning{background:linear-gradient(115deg,#9b5a06,#e1921c)}.subscription-countdown span{display:block;font-size:12px;opacity:.85}.subscription-countdown strong{font-size:21px}.admin-action-stack{display:grid;gap:8px}.toggle-row{display:flex;align-items:center;gap:10px;font-weight:800}.toggle-row input{width:20px;height:20px}
@media(max-width:980px){.cv-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cv-document{width:100%;min-height:auto}.video-grid{grid-template-columns:1fr}}@media(max-width:650px){.cv-template-grid{grid-template-columns:1fr}.get-cv-bar,.subscription-countdown{align-items:stretch;flex-direction:column}.cv-type-switch{flex-direction:column}.protected-preview{padding:5px}.cv-document{padding:18px}.cv-facts{grid-template-columns:1fr}.cv-facts>div.wide{grid-column:auto}.cv-header{flex-direction:column}.cv-contact{max-width:none;text-align:left}.cv-template-modern{padding-left:55px}.sticky-submit .btn{width:100%}}

/* Version 3.2 enhancements */
.username-field-row{display:flex;gap:10px;align-items:stretch}.username-field-row .form-control{flex:1}.username-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;min-height:20px}.username-chip{border:1px solid #b9d5ea;background:#eef8ff;color:#0c4f7d;border-radius:999px;padding:7px 13px;font:inherit;font-size:.86rem;font-weight:700;cursor:pointer}.username-chip:hover{background:#dff2ff;border-color:#63b5e9}.custom-cv-card{border:1px solid rgba(20,115,230,.2)}.custom-cv-row{margin:14px 0;padding:18px;border:1px solid #dbe7f0;border-radius:16px;background:#f8fbfd}.custom-cv-row-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.output-choice-card{display:flex;align-items:center;justify-content:space-between;gap:20px}.download-format-row{margin:0}.vip-uploaded-mini{display:flex;min-height:190px;align-items:center;justify-content:center;flex-direction:column;gap:12px;background:linear-gradient(145deg,#eaf3ff,#fff);overflow:hidden}.vip-uploaded-mini img{width:100%;height:190px;object-fit:cover}.word-template-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:14px;background:#1769aa;color:#fff;font-size:2rem;font-weight:900;box-shadow:0 12px 30px rgba(23,105,170,.25)}.vip-uploaded-mini span{font-size:.82rem;font-weight:700;color:#28516f}.vip-shared-card{border-color:#bea864}.token-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:15px 0}.token-grid code{display:block;padding:9px;border-radius:8px;background:#eef3f7;color:#163b58;overflow-wrap:anywhere}.advertising-section{position:relative}.advertising-section:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(235,247,255,.45),rgba(255,255,255,0));pointer-events:none}.advertising-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.advertisement-card{overflow:hidden;border:1px solid rgba(10,83,131,.14);border-radius:22px;background:#fff;box-shadow:0 16px 45px rgba(7,42,72,.1);transition:.2s ease}.advertisement-card:hover{transform:translateY(-4px);box-shadow:0 22px 55px rgba(7,42,72,.16)}.ad-image{display:block;height:190px;background:#e8f2f8}.ad-image img{width:100%;height:100%;object-fit:cover}.ad-placeholder{display:grid;place-items:center;height:190px;background:linear-gradient(145deg,#052d4e,#0b78bc);color:#fff;text-align:center;font-size:2rem;font-weight:900;letter-spacing:.08em}.ad-placeholder small{font-size:.65rem;letter-spacing:.18em}.ad-body{padding:20px}.ad-body h3{margin:8px 0}.ad-body p{min-height:48px;color:#5c7081}.sponsored-label{display:inline-flex;padding:4px 8px;border-radius:999px;background:#fff4ce;color:#806000;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.admin-ad-thumb{width:110px;height:62px;object-fit:cover;border-radius:8px;margin-top:7px}.update-card{border:1px solid rgba(20,115,230,.25);background:linear-gradient(145deg,#fff,#f5fbff)}.file-list{list-style:none;padding:0;margin:0}.file-list li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e5edf3}.file-list li:last-child{border-bottom:0}.file-list span{overflow-wrap:anywhere}.admin-action-stack input{margin-bottom:6px}.nav{gap:13px}.nav a{font-size:.83rem}@media(max-width:1000px){.advertising-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.output-choice-card{align-items:flex-start;flex-direction:column}.username-field-row{flex-direction:column}}@media(max-width:650px){.advertising-grid{grid-template-columns:1fr}.token-grid{grid-template-columns:1fr}.ad-image,.ad-placeholder{height:170px}}
