/* CCPE starter page: clone of the CCPI starter page layout (design size 1520 x 696) */
html, body { margin:0; height:100%; overflow:hidden; background:#060f22; }
body { background: radial-gradient(ellipse at 50% 55%, #0c224b 0%, #08142d 55%, #050a17 100%); }
.stage { position:absolute; left:50%; top:50%; width:1520px; height:696px; transform-origin:50% 50%;
  text-align:center; color:#fff; }
.stage::before { content:""; position:absolute; inset:0; background:url("bg.jpg") center/100% 100% no-repeat;
  -webkit-mask-image:linear-gradient(to bottom, transparent 0, #000 4%, #000 98.5%, transparent 100%), linear-gradient(to right, transparent 0, #000 3%, #000 97%, transparent 100%);
  -webkit-mask-composite:source-in; mask-image:linear-gradient(to bottom, transparent 0, #000 4%, #000 98.5%, transparent 100%), linear-gradient(to right, transparent 0, #000 3%, #000 97%, transparent 100%);
  mask-composite:intersect; }
.stage > * { position:absolute; left:0; right:0; margin:0; }

.tagline { top:84.8px; font-family:"Montserrat",sans-serif; font-weight:700; font-size:20.5px; letter-spacing:0.145em;
  line-height:1; color:#e1bb64; display:flex; justify-content:center; align-items:center; }
.tagline span { margin:0 calc(26px - 0.145em) 0 26px; }
.tagline::before, .tagline::after { content:""; width:110px; height:1.6px; flex:none; }
.tagline::before { background:linear-gradient(90deg, transparent, #d4a440) ; }
.tagline::after { background:linear-gradient(270deg, transparent, #d4a440); }
.tagline i.d { width:7px; height:7px; background:#d4a440; transform:rotate(45deg); flex:none; margin:0 -3px; }
.headline { top:437.4px; font-family:"Poppins",sans-serif; font-weight:700; font-size:44.7px; letter-spacing:-0.02em; line-height:1.2; color:#fff; }
.headline .gold { color:#d4a440; }
.subtitle { top:503.6px; left:50%; right:auto; transform:translateX(-50%); width:1100px; font-family:"Poppins",sans-serif; font-weight:300;
  font-size:17.0px; line-height:24.8px; color:#d5deec; }
.uc { top:566px; font-family:"Montserrat",sans-serif; font-weight:700; font-size:12.5px; letter-spacing:.32em; line-height:1;
  color:#e1bb64; }
.uc span { margin-right:-.32em; }
.uc::before, .uc::after { content:"\25C6"; font-size:9px; vertical-align:2px; margin:0 14px; letter-spacing:0; }
.logo-m { display:none; }

/* phone portrait: stacked layout over the same background */
body.portrait { overflow:auto; }
body.portrait .stage { position:relative; left:0; top:0; width:auto; height:auto; min-height:100vh; padding:40px 18px;
  box-sizing:border-box; background:#08142d; }
body.portrait .stage::before { display:none; }
body.portrait .stage > * { position:static; transform:none; width:auto; }
body.portrait .tagline { font-size:12px; letter-spacing:.25em; flex-wrap:wrap; }
body.portrait .tagline::before, body.portrait .tagline::after, body.portrait .tagline i.d { display:none; }
body.portrait .tagline span { margin:0; }
body.portrait .headline { font-size:30px; margin-top:36px; }
body.portrait .subtitle { font-size:15px; line-height:1.5; margin-top:12px; }
body.portrait .uc { margin-top:28px; font-size:11px; }
body.portrait .uc::before, body.portrait .uc::after { margin:0 6px; }
body.portrait .logo-m { display:block; width:86%; max-width:420px; margin:28px auto 0; }

/* Sign Up / Sign In pair, as on the CCPI starter page */
.auth { top:582.5px; display:flex; justify-content:center; }
.auth-pill { display:flex; align-items:center; gap:6px; padding:4px; border:1px solid rgba(212,164,64,.35); border-radius:12px; background:rgba(5,12,28,.65); }
.auth .su, .auth .si { display:inline-flex; align-items:center; justify-content:center; width:150px; height:38px; border-radius:8px; border:0;
  font:800 13px "Montserrat",sans-serif; letter-spacing:.2em; text-decoration:none; cursor:pointer; }
.auth .su { background:transparent; color:#fff; } .auth .su:hover { color:#e8c979; }
.auth .si { background:linear-gradient(180deg,#e8c979,#d4a440); color:#0a1a3c; } .auth .si:hover { filter:brightness(1.08); }
body.portrait .auth { margin-top:19.5px; }

/* ---------- Site navigation ---------- */
.topnav { position:fixed; top:0; left:0; right:0; z-index:50; display:flex; align-items:center; justify-content:space-between;
  gap:20px; padding:12px 28px; box-sizing:border-box; font-family:"Montserrat",sans-serif; }
.topnav .brand { display:flex; align-items:center; gap:10px; text-decoration:none; color:#fff; font-weight:800; letter-spacing:.25em; font-size:14px; }
.topnav .brand img { height:30px; }
.topnav .links { display:flex; gap:22px; overflow-x:auto; scrollbar-width:none; margin-left:auto; }
.topnav .links::-webkit-scrollbar { display:none; }
.topnav .links a { color:#aab6cc; text-decoration:none; font-weight:600; font-size:11.5px; letter-spacing:.16em; text-transform:uppercase;
  white-space:nowrap; padding:6px 0; border-bottom:1.5px solid transparent; }
.topnav .links a:hover { color:#e1bb64; }
.topnav .links a.on { color:#e1bb64; border-bottom-color:#d4a440; }
body.home .topnav { display:none; }
body.inner .topnav { background:rgba(5,12,28,.88); backdrop-filter:blur(8px); border-bottom:1px solid #16294d; }

/* ---------- Inner pages ---------- */
html.inner, html.inner body { height:auto; overflow:auto; }
body.inner { background: url("curves.svg") center top/100% 100vh fixed no-repeat,
  radial-gradient(ellipse 75% 65% at 50% 35%, #0e2552 0%, #0a1a3c 45%, #050c1c 100%) fixed, #050c1c; }
#inner { display:none; color:#d5deec; font-family:"Poppins",sans-serif; font-weight:300; }
.page { max-width:1180px; margin:0 auto; padding:110px 28px 40px; box-sizing:border-box; }

.pg-tag { display:flex; align-items:center; justify-content:center; color:#e1bb64; font-family:"Montserrat",sans-serif;
  font-weight:700; letter-spacing:.3em; font-size:15px; }
.pg-tag::before, .pg-tag::after { content:""; width:90px; height:1.6px; }
.pg-tag::before { background:linear-gradient(90deg, transparent, #d4a440); }
.pg-tag::after { background:linear-gradient(270deg, transparent, #d4a440); }
.pg-tag i.d { width:7px; height:7px; background:#d4a440; transform:rotate(45deg); margin:0 -3px; flex:none; }
.pg-tag span { margin:0 calc(22px - .3em) 0 22px; }

.pg-title { font-family:"Poppins",sans-serif; font-weight:700; color:#fff; font-size:clamp(28px, 3.6vw, 46px);
  letter-spacing:-.02em; line-height:1.15; text-align:center; margin:22px auto 14px; max-width:1100px; }
.pg-title + .sec { margin-top:30px; }
.pg-title + .grid { margin-top:32px; }
.gold { color:#d4a440; }
.pg-lead { text-align:center; font-size:17px; line-height:1.65; max-width:900px; margin:0 auto 28px; }
.left { text-align:left !important; margin-left:0 !important; }
.promise { text-align:center; font-family:"Poppins",sans-serif; font-style:italic; font-weight:400; color:#e8c979;
  font-size:22px; margin:0 auto 34px; }

.kpis { display:flex; justify-content:center; flex-wrap:wrap; gap:18px; margin:0 0 34px; }
.kpis.left { justify-content:flex-start; }
.kpi { min-width:200px; flex:1; max-width:300px; text-align:center; padding:18px 16px; border-top:1px solid #d4a440;
  background:linear-gradient(180deg, rgba(212,164,64,.08), transparent); }
.kpi b { display:block; font-family:"Poppins",sans-serif; font-weight:700; color:#d4a440; font-size:34px; line-height:1.1; }
.kpi span { font-size:13px; color:#aab6cc; }

.grid { display:grid; gap:16px; margin:0 0 34px; }
.g2 { grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); }
.g3 { grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); }
.g4 { grid-template-columns:repeat(auto-fit, minmax(230px, 1fr)); }
.card { background:rgba(10,26,60,.55); border:1px solid #1f3a6a; border-radius:14px; padding:22px 22px 20px; }
.card h4 { font-family:"Poppins",sans-serif; font-weight:600; color:#fff; font-size:17px; margin:0 0 6px; }
.card h4 small { display:block; font-family:"Montserrat",sans-serif; color:#e1bb64; font-size:10.5px; letter-spacing:.25em; font-weight:700; margin-top:2px; }
.card p { margin:0; font-size:14.5px; line-height:1.55; color:#c3cddf; }
.card em { display:block; font-style:normal; font-family:"Montserrat",sans-serif; font-weight:800; color:#d4a440; letter-spacing:.12em;
  font-size:13px; margin-bottom:8px; }
.card.hl { border-color:#d4a440; background:linear-gradient(180deg, rgba(212,164,64,.12), rgba(10,26,60,.55)); }
.card ul { margin:10px 0 0; padding-left:18px; font-size:14.5px; line-height:1.7; color:#c3cddf; }
.card ul li::marker { color:#d4a440; }
.years .card small, .card > small { color:#aab6cc; font-size:12.5px; }

.sec { font-family:"Montserrat",sans-serif; font-weight:700; color:#e1bb64; letter-spacing:.28em; font-size:13px; margin:8px 0 14px; }
.sec.center { text-align:center; margin-top:16px; }
.two { display:grid; grid-template-columns:1fr 1.4fr; gap:36px; margin:0 0 34px; align-items:start; }
.muted { color:#aab6cc; font-size:14.5px; line-height:1.6; }
.plain { list-style:none; padding:0; margin:0 0 22px; line-height:2; font-size:15px; }
.plain b { color:#fff; font-weight:600; }
.numbered { list-style:none; padding:0; margin:0; }
.numbered li { display:flex; gap:18px; padding:14px 0; border-top:1px solid #1f3a6a; font-size:15px; line-height:1.55; }
.numbered li > span { font-family:"Montserrat",sans-serif; font-weight:800; color:#d4a440; min-width:28px; }
.numbered strong { color:#fff; font-weight:600; }
.numbered.cols { display:grid; grid-template-columns:1fr 1fr; column-gap:36px; margin-bottom:34px; }

.tbl { overflow-x:auto; margin:0 0 30px; border:1px solid #1f3a6a; border-radius:14px; }
.tbl table { width:100%; border-collapse:collapse; font-size:14.5px; }
.tbl th { text-align:left; font-family:"Montserrat",sans-serif; font-size:11px; letter-spacing:.2em; text-transform:uppercase;
  color:#aab6cc; background:rgba(5,12,28,.6); padding:12px 16px; }
.tbl td { padding:11px 16px; border-top:1px solid #16294d; vertical-align:top; }
.tbl td:first-child { color:#fff; font-weight:500; }
.tbl .g { color:#e8c979; }
.tbl th.g { color:#e1bb64; }
.offer { display:flex; align-items:center; gap:22px; padding:18px 24px; border:1px solid #d4a440; border-radius:14px;
  background:linear-gradient(90deg, rgba(212,164,64,.16), rgba(212,164,64,.03)); }
.offer b { font-family:"Poppins",sans-serif; font-size:40px; color:#e8c979; font-weight:700; }
.offer strong { color:#fff; font-weight:600; }
.note { font-size:12.5px; color:#8090aa; margin-top:12px; }
.market { padding:20px 22px; border-left:2px solid #d4a440; background:rgba(10,26,60,.55); border-radius:0 14px 14px 0; margin-top:16px; }
.market b { display:block; font-family:"Poppins",sans-serif; font-size:34px; color:#d4a440; font-weight:700; }
.market b.sm { font-size:18px; }
.market span { font-size:14.5px; color:#c3cddf; line-height:1.55; }

.leader { display:grid; grid-template-columns:220px 1fr; gap:36px; align-items:center; margin:30px 0 30px; }
.leader img { width:220px; height:290px; object-fit:cover; border-radius:14px; border:1px solid #d4a440; }
.gold-l { font-family:"Montserrat",sans-serif; color:#e1bb64; letter-spacing:.25em; font-weight:700; font-size:11.5px; }
.leader .pg-title { margin:8px 0 8px; }
.leader .kpis { margin:18px 0 0; }
.profile { display:grid; grid-template-columns:240px 1fr; margin:0 0 34px; }
.profile dt { font-family:"Montserrat",sans-serif; font-weight:700; font-size:11.5px; letter-spacing:.2em; text-transform:uppercase;
  color:#e1bb64; padding:14px 0; border-top:1px solid #1f3a6a; }
.profile dd { margin:0; padding:12px 0; border-top:1px solid #1f3a6a; font-size:15px; line-height:1.6; }

.sitefoot { max-width:1180px; margin:20px auto 0; padding:28px; box-sizing:border-box; display:flex; flex-wrap:wrap;
  justify-content:space-between; align-items:center; gap:18px; border-top:1px solid #1f3a6a; }
.sitefoot small { display:block; font-family:"Montserrat",sans-serif; color:#e1bb64; letter-spacing:.25em; font-weight:700; font-size:11px; margin-bottom:4px; }
.sitefoot b { font-family:"Poppins",sans-serif; color:#fff; font-size:22px; font-weight:600; }
.sitefoot .contact { text-align:right; }
.sitefoot a { color:#e8c979; text-decoration:none; font-size:17px; }
.sitefoot .legal { flex-basis:100%; font-size:12px; color:#6f7f9b; margin:8px 0 0; }

@media (max-width:860px) {
  .two, .numbered.cols, .leader, .profile { grid-template-columns:1fr; }
  .leader img { margin:0 auto; }
  .profile dt { padding-bottom:0; } .profile dd { border-top:0; }
  .topnav { padding:10px 14px; } .topnav .brand span { display:none; }
  .page { padding-top:80px; }
  .pg-tag::before, .pg-tag::after { width:30px; }
  .sitefoot .contact { text-align:left; }
}

/* ---------- Floating "under construction" bar ---------- */
.ucbar { position:fixed; left:0; right:0; bottom:0; z-index:60; display:flex; align-items:center; justify-content:center; gap:18px;
  padding:9px 16px; box-sizing:border-box; border-top:1px solid rgba(212,164,64,.55);
  background: repeating-linear-gradient(135deg, rgba(212,164,64,.16) 0 14px, rgba(5,12,28,.92) 14px 28px), #050c1c;
  box-shadow:0 -6px 24px rgba(0,0,0,.35); font-family:"Poppins",sans-serif; }
.ucbar .pill { font-family:"Montserrat",sans-serif; font-weight:800; font-size:12.5px; letter-spacing:.2em; color:#050c1c;
  background:linear-gradient(180deg, #e8c979, #d4a440); padding:6px 16px; border-radius:7px; white-space:nowrap; }
.ucbar .msg { color:#e6ecf7; font-size:14.5px; font-weight:400; }
body.inner #inner { padding-bottom:54px; }
@media (max-width:760px) { .ucbar { gap:10px; padding:7px 10px; } .ucbar .pill { font-size:10.5px; padding:5px 10px; letter-spacing:.14em; }
  .ucbar .msg { font-size:12px; line-height:1.35; } body.portrait .stage { padding-bottom:80px; } }

/* ---------- Administration (red icon: Settings + Our Web Apps) ---------- */
.tools { position:fixed; top:10px; right:18px; z-index:60; display:flex; align-items:center; gap:13px; font-family:"Montserrat",sans-serif; }
.tb { height:40px; min-width:42px; padding:0 10px; box-sizing:border-box; border-radius:8px; border:1px solid rgba(255,255,255,.28); background:transparent;
  display:inline-flex; align-items:center; justify-content:center; gap:10px; color:#fff; text-decoration:none; cursor:pointer; font:700 15px "Montserrat",sans-serif; }
a.tb:hover, button.tb:hover { border-color:rgba(255,255,255,.55); background:rgba(255,255,255,.04); }
.tb-gold { color:#e1bb64; border-color:rgba(225,187,100,.55); min-width:56px; letter-spacing:.04em; cursor:default; }
.tb-lang { padding:0 14px; cursor:default; } .tb-lang b { color:#e1bb64; font-weight:700; }
.admin, .srch { position:relative; }
.srch-pop { display:none; position:absolute; right:0; top:48px; width:260px; background:#0a1a3c; border:1px solid #1d3463; border-radius:12px; box-shadow:0 12px 32px rgba(0,0,0,.45); padding:10px; }
.srch.open .srch-pop { display:block; }
.srch-pop input { width:100%; box-sizing:border-box; background:#050c1c; border:1px solid #1d3463; border-radius:8px; color:#fff; padding:9px 12px; font:500 13px "Montserrat",sans-serif; outline:none; }
.srch-pop input:focus { border-color:#d4a440; }
#srchRes { margin-top:6px; } #srchRes a, #srchRes span { display:block; padding:7px 10px; color:#d5deec; text-decoration:none; font:600 13px "Montserrat",sans-serif; border-radius:6px; }
#srchRes a:hover { background:#0e2552; color:#e1bb64; } #srchRes span { color:#8394b3; }
.admin-btn.tb { width:50px; border:0; background:#d32f2f; padding:0; }
.admin-btn:hover, .admin.open .admin-btn { background:#e53935; }
.admin-menu { display:none; position:absolute; right:0; top:48px; width:360px; background:#0a1a3c; border:1px solid #1d3463; border-radius:12px;
  box-shadow:0 12px 32px rgba(0,0,0,.45); padding:8px 0; }
.admin.open .admin-menu { display:block; }
.am-head { padding:6px 16px 10px; color:#fff; font-weight:800; font-size:12px; letter-spacing:.18em; text-transform:uppercase; border-bottom:1px solid #1d3463; }
.am-sec { padding:8px 0; }
.am-sec + .am-sec { border-top:1px solid #1d3463; }
.am-title { display:flex; align-items:center; gap:8px; padding:4px 16px 6px; color:#e1bb64; font-weight:700; font-size:11px; letter-spacing:.14em; text-transform:uppercase; }
.am-item { display:block; width:100%; text-align:left; background:none; border:0; padding:7px 16px 7px 38px; color:#d5deec; font:600 13px "Montserrat",sans-serif;
  text-decoration:none; cursor:pointer; box-sizing:border-box; }
.am-item small { display:block; color:#8394b3; font-weight:500; font-size:11px; margin-top:2px; }
.am-item:hover { background:#0e2552; color:#fff; }
.am-item.cur { color:#e1bb64; }
@media (max-width:760px){ .tools { top:8px; right:10px; gap:7px; } .tb { height:32px; min-width:34px; padding:0 7px; font-size:12px; gap:6px; } .tb svg { width:16px; height:16px; }
  .tb-gold { min-width:40px; } .admin-btn.tb { width:40px; } .admin-menu { width:min(330px, calc(100vw - 24px)); top:40px; } .srch-pop { top:40px; right:auto; left:0; width:230px; }
  body.inner .topnav { padding-top:50px; } body.inner .topnav .brand { top:9px; } body.inner .topnav .brand img { height:24px; }
  body.portrait .stage { padding-top:64px; } body.inner .page { padding-top:118px; } }
/* inner pages: header row 1 = brand + tool buttons, row 2 = page menu */
body.inner .topnav { flex-wrap:wrap; padding-top:62px; padding-bottom:10px; }
body.inner .topnav .brand { position:absolute; top:14px; left:28px; }
body.inner .topnav .links { margin:0 auto; }
body.inner .page { padding-top:150px; }
@media (max-width:760px){ body.inner .topnav { padding-top:50px; } body.inner .topnav .brand { top:9px; left:14px; } body.inner .page { padding-top:118px; } }
/* ---------- Content blocks added from the 2026 documents ---------- */
body.inner .topnav .links { flex-wrap:wrap; justify-content:center; row-gap:6px; gap:6px 20px; overflow:visible; }
.vbars { display:flex; align-items:flex-end; gap:28px; height:210px; padding:24px 8px 0; border-bottom:1px solid #1f3a6a; }
.vb-grp { flex:1; height:100%; display:flex; flex-direction:column; }
.vb-grp > span { text-align:center; font-family:"Montserrat",sans-serif; font-size:12px; color:#aab6cc; padding:8px 0 0; order:2; transform:translateY(100%); margin-top:-20px; }
.vb-cols { flex:1; display:flex; align-items:flex-end; gap:8px; justify-content:center; }
.vb-cols i { position:relative; width:38%; max-width:46px; background:linear-gradient(180deg,#e8c979,#d4a440); border-radius:4px 4px 0 0; }
.vb-cols i.th { background:linear-gradient(180deg,#5b7fc4,#2c4f94); }
.vb-cols em { position:absolute; bottom:100%; left:50%; transform:translateX(-50%); font-style:normal; font-size:11px; color:#d5deec; padding-bottom:3px; white-space:nowrap; }
.legend { margin:34px 0 0; font-size:13px; color:#aab6cc; display:flex; align-items:center; gap:8px; }
.legend i { width:12px; height:12px; border-radius:3px; display:inline-block; } .lg-vn { background:#d4a440; } .lg-th { background:#3d64ad; margin-left:14px; }
.mini .card { padding:16px; } .big { display:block; font-family:"Poppins",sans-serif; font-weight:700; color:#d4a440; font-size:21px; line-height:1.2; margin-bottom:2px; }
.cmp { display:grid; grid-template-columns:90px 1fr 80px; align-items:center; gap:12px; margin-top:14px; font-size:14px; color:#aab6cc; }
.cmp .bar { height:12px; background:rgba(255,255,255,.06); border-radius:6px; overflow:hidden; }
.cmp .bar i { display:block; height:100%; background:#5a6886; border-radius:6px; }
.cmp.g .bar i { background:linear-gradient(90deg,#d4a440,#e8c979); } .cmp b { color:#fff; font-weight:600; text-align:right; } .cmp.g b { color:#e8c979; }
.hbars { margin:0 0 30px; } .hbars > div { display:grid; grid-template-columns:220px 1fr 60px; align-items:center; gap:14px; padding:7px 0; font-size:14.5px; }
.hbars span { color:#d5deec; } .hbars b { color:#e8c979; font-weight:600; text-align:right; font-family:"Montserrat",sans-serif; }
.hbars .bar { position:relative; height:12px; background:rgba(255,255,255,.05); border-radius:6px; }
.hbars .bar i { position:absolute; top:0; bottom:0; right:0; border-radius:6px; background:linear-gradient(90deg,#d4a440,#e8c979); }
.steps { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin:0 0 34px; counter-reset:s; }
.steps > div { position:relative; padding:20px 20px 18px; border-top:2px solid #d4a440; background:rgba(10,26,60,.55); border-radius:0 0 14px 14px; }
.steps b { font-family:"Poppins",sans-serif; font-size:30px; font-weight:700; color:#d4a440; line-height:1; }
.steps h4 { font-family:"Poppins",sans-serif; font-weight:600; color:#fff; font-size:17px; margin:8px 0 4px; } .steps p { margin:0; font-size:14.5px; line-height:1.55; color:#c3cddf; }
.refs { margin:0; padding-left:18px; font-size:14.5px; line-height:1.6; } .refs li { padding:4px 0; } .refs li::marker { color:#d4a440; } .refs i { color:#fff; }
.chips { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 30px; }
.chips span { padding:8px 14px; border:1px solid #2a4a82; border-radius:999px; font-size:13.5px; color:#d5deec; background:rgba(10,26,60,.55); }
.ticks li::before { content:"\25C6"; color:#d4a440; font-size:10px; margin-right:10px; position:relative; top:-2px; }
b.w { color:#fff; font-weight:600; }
.hist { display:grid; grid-template-columns:repeat(7,1fr); gap:0; margin:0 0 38px; border-top:2px solid #1f3a6a; }
.hist > div { position:relative; padding:22px 14px 0 0; }
.hist > div::before { content:""; position:absolute; top:-7px; left:0; width:12px; height:12px; background:#0a1a3c; border:2px solid #d4a440; transform:rotate(45deg); }
.hist > div.on::before { background:#d4a440; }
.hist b { font-family:"Poppins",sans-serif; color:#d4a440; font-size:22px; font-weight:700; } .hist p { margin:6px 0 0; font-size:13.5px; line-height:1.5; color:#c3cddf; } .hist strong { color:#fff; font-weight:600; }
.offer a { color:#e8c979; }
.sitefoot .addr { display:block; font-size:12.5px; color:#8394b3; margin-top:4px; }
@media (max-width:860px){
  .steps { grid-template-columns:1fr 1fr; } .hist { grid-template-columns:1fr; border-top:0; border-left:2px solid #1f3a6a; }
  .hist > div { padding:4px 0 18px 22px; } .hist > div::before { top:8px; left:-8px; }
  .hbars > div { grid-template-columns:1fr 54px; } .hbars .bar { grid-column:1/3; grid-row:2; }
  .cmp { grid-template-columns:76px 1fr 66px; } }
@media (max-width:760px){ body.inner .topnav .links { flex-wrap:nowrap; justify-content:flex-start; overflow-x:auto; } }
body.inner .topnav .links { gap:6px 17px; } body.inner .topnav .links a { font-size:11px; letter-spacing:.13em; }
.grid.mini { grid-template-columns:repeat(3,1fr); }
@media (max-width:560px){ .grid.mini { grid-template-columns:1fr; } }
.pg-title + .sec.center { margin-top:34px; } .hist { margin-top:28px; }
.offer b { white-space:nowrap; }
/* ---------- Admin login ---------- */
.am-who { cursor:default; color:#e8c979; } .am-who:hover { background:none; color:#e8c979; } .am-who b { color:#fff; font-weight:700; }
[hidden] { display:none !important; }
.lg-wrap { position:fixed; inset:0; z-index:80; background:rgba(3,8,20,.72); backdrop-filter:blur(4px); display:flex; align-items:center; justify-content:center; padding:16px; }
.lg-box { position:relative; width:100%; max-width:380px; background:#0a1a3c; border:1px solid #1d3463; border-top:3px solid #d32f2f; border-radius:14px; padding:26px 26px 24px;
  box-shadow:0 20px 50px rgba(0,0,0,.5); font-family:"Montserrat",sans-serif; color:#d5deec; box-sizing:border-box; }
.lg-box h3 { font-family:"Poppins",sans-serif; color:#fff; font-size:24px; margin:6px 0 4px; }
.lg-note { font-size:13px; color:#aab6cc; margin:0 0 16px; line-height:1.5; }
.lg-box label { display:block; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#e1bb64; font-weight:700; margin-bottom:12px; }
.lg-box input { display:block; width:100%; box-sizing:border-box; margin-top:6px; background:#050c1c; border:1px solid #1d3463; border-radius:8px; color:#fff;
  padding:10px 12px; font:500 14px "Montserrat",sans-serif; letter-spacing:0; text-transform:none; outline:none; }
.lg-box input:focus { border-color:#d4a440; }
.lg-msg { min-height:18px; font-size:13px; line-height:1.45; margin:4px 0 12px; } .lg-msg.bad { color:#ff8a80; } .lg-msg.ok { color:#8fd19e; }
.lg-go { width:100%; height:42px; border:0; border-radius:8px; background:#d32f2f; color:#fff; font:700 14px "Montserrat",sans-serif; letter-spacing:.08em; cursor:pointer; }
.lg-go:hover { background:#e53935; } .lg-go:disabled { opacity:.6; cursor:wait; }
.lg-x { position:absolute; top:10px; right:12px; background:none; border:0; color:#8394b3; font-size:24px; cursor:pointer; line-height:1; }
.lg-x:hover { color:#fff; }
/* ---------- Product badge: CCPE / RESEARCH (like VTP / VIRTUAL TRADING) ---------- */
.brand { text-decoration:none; }
.brand img { height:44px !important; }
.brand .prod { display:flex !important; flex-direction:column; justify-content:center; margin-left:22px; line-height:1; letter-spacing:0; }
.brand .prod b { font-family:"Montserrat",sans-serif; font-weight:700; font-size:27px; letter-spacing:.09em;
  background:linear-gradient(180deg,#f2d78c 0%,#e1bb64 45%,#c9952f 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.brand .prod i { font-style:normal; font-family:"Montserrat",sans-serif; font-weight:700; font-size:9.5px; letter-spacing:.24em; color:#7aa7f5; margin-top:6px; }
.homebrand { position:fixed; top:8px; left:28px; z-index:60; display:none; align-items:center; }
body.home .homebrand { display:flex; }
body.inner .topnav .brand { top:6px; }
body.inner .topnav { padding-top:64px; }
@media (max-width:760px){
  .brand img { height:30px !important; } .brand .prod { margin-left:10px; } .brand .prod b { font-size:18px; } .brand .prod i { font-size:7px; letter-spacing:.18em; margin-top:4px; }
  .homebrand { top:8px; left:10px; } body.inner .topnav .brand { top:7px; left:12px; } body.inner .topnav { padding-top:50px; }
  body.inner .tools .tb-lang svg { display:none; } }
@media (max-width:430px){ .tools .tb-lang svg { display:none; } .tools { gap:5px; } .tb { padding:0 6px; min-width:32px; } .tb-gold { min-width:36px; } .admin-btn.tb { width:36px; } }
.lg-brand { display:flex; align-items:center; padding-bottom:16px; margin-bottom:16px; border-bottom:1px solid #1d3463; }
.lg-brand img { height:40px !important; }
@media (max-width:760px){ .lg-brand img { height:36px !important; } .lg-brand .prod { margin-left:16px; } .lg-brand .prod b { font-size:24px; } .lg-brand .prod i { font-size:9px; } }
/* CCPE label: RESEARCH spans the width of CCPE (reference screenshot) */
.brand .prod b { letter-spacing:.1em; }
.brand .prod i { font-size:11.5px; letter-spacing:.2em; color:#7fa9f2; margin-top:7px; }
.lg-brand .prod { margin-left:0 !important; }
.lg-brand .prod b { font-size:40px; letter-spacing:.1em; }
.lg-brand .prod i { font-size:17px; letter-spacing:.2em; margin-top:8px; }
@media (max-width:760px){ .brand .prod i { font-size:8px; letter-spacing:.17em; } .lg-brand .prod b { font-size:34px; } .lg-brand .prod i { font-size:14.5px; } }
.lg-brand { justify-content:space-between; }
.lg-brand img.lg-nxw { height:62px !important; margin-right:22px; }
@media (max-width:760px){ .lg-brand img.lg-nxw { height:50px !important; margin-right:18px; } }
/* ---------- Members area (locked inside pages) ---------- */
.lockpage { display:none; }
.lock-box { max-width:520px; margin:40px auto 60px; padding:30px 32px 26px; background:#0a1a3c; border:1px solid #1d3463; border-top:3px solid #d32f2f; border-radius:16px; }
.lock-box .pg-title { margin:6px 0 10px; font-size:32px; } .lock-box .pg-lead { font-size:15.5px; margin-bottom:20px; }
.lock-go { max-width:220px; } .lock-box .note a, .lg-msg a { color:#e8c979; }
/* ---------- Administration: waiting list ---------- */
.warn { max-width:900px; margin:0 auto 26px; padding:12px 16px; border:1px solid #8a5a1c; background:rgba(212,164,64,.08); border-radius:10px; color:#e8c979; font-size:14px; line-height:1.5; }
.tbl td.acts { white-space:nowrap; text-align:right; } .tbl td small { color:#8394b3; }
.ab { border:0; border-radius:7px; padding:7px 12px; margin-left:6px; font:700 12px "Montserrat",sans-serif; letter-spacing:.06em; cursor:pointer; }
.ab-approve { background:#2e7d4f; color:#fff; } .ab-reject, .ab-revoke { background:#d32f2f; color:#fff; } .ab-delete { background:#3a4a6b; color:#fff; }
.ab-refresh { background:transparent; border:1px solid #2a4a82; color:#d5deec; margin:0; }
.ab:hover { filter:brightness(1.12); }
.topnav .links a.nav-admin { color:#ff8a80; } .topnav .links a.nav-admin.on { color:#ff8a80; border-bottom-color:#d32f2f; }
#rgWrap .lg-box { max-height:calc(100vh - 32px); overflow:auto; }
#rgWrap label { margin-bottom:10px; }
.lock-acts { display:flex; gap:12px; flex-wrap:wrap; } .lock-acts .lock-go { width:180px; }
.lock-su { width:180px; height:42px; border-radius:8px; border:1px solid #d4a440; background:transparent; color:#e8c979; font:700 14px "Montserrat",sans-serif; letter-spacing:.08em; cursor:pointer; }
.lock-su:hover { background:rgba(212,164,64,.1); }
.am-soon { cursor:default; color:#8394b3; } .am-soon:hover { background:none; color:#8394b3; }

/* login: CAPTCHA + remember me */
.lg-cap { margin-bottom:12px; }
.lg-cap-l { display:block; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#e1bb64; font-weight:700; margin-bottom:6px; }
.lg-cap-row { display:flex; align-items:center; gap:8px; }
.lg-cap-row canvas { width:150px; height:44px; border-radius:8px; border:1px solid #1d3463; flex:none; background:#e9eef7; }
.lg-cap-new { flex:none; width:34px; height:44px; border:1px solid #1d3463; border-radius:8px; background:#050c1c; color:#e1bb64; font-size:18px; cursor:pointer; }
.lg-cap-new:hover { border-color:#d4a440; }
.lg-box .lg-cap-row input { margin-top:0; flex:1; min-width:0; height:44px; text-align:center; }
.lg-box label.lg-rem { display:flex; align-items:center; gap:8px; text-transform:none; letter-spacing:0; font-weight:500; font-size:13px; color:#c9d3e6; cursor:pointer; }
.lg-box label.lg-rem input { width:16px; height:16px; margin:0; flex:none; accent-color:#d32f2f; }
#lgWrap .lg-box { max-height:calc(100vh - 32px); overflow:auto; }

/* nav: Home icon, About, MENU dropdown */
body.inner .topnav .links { flex-wrap:nowrap; overflow:visible; align-items:center; gap:0 26px; }
.topnav .links a.nav-home { display:inline-flex; align-items:center; padding-bottom:4px; }
.topnav .links a.nav-home svg { display:block; width:19px; height:19px; }
.navmenu { position:relative; }
.nm-btn { display:inline-flex; align-items:center; gap:7px; background:none; border:0; border-bottom:2px solid transparent; padding:0 0 4px; cursor:pointer;
  color:#aab6cc; font:600 11px "Montserrat",sans-serif; letter-spacing:.13em; text-transform:uppercase; }
.nm-btn:hover, .navmenu.open .nm-btn { color:#e1bb64; }
.nm-btn.on { color:#e1bb64; border-bottom-color:#d4a440; }
.nm-btn svg { transition:transform .2s; } .navmenu.open .nm-btn svg { transform:rotate(180deg); }
.nm-list { display:none; position:absolute; top:calc(100% + 12px); left:50%; transform:translateX(-50%); min-width:230px; z-index:60;
  background:#0a1a3c; border:1px solid #1d3463; border-top:3px solid #d4a440; border-radius:12px; padding:8px; box-shadow:0 18px 40px rgba(0,0,0,.5); }
.navmenu.open .nm-list { display:block; }
body.inner .topnav .nm-list a { display:block; padding:10px 14px; border:0; border-radius:8px; white-space:nowrap; font-size:11.5px; }
body.inner .topnav .nm-list a:hover { background:#11254d; }
body.inner .topnav .nm-list a.on { background:#16294d; border:0; }
body.inner .topnav .nm-list a.nav-admin { margin-top:6px; border-top:1px solid #1d3463; border-radius:0 0 8px 8px; }
body.inner .page { padding-top:118px; }
@media (max-width:760px){ body.inner .topnav .links { gap:0 22px; margin:0 auto; } .nm-list { left:auto; right:-40px; transform:none; } body.inner .page { padding-top:104px; } }

/* VTP-style header: brand | boxed MENU | gold Home | ABOUT, one row with the tools */
.topnav .brand .prod, .homebrand .prod { border-left:1px solid rgba(255,255,255,.2); padding-left:18px; margin-left:18px !important; }
.nm-btn { color:#fff; font:800 15px "Montserrat",sans-serif; letter-spacing:.08em; padding:11px 16px; border:1px solid #9a7a3a; border-radius:8px; background:#2b2416; gap:9px; }
.nm-btn:hover, .navmenu.open .nm-btn { color:#fff; border-color:#d4a440; background:#3a3020; }
.nm-btn.on { color:#fff; border-color:#d4a440; border-bottom-color:#d4a440; }
.nm-btn svg { width:11px; height:11px; }
.nm-list { left:0; transform:none; top:calc(100% + 10px); }
.topnav .links a.nav-home { color:#d4a440; padding:0; border:0; }
.topnav .links a.nav-home:hover, .topnav .links a.nav-home.on { color:#e8c979; border:0; }
.topnav .links a.nav-home svg { width:26px; height:26px; }
body.inner .topnav .links > a[data-p=about] { color:#fff; font:800 15px "Montserrat",sans-serif; letter-spacing:.06em; padding:4px 0; border-bottom:2px solid transparent; }
body.inner .topnav .links > a[data-p=about]:hover { color:#e1bb64; }
body.inner .topnav .links > a[data-p=about].on { color:#e1bb64; border-bottom-color:#d4a440; }
@media (min-width:761px){
  body.inner .topnav { flex-wrap:nowrap; justify-content:flex-start; height:76px; padding:0 0 0 28px; box-sizing:border-box; }
  body.inner .topnav .brand { position:static; }
  body.inner .topnav .links { margin:0 0 0 40px; gap:0 24px; }
  body.inner .page { padding-top:110px; }
}
@media (max-width:760px){
  .topnav .brand .prod, .homebrand .prod { padding-left:10px; margin-left:10px !important; }
  .nm-btn { font-size:12px; padding:7px 11px; } body.inner .topnav .links > a[data-p=about] { font-size:12px; }
  .topnav .links a.nav-home svg { width:21px; height:21px; } .nm-list { left:0; right:auto; }
}
@media (min-width:761px){ body.inner .topnav { height:62px; } body.inner .page { padding-top:100px; } }
body.inner .topnav .nm-list a { color:#fff; font-weight:700; font-size:12.5px; letter-spacing:.08em; }
body.inner .topnav .nm-list a:hover, body.inner .topnav .nm-list a.on { color:#e1bb64; }
body.inner .topnav .nm-list a.nav-admin { color:#ff8a80; }

/* CCPE split button: label opens Why CCPE, caret opens the list */
.nm-btn { padding:0; gap:0; overflow:hidden; }
.nm-btn .nm-go { color:#fff; text-decoration:none; padding:11px 12px 11px 16px; border:0 !important; font:800 15px "Montserrat",sans-serif; letter-spacing:.08em; }
body.inner .topnav .links .nm-btn a.nm-go { color:#fff; border:0; padding:11px 12px 11px 16px; font-size:15px; letter-spacing:.08em; }
.nm-caret { background:none; border:0; border-left:1px solid #9a7a3a; color:#fff; padding:11px 12px; cursor:pointer; display:flex; align-items:center; }
.nm-caret:hover, .navmenu.open .nm-caret { background:#4a3c22; }
.nm-btn svg { transition:transform .2s; } .navmenu.open .nm-caret svg { transform:rotate(180deg); }
@media (max-width:760px){ body.inner .topnav .links .nm-btn a.nm-go { font-size:12px; padding:7px 9px 7px 11px; } .nm-caret { padding:7px 9px; } }
/* process bar */
.stepbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 auto 34px; max-width:1100px; }
.stepbar-bottom { margin:48px auto 10px; padding-top:26px; border-top:1px solid #1d3463; }
.sb-btn { display:flex; align-items:center; gap:12px; min-width:0; flex:0 1 260px; padding:10px 14px; border:1px solid #1d3463; border-radius:10px; background:rgba(10,26,60,.6);
  color:#fff; text-decoration:none; font-family:"Montserrat",sans-serif; transition:border-color .2s, background .2s; }
.sb-btn:hover { border-color:#d4a440; background:#11254d; }
.sb-next { justify-content:flex-end; text-align:right; }
.sb-btn small { display:block; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:#e1bb64; font-weight:700; }
.sb-btn b { display:block; font-size:14px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-top:3px; }
.sb-arr { font-size:30px; line-height:1; color:#d4a440; }
.sb-btn.off { opacity:.3; pointer-events:none; }
.sb-mid { text-align:center; flex:1 1 auto; min-width:0; }
.sb-mid small { display:block; font:700 10.5px "Montserrat",sans-serif; letter-spacing:.2em; text-transform:uppercase; color:#aab6cc; margin-bottom:9px; }
.sb-dots { display:flex; justify-content:center; gap:7px; flex-wrap:wrap; }
.sb-dot { width:9px; height:9px; border-radius:50%; background:#1d3463; border:1px solid #2c4a80; }
.sb-dot.done { background:#9a7a3a; border-color:#9a7a3a; }
.sb-dot.on { background:#d4a440; border-color:#e8c979; transform:scale(1.35); }
@media (max-width:760px){ .stepbar { gap:8px; } .sb-btn { flex-basis:auto; padding:8px 10px; gap:6px; } .sb-btn b { display:none; } .sb-arr { font-size:24px; } .sb-dots { gap:5px; } .sb-dot { width:7px; height:7px; } }
@media (max-width:760px){ .sb-dots { gap:4px; flex-wrap:nowrap; } .sb-dot { width:6px; height:6px; } .sb-mid small { letter-spacing:.1em; } }

/* user badge: only when someone is logged in */
body:not(.is-admin) #userBadge { display:none !important; }

/* member (blue) login and sign up; the admin login keeps the red style */
#lgWrap.lg-user .lg-box, #rgWrap .lg-box { border-top-color:#2f6fd8; }
#lgWrap.lg-user .gold-l, #rgWrap .gold-l { color:#7fa9f2; }
#lgWrap.lg-user .lg-go, #rgWrap .lg-go { background:#2f6fd8; } #lgWrap.lg-user .lg-go:hover, #rgWrap .lg-go:hover { background:#3d7ee6; }
#lgWrap.lg-user .lg-box input:focus, #rgWrap .lg-box input:focus { border-color:#5b8fe8; }
#lgWrap.lg-user .lg-rem input { accent-color:#2f6fd8; }
.lg-alt { margin:14px 0 0; font-size:13px; color:#aab6cc; text-align:center; line-height:1.5; } .lg-alt a { color:#7fa9f2; font-weight:700; }
#lgWrap.lg-user .lg-box label, #lgWrap.lg-user .lg-cap-l, #rgWrap .lg-box label, #rgWrap .lg-cap-l { color:#9cbcf5; } #lgWrap.lg-user .lg-box label.lg-rem, #rgWrap .lg-box label.lg-rem { color:#c9d3e6; }

/* horizontal Sign Up */
#rgWrap .lg-box.rg-box { max-width:860px; display:grid; grid-template-columns:300px 1fr; gap:0 34px; padding:30px 32px 28px; }
.rg-side { border-right:1px solid #1d3463; padding-right:30px; display:flex; flex-direction:column; }
.rg-side .lg-brand { justify-content:space-between; }
.rg-side .lg-brand .prod b { font-size:32px; } .rg-side .lg-brand .prod i { font-size:13.5px; } .rg-side .lg-brand img.lg-nxw { height:48px !important; margin-right:4px; }
.rg-steps { margin:6px 0 0; padding:0; list-style:none; counter-reset:rg; font-size:13px; color:#c9d3e6; }
.rg-steps li { counter-increment:rg; display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.rg-steps li::before { content:counter(rg); flex:none; width:24px; height:24px; border-radius:50%; border:1px solid #2f6fd8; color:#9cbcf5; font-weight:700; font-size:12px; display:flex; align-items:center; justify-content:center; }
.rg-side .lg-alt { margin-top:auto; text-align:left; padding-top:14px; }
.rg-main { padding-top:6px; }
.rg-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; } .rg-grid .rg-full { grid-column:1 / -1; }
#rgWrap .lg-box.rg-box .lg-x { top:12px; right:14px; }
@media (max-width:820px){ #rgWrap .lg-box.rg-box { grid-template-columns:1fr; max-width:420px; padding:24px 22px; }
  .rg-side { border-right:0; padding-right:0; } .rg-steps { display:none; } .rg-side .lg-alt { display:none; } }
@media (max-width:480px){ .rg-grid { grid-template-columns:1fr; } }

/* Sign Up: email PIN step */
.rg-pin h4 { font-family:"Poppins",sans-serif; color:#fff; font-size:22px; margin:6px 0 6px; }
.pin-in { display:block; width:100%; box-sizing:border-box; margin:6px 0 4px; background:#050c1c; border:1px solid #2f6fd8; border-radius:10px; color:#fff; outline:none;
  height:64px; text-align:center; font:700 32px "Montserrat",monospace; letter-spacing:.55em; padding-left:.55em; }
.pin-in:focus { border-color:#7fa9f2; box-shadow:0 0 0 3px rgba(47,111,216,.25); }
.rg-steps li.on { color:#fff; font-weight:700; } .rg-steps li.on::before { background:#2f6fd8; color:#fff; }
.rg-steps li.done { color:#8fd19e; } .rg-steps li.done::before { content:"\2713"; border-color:#3c8f5a; color:#8fd19e; }
small.vf { color:#ff8a80; font-size:11px; } small.vf.ok { color:#8fd19e; }
/* process bar x2 (desktop) */
@media (min-width:761px){
  .stepbar { max-width:1180px; gap:28px; }
  .sb-btn { flex-basis:400px; padding:18px 26px; gap:20px; border-radius:16px; border-width:2px; }
  .sb-btn small { font-size:16px; letter-spacing:.16em; }
  .sb-btn b { font-size:28px; margin-top:6px; }
  .sb-arr { font-size:60px; }
  .sb-mid small { font-size:20px; letter-spacing:.16em; margin-bottom:16px; }
  .sb-dots { gap:13px; } .sb-dot { width:18px; height:18px; border-width:2px; }
}
@media (max-width:760px){ .sb-btn small { font-size:13px; } .sb-arr { font-size:36px; } .sb-mid small { font-size:13px; } .sb-dot { width:10px; height:10px; } .sb-dots { gap:5px; flex-wrap:wrap; } }
@media (min-width:761px){ .sb-btn { flex-basis:340px; } .sb-dots { flex-wrap:nowrap; gap:10px; } .sb-dot { width:16px; height:16px; } }
@media (max-width:760px){ .sb-btn small { font-size:11px; letter-spacing:.1em; } .sb-arr { font-size:30px; } .sb-mid small { font-size:11px; letter-spacing:.08em; } .sb-dot { width:8px; height:8px; } .sb-dots { gap:4px; flex-wrap:nowrap; } }
/* page titles: white part on line 1, gold part on line 2 */
.pg-title .gold { display:block; }

/* CCPE: plain link after About (no dropdown); the page list stays hidden for the step bar and search */
#nmList[hidden] { display:none !important; }
body.inner .topnav .links > a.nav-ccpe, body.inner .topnav .links > a.nav-admin { color:#fff; font:800 15px "Montserrat",sans-serif; letter-spacing:.06em; padding:4px 0; border-bottom:2px solid transparent; }
body.inner .topnav .links > a.nav-ccpe:hover { color:#e1bb64; }
body.inner .topnav .links > a.nav-ccpe.on { color:#e1bb64; border-bottom-color:#d4a440; }
body.inner .topnav .links > a.nav-admin { color:#ff8a80; } body.inner .topnav .links > a.nav-admin.on { border-bottom-color:#d32f2f; }
@media (max-width:760px){ body.inner .topnav .links > a.nav-ccpe, body.inner .topnav .links > a.nav-admin { font-size:12px; } }

/* ABOUT dropdown (NXW, Partners & Sponsors) */
.nd-btn { display:inline-flex; align-items:center; gap:7px; background:none; border:0; border-bottom:2px solid transparent; padding:4px 0; cursor:pointer;
  color:#fff; font:800 15px "Montserrat",sans-serif; letter-spacing:.06em; text-transform:uppercase; }
.nd-btn:hover, .navmenu.open .nd-btn { color:#e1bb64; }
.nd-btn.on { color:#e1bb64; border-bottom-color:#d4a440; }
.nd-btn svg { width:11px; height:11px; transition:transform .2s; } .navmenu.open .nd-btn svg { transform:rotate(180deg); }
.nd-list { min-width:240px; }
.pg-title.left .gold { display:inline; }
.one { margin-top:10px; }
@media (max-width:760px){ .nd-btn { font-size:12px; } }

/* Brochure & contact */
.contact-two { align-items:start; gap:28px; }
.brochure-card .dl-btn { margin-top:14px; width:auto; padding:0 22px; }
.contact-card p { margin:0 0 12px; } .contact-card a, .ri-card a { color:#e8c979; }
.ri-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 14px; margin-top:12px; } .ri-grid .ri-full { grid-column:1 / -1; }
.ri-card label { display:block; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#e1bb64; font-weight:700; margin-bottom:12px; font-family:"Montserrat",sans-serif; }
.ri-card input, .ri-card select, .ri-card textarea { display:block; width:100%; box-sizing:border-box; margin-top:6px; background:#050c1c; border:1px solid #1d3463; border-radius:8px; color:#fff;
  padding:10px 12px; font:500 14px "Montserrat",sans-serif; letter-spacing:0; text-transform:none; outline:none; resize:vertical; }
.ri-card input:focus, .ri-card select:focus, .ri-card textarea:focus { border-color:#d4a440; }
td.ri-txt { white-space:pre-wrap; max-width:420px; }
@media (max-width:760px){ .ri-grid { grid-template-columns:1fr; } }
.page .card a { color:#e8c979; }

/* Administration (VTP model) */
section.page[data-page=admin] { max-width:1180px; }
.adm-kick { display:block; font:800 13px "Montserrat",sans-serif; letter-spacing:.25em; color:#e1bb64; margin-bottom:6px; }
.adm-title { font-family:Georgia,"Times New Roman",serif; font-style:italic; font-weight:700; font-size:60px; color:#fff; margin:0; line-height:1.1; }
.adm-rule { display:block; width:80px; height:3px; background:#d4a440; margin:12px 0 26px; }
.adm-tabs { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:24px; }
.adm-tab { background:transparent; border:1px solid #2a4a82; border-radius:8px; color:#fff; padding:12px 20px; font:800 13px "Montserrat",sans-serif; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; }
.adm-tab:hover { border-color:#d4a440; } .adm-tab.on { border:2px solid #d4a440; background:#2b2416; }
.adm-refresh { margin-left:auto; color:#aab6cc; }
.adm-stats { display:grid; grid-template-columns:repeat(6,1fr); gap:14px; margin-bottom:22px; }
.adm-stat { border:1px solid #1d3463; border-radius:12px; background:rgba(10,26,60,.6); padding:18px 20px; }
.adm-stat b { display:block; font:800 34px "Montserrat",sans-serif; } .adm-stat span { font:600 11.5px "Montserrat",sans-serif; letter-spacing:.14em; text-transform:uppercase; color:#aab6cc; }
.adm-stat b.w { color:#fff; } .adm-stat b.g { color:#4cd18a; } .adm-stat b.y { color:#e1bb64; } .adm-stat b.r { color:#ff6b5e; } .adm-stat b.b { color:#7fa9f2; }
.adm-card { border:1px solid #1d3463; border-radius:14px; background:rgba(10,26,60,.7); padding:24px 26px; }
.adm-h { font:800 30px "Montserrat",sans-serif; color:#e1bb64; margin:0 0 8px; letter-spacing:.02em; }
.adm-note { color:#c9d3e6; font-size:14.5px; margin:0 0 18px; }
.adm-filters { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:16px; }
.adm-filters .fl { font:700 12px "Montserrat",sans-serif; letter-spacing:.18em; color:#aab6cc; margin:0 6px 0 4px; }
.adm-filters .fl + .chip { margin-left:4px; } .adm-filters .chip:last-child { margin-right:0; }
.chip { background:transparent; border:1px solid #2a4a82; border-radius:8px; color:#fff; padding:8px 16px; font:700 13.5px "Montserrat",sans-serif; cursor:pointer; }
.chip.on { background:#d4a440; border-color:#d4a440; color:#1a1406; }
.adm-search { display:flex; align-items:center; gap:10px; max-width:340px; border:1px solid #2a4a82; border-radius:8px; padding:0 14px; margin-bottom:18px; color:#aab6cc; background:#050c1c; }
.adm-search input { flex:1; background:none; border:0; outline:none; color:#fff; height:42px; font:500 14px "Montserrat",sans-serif; }
.st { display:inline-block; padding:3px 10px; border-radius:999px; font:700 11px "Montserrat",sans-serif; letter-spacing:.06em; }
.st-pending { background:rgba(212,164,64,.15); color:#e1bb64; } .st-approved { background:rgba(76,209,138,.13); color:#4cd18a; } .st-rejected { background:rgba(255,107,94,.13); color:#ff8a80; }
i.dot { display:inline-block; width:8px; height:8px; border-radius:50%; background:#3a4a6b; margin-right:7px; } i.dot.on { background:#4cd18a; box-shadow:0 0 6px #4cd18a; }
@media (max-width:1100px){ .adm-stats { grid-template-columns:repeat(3,1fr); } }
@media (max-width:760px){ .adm-title { font-size:40px; } .adm-stats { grid-template-columns:repeat(2,1fr); } .adm-refresh { margin-left:0; } .adm-card { padding:18px 14px; } }
.adm .warn { margin:0 0 22px; max-width:none; }

/* show/hide password */
.pw-wrap{position:relative;display:block}
.pw-wrap input{width:100%;padding-right:44px !important}
.pw-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:none;border:0;border-radius:8px;color:#8fa3cc;cursor:pointer;padding:0}
.pw-eye:hover{color:#e8c979;background:rgba(255,255,255,.06)}
.pw-eye .pw-slash{display:none}
.pw-eye.on .pw-slash{display:inline}
.pw-eye.on{color:#e8c979}
.dl-row{display:flex;gap:10px;flex-wrap:wrap}.dl-row .dl-btn{flex:1 1 160px;width:auto}

/* ---------- My showroom ---------- */
.sr{color:#dbe3f5}
.sr a{color:#e8c979}
.sr-msg{margin:40px auto;max-width:520px;text-align:center;font-size:17px;color:#c9d3ea}.sr-msg.bad{color:#ff9a9a}
.sr-head{display:grid;grid-template-columns:128px 1fr auto;gap:28px;align-items:center;padding:28px;border:1px solid rgba(232,201,121,.35);border-radius:18px;background:linear-gradient(135deg,rgba(18,40,92,.85),rgba(8,20,52,.85))}
.sr-ph{width:128px;height:128px;border-radius:50%;overflow:hidden;border:3px solid #e8c979;display:flex;align-items:center;justify-content:center;background:#0d2357;flex:none}
.sr-ph img{width:100%;height:100%;object-fit:cover}.sr-ph span{font-family:Montserrat,Poppins,sans-serif;font-weight:700;font-size:40px;color:#e8c979}
.sr-k{font-size:12px;letter-spacing:.25em;color:#e8c979;font-weight:700}
.sr-id h2{font-size:34px;margin:4px 0 6px;color:#fff;line-height:1.15}
.sr-ti{font-family:Lora,Georgia,serif;font-style:italic;color:#e8c979;font-size:17px;margin:0 0 4px}
.sr-org{margin:0;color:#aebbd8;font-size:14px}
.sr-facts{display:flex;gap:26px;margin-top:16px;flex-wrap:wrap}
.sr-facts div{border-left:2px solid #e8c979;padding-left:10px}.sr-facts b{display:block;font-size:22px;color:#e8c979}.sr-facts span{font-size:12px;color:#aebbd8}
.sr-share{min-width:230px;max-width:300px;padding:14px 16px;border-radius:14px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.1)}
.sr-sl{display:block;font-size:11px;letter-spacing:.22em;color:#8fa3cc;font-weight:700;margin-bottom:8px}
.sr-share small{display:block;color:#aebbd8;font-size:12px;margin-top:8px}
.sr-sw{display:inline-flex;align-items:center;gap:10px;background:none;border:0;color:#fff;cursor:pointer;font:inherit;padding:0}
.sr-sw i{width:46px;height:26px;border-radius:13px;background:#3a4767;position:relative;transition:.2s;flex:none}
.sr-sw i::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.2s}
.sr-sw.on i{background:#2fa36b}.sr-sw.on i::after{left:23px}
.sr-sw b{font-weight:700;font-size:15px}.sr-sw.sm i{width:38px;height:22px}.sr-sw.sm i::after{width:16px;height:16px}.sr-sw.sm.on i::after{left:19px}.sr-sw.sm b{font-size:13px}
.sr-link{display:flex;gap:6px;margin-top:10px}.sr-link input{flex:1;min-width:0;background:#07122e;border:1px solid rgba(255,255,255,.15);color:#dbe3f5;border-radius:8px;padding:6px 8px;font-size:12px}
.sr-link button{background:#e8c979;color:#0b1f4d;border:0;border-radius:8px;padding:6px 10px;font-weight:700;font-size:12px;cursor:pointer}
.sr-tabs{display:flex;gap:6px;margin:24px 0 0;border-bottom:1px solid rgba(255,255,255,.12);flex-wrap:wrap}
.sr-tab{background:none;border:0;color:#aebbd8;font:inherit;font-weight:600;font-size:15px;padding:12px 18px;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-1px}
.sr-tab.on{color:#e8c979;border-bottom-color:#e8c979}.sr-tab:hover{color:#fff}
.sr-bar{display:flex;align-items:center;gap:12px;margin:18px 0 6px;flex-wrap:wrap}
.lg-go.sr-btn{width:auto;padding:10px 22px;margin:0}.lg-go.sr-btn.sm,.sr-btn2.sm{padding:6px 14px;font-size:13px}
.sr-btn2{background:none;border:1px solid rgba(255,255,255,.3);color:#dbe3f5;border-radius:10px;padding:10px 20px;font:inherit;font-weight:600;cursor:pointer}
.sr-note{font-size:13px;color:#8fa3cc}.sr-note.bad{color:#ff9a9a}.sr-note.ok{color:#7fe0a8}
.sr-body{margin-top:10px}
.sr-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:28px}.sr-grid.fx{grid-template-columns:1.35fr 1fr}
.sr-block{margin:22px 0 4px}
.sr-h{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:#e8c979;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid rgba(232,201,121,.3)}
.sr-p{line-height:1.7;color:#d3dbee;margin:0}
.sr-empty{color:#7f8fb3;font-style:italic;margin:0}
.sr-hint{color:#aebbd8;font-size:13px;background:rgba(232,201,121,.08);border-left:3px solid #e8c979;padding:8px 12px;border-radius:4px}
.sr-sim{font-size:12px;color:#8fa3cc;margin:10px 0 0}
.sr-tl .sr-it{display:grid;grid-template-columns:14px 1fr;gap:12px;padding:0 0 14px;position:relative}
.sr-tl .sr-it>i{width:10px;height:10px;border-radius:50%;background:#e8c979;margin-top:6px;box-shadow:0 0 0 3px rgba(232,201,121,.2)}
.sr-tl .sr-it:not(:last-child)::before{content:"";position:absolute;left:4.5px;top:18px;bottom:0;width:1px;background:rgba(232,201,121,.3)}
.sr-tl b{color:#fff;font-weight:600}.sr-tl span{display:block;color:#aebbd8;font-size:13px;margin-top:2px}.sr-tl span em{color:#e8c979;font-style:normal}
.sr-tl p{margin:4px 0 0;font-size:13px;color:#c3cde6}
.sr-tags{display:flex;flex-wrap:wrap;gap:8px}.sr-tags span{border:1px solid #e8c979;color:#e8c979;border-radius:20px;padding:4px 12px;font-size:13px}
.sr-tags.alt span{border-color:#5b78c4;color:#c9d6f5}
.sr-ul{margin:0;padding-left:18px;line-height:1.8}.sr-ul li::marker{color:#e8c979}
.sr-res{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.sr-rc{border:1px solid rgba(255,255,255,.12);border-top:3px solid #e8c979;border-radius:12px;padding:14px 16px;background:rgba(10,26,66,.6);position:relative}
.sr-rc small{display:block;color:#8fa3cc;font-size:12px;letter-spacing:.04em;padding-right:64px}.sr-rc b{display:block;color:#fff;margin:4px 0}.sr-rc p{font-size:13px;color:#c3cde6;margin:0 0 6px}
.sr-rc .sr-badge{position:absolute;right:12px;top:12px}
.sr-badge{display:inline-block;font-style:normal;font-size:11px;font-weight:700;letter-spacing:.06em;padding:2px 8px;border-radius:10px;background:rgba(47,163,107,.2);color:#7fe0a8;margin-left:6px;vertical-align:middle}
.sr-badge.priv{background:rgba(255,120,120,.15);color:#ff9a9a}.sr-badge.wp{background:rgba(232,201,121,.18);color:#e8c979}.sr-badge.pub{background:rgba(91,120,196,.25);color:#c9d6f5}
.sr-ct{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.sr-ct div{border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:10px 14px}.sr-ct small{display:block;color:#8fa3cc;font-size:11px;letter-spacing:.15em;text-transform:uppercase}.sr-ct span{word-break:break-word}
/* edit */
.sr-form{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}
.sr-f{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#8fa3cc;letter-spacing:.06em}.sr-f.wide{grid-column:1/-1}
.sr-f input,.sr-f textarea,.sr-f select,.sr-row input,.sr-row textarea,.sr-topic input,.sr-topic textarea,.sr-compose input,.sr-compose select{background:#07122e;border:1px solid rgba(255,255,255,.16);color:#fff;border-radius:8px;padding:9px 11px;font:inherit;font-size:14px}
.sr-f textarea,.sr-row textarea,.sr-topic textarea{resize:vertical}
.sr-phed{grid-column:1/-1;display:flex;align-items:center;gap:16px}.sr-phed .sr-ph{width:84px;height:84px}.sr-phed .sr-ph span{font-size:28px}
.sr-up{cursor:pointer;color:#e8c979;font-weight:600;border:1px solid #e8c979;border-radius:8px;padding:6px 12px}
.sr-rows{display:flex;flex-direction:column;gap:10px}
.sr-row{display:grid;grid-template-columns:2fr 1.6fr .8fr 1.4fr auto auto;gap:8px;align-items:start;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:10px}
.sr-row .nt{grid-column:1/5}
.sr-shr{display:flex;align-items:center;gap:6px;font-size:13px;color:#dbe3f5;white-space:nowrap;padding-top:8px}
.sr-del{background:none;border:1px solid rgba(255,120,120,.4);color:#ff9a9a;border-radius:8px;width:34px;height:36px;font-size:18px;cursor:pointer}
.sr-add{background:none;border:1px dashed rgba(232,201,121,.6);color:#e8c979;border-radius:8px;padding:7px 14px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;margin-top:8px}
/* topics, feed, similar */
.sr-topics{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.sr-topic{border:1px solid rgba(232,201,121,.4);border-radius:12px;padding:14px;background:rgba(10,26,66,.6);text-align:left;font:inherit;color:#dbe3f5}
.sr-topic b{color:#e8c979;font-size:16px}.sr-topic p{margin:6px 0 10px;font-size:13px;color:#c3cde6}
.sr-topic.ed{display:flex;flex-direction:column;gap:8px}.sr-topic.ed div{display:flex;gap:8px}.sr-topic.ed .sr-add{margin:0}
.sr-tpa{display:flex;gap:8px}.sr-tpa button{background:none;border:0;color:#8fa3cc;font:inherit;font-size:12px;cursor:pointer;padding:0;text-decoration:underline}
.sr-tpadd{border-style:dashed;color:#e8c979;font-weight:600;cursor:pointer;min-height:90px}
.sr-feedbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.sr-fctl{display:flex;gap:14px;align-items:center}.sr-fctl .sr-add{margin:0}
.sr-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.sr-chips .chip{background:none;border:1px solid rgba(255,255,255,.2);color:#c3cde6;border-radius:16px;padding:5px 12px;font:inherit;font-size:13px;cursor:pointer}
.sr-chips .chip.on{background:#e8c979;border-color:#e8c979;color:#0b1f4d;font-weight:700}
.sr-tbl{overflow-x:auto;border:1px solid rgba(255,255,255,.1);border-radius:12px}
.sr-tbl table{width:100%;border-collapse:collapse;font-size:13px}
.sr-tbl th{text-align:left;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#e8c979;padding:10px 12px;border-bottom:1px solid rgba(232,201,121,.3);white-space:nowrap}
.sr-tbl td{padding:9px 12px;border-bottom:1px solid rgba(255,255,255,.07);vertical-align:top}
.sr-tbl td:first-child{white-space:nowrap;color:#aebbd8}
.sr-tbl tr.new td{background:rgba(232,201,121,.07)}
.sr-new{font-style:normal;font-size:10px;font-weight:800;background:#e8c979;color:#0b1f4d;border-radius:6px;padding:1px 5px;margin-left:4px}
.sr-mini{display:inline-block;font-size:11px;border:1px solid rgba(232,201,121,.5);color:#e8c979;border-radius:10px;padding:1px 8px;margin:1px 0}
.sr-match{display:inline-block;width:60px;height:6px;background:rgba(255,255,255,.12);border-radius:3px;margin-right:8px;vertical-align:middle;overflow:hidden}.sr-match i{display:block;height:100%;background:#2fa36b}
.sr-tbl .sr-add{margin:0;padding:4px 10px}
/* forum */
.sr-compose{display:flex;gap:8px;margin:0 0 12px}.sr-compose input{flex:1;min-width:0}
.sr-post{border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px 14px;margin-bottom:10px;background:rgba(10,26,66,.55)}
.sr-post.open{border-color:rgba(232,201,121,.5)}
.sr-pm{display:flex;gap:10px;align-items:center}.sr-pm small{color:#8fa3cc;font-size:12px}
.sr-pt{display:block;background:none;border:0;color:#fff;font:inherit;font-weight:600;font-size:15px;text-align:left;padding:6px 0;cursor:pointer}
.sr-pt:hover{color:#e8c979}
.sr-pf{display:flex;gap:14px;align-items:center;font-size:12px;color:#8fa3cc}
.sr-pf button{background:none;border:0;color:#8fa3cc;font:inherit;cursor:pointer;padding:0}.sr-pf button.on{color:#e8c979}
.sr-replies{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}
.sr-replies>div:not(.sr-compose){padding:6px 0 6px 12px;border-left:2px solid rgba(232,201,121,.4);margin-bottom:8px}
.sr-replies b{color:#e8c979;font-size:13px}.sr-replies small{color:#8fa3cc;font-size:11px}.sr-replies p{margin:2px 0 0;font-size:13px}
.sr-count{font-style:normal;background:#d6342f;color:#fff;border-radius:10px;padding:1px 8px;font-size:11px;letter-spacing:0;margin-left:6px}
.sr-req{border:1px solid rgba(255,255,255,.1);border-left:3px solid #e8c979;border-radius:10px;padding:12px 14px;margin-bottom:10px}
.sr-req.declined{opacity:.55;border-left-color:#ff9a9a}.sr-req.accepted{border-left-color:#2fa36b}
.sr-rqh b{color:#fff}.sr-rqh small{display:block;color:#8fa3cc;font-size:12px}.sr-rqh .sr-badge{margin:4px 6px 0 0}
.sr-req p{margin:8px 0;font-size:13px;color:#d3dbee}.sr-rqa{display:flex;gap:8px}
@media (max-width:900px){.sr-head{grid-template-columns:1fr;text-align:center;justify-items:center}.sr-facts{justify-content:center}.sr-share{max-width:none;width:100%}
 .sr-grid,.sr-grid.fx,.sr-form{grid-template-columns:1fr}.sr-row{grid-template-columns:1fr 1fr}.sr-row .nt{grid-column:1/-1}.sr-id h2{font-size:26px}}
.sr-row>*,.sr-form>*,.sr-f input,.sr-f textarea{min-width:0;box-sizing:border-box}.sr-row input,.sr-row textarea{width:100%;box-sizing:border-box}

/* current papers */
.cp-kpi{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}
.cp-kpi div{border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px 16px;background:rgba(10,26,66,.55)}.cp-kpi b{display:block;font-size:26px;color:#e8c979}.cp-kpi span{font-size:12px;color:#aebbd8}
.cp-pipe{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;margin-bottom:14px}
.cp-st{background:rgba(10,26,66,.55);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:8px 6px;color:#8fa3cc;font:inherit;cursor:pointer;text-align:center;position:relative}
.cp-st i{display:block;font-style:normal;font-size:10px;letter-spacing:.1em}.cp-st b{display:block;font-size:20px;color:#5f6f93}.cp-st span{display:block;font-size:11px;line-height:1.2}
.cp-st.has b{color:#e8c979}.cp-st.has{color:#dbe3f5}.cp-st.on{border-color:#e8c979;background:rgba(232,201,121,.12)}
.cp-b{font-style:normal;font-size:11px;font-weight:700;border-radius:10px;padding:2px 9px;white-space:nowrap;background:rgba(143,163,204,.18);color:#c9d6f5}
.cp-b.s2,.cp-b.s3{background:rgba(91,120,196,.3);color:#dbe6ff}.cp-b.s4,.cp-b.s5,.cp-b.s6{background:rgba(232,201,121,.2);color:#e8c979}.cp-b.s7{background:rgba(47,163,107,.22);color:#7fe0a8}
.cp-pr{display:inline-block;width:70px;height:6px;border-radius:3px;background:rgba(255,255,255,.12);overflow:hidden;margin-right:8px;vertical-align:middle}.cp-pr i{display:block;height:100%;background:linear-gradient(90deg,#5b78c4,#e8c979)}
.sr-tbl td:nth-child(4){white-space:nowrap}
.cp-dl{white-space:nowrap}.cp-dl small{display:block;font-size:11px;color:#8fa3cc}.cp-dl small.soon{color:#e8c979}.cp-dl small.late{color:#ff9a9a}
.sr-row.cp-row{grid-template-columns:repeat(4,1fr)}.cp-row .w2{grid-column:span 2}.cp-row select,.cp-row input[type=date],.cp-row input[type=number]{background:#07122e;border:1px solid rgba(255,255,255,.16);color:#fff;border-radius:8px;padding:9px 11px;font:inherit;font-size:14px;min-width:0;width:100%;box-sizing:border-box;color-scheme:dark}
.cp-n{display:flex;align-items:center;gap:6px;color:#aebbd8}.cp-row .sr-shr{padding-top:8px}
@media (max-width:900px){.cp-pipe{grid-template-columns:repeat(4,1fr)}.cp-kpi{grid-template-columns:1fr}.sr-row.cp-row{grid-template-columns:1fr 1fr}}

/* working paper page */
.cp-open{background:none;border:0;padding:0;font:inherit;font-weight:600;color:#fff;text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:rgba(232,201,121,.5);text-underline-offset:3px}
.cp-open:hover{color:#e8c979}
.pp-nav{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:18px 0 6px;flex-wrap:wrap}.pp-nav button[disabled]{opacity:.35;cursor:default}
.pp{max-width:860px;margin:10px auto 0;background:rgba(8,20,52,.75);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:34px 42px}
.pp-title{font-family:Lora,Georgia,serif;font-size:30px;line-height:1.25;color:#fff;margin:8px 0 8px}
.pp-au{color:#e8c979;font-size:15px;margin:0 0 12px}
.pp-meta{display:flex;flex-wrap:wrap;gap:16px;align-items:center;font-size:13px;color:#aebbd8;padding:12px 0;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}.pp-meta b{color:#fff;font-weight:600}
.pp-next{font-size:14px;color:#c3cde6;margin:12px 0 0}
.pp-abs{background:rgba(232,201,121,.07);border-left:3px solid #e8c979;border-radius:6px;padding:4px 20px 14px;margin:22px 0 6px}
.pp-abs p{line-height:1.7}.pp-kw{font-size:13px;color:#aebbd8}.pp-kw b{color:#e8c979}
.pp-h{font-family:Lora,Georgia,serif;font-size:19px;color:#e8c979;margin:24px 0 8px}
.pp-txt p{line-height:1.8;color:#d3dbee;margin:0 0 10px;text-align:justify}
.pp-refs{padding-left:20px;font-size:13px;line-height:1.6;color:#c3cde6}.pp-refs li{margin-bottom:6px}
.pp-notes{border:1px dashed rgba(255,154,154,.5);border-radius:10px;padding:2px 16px 10px;margin-top:20px}.pp-notes .pp-h{color:#ff9a9a;font-size:15px}
#ppForm.pp{max-width:none}.pp-part textarea{font-family:Lora,Georgia,serif;font-size:15px;line-height:1.6}
.pp-del{border-color:rgba(255,120,120,.5);color:#ff9a9a;margin-left:auto}
.sr-f select,.sr-f input[type=date],.sr-f input[type=number]{color-scheme:dark}
@media (max-width:900px){.pp{padding:22px 18px}.pp-title{font-size:23px}}
.cp-nx{display:block;font-size:12px;color:#8fa3cc;margin-top:4px}.sr-tbl td .cp-open{font-size:14px}

/* ---------- Marketplace ---------- */
body.inner .topnav .links > a.nav-market{margin-left:4px}
.mk .sr-tab small{font-size:12px;color:#8fa3cc;margin-left:4px}
.mk-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:18px 0 6px;flex-wrap:wrap}
.mk-search{flex:1;max-width:460px}
.mk-ws{font-size:13px;color:#aebbd8}.mk-ws b{color:#e8c979}
.mk-msg{margin:6px 0}
.mk-filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:10px 0 0}
.mk-filters .fl{font-size:11px;letter-spacing:.18em;color:#8fa3cc;font-weight:700;margin-right:6px;min-width:84px}
.mk-filters .chip{background:none;border:1px solid rgba(255,255,255,.2);color:#c3cde6;border-radius:16px;padding:5px 12px;font:inherit;font-size:13px;cursor:pointer}
.mk-filters .chip.on{background:#e8c979;border-color:#e8c979;color:#0b1f4d;font-weight:700}
.mk-count{font-size:13px;color:#8fa3cc;margin:14px 0 8px}
.mk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.mk-card{display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:16px 18px;background:rgba(10,26,66,.65);color:#dbe3f5}
.mk-card.open{border-color:rgba(232,201,121,.55)}
.mk-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.mk-cat{font-style:normal;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8fa3cc}
.mk-price{font-size:13px;color:#e8c979}.mk-price.free{color:#7fe0a8}
.mk-card h4{margin:8px 0 2px;font-size:17px;color:#fff;line-height:1.3}.mk-card h4.mono{font-family:"DejaVu Sans Mono",Consolas,monospace;font-size:16px}
.mk-prov{color:#aebbd8;font-size:12px}
.mk-card p{font-size:13px;color:#c3cde6;margin:8px 0;flex:1}
.mk-meta{display:flex;flex-wrap:wrap;gap:6px}.mk-meta span{font-size:11px;border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:2px 8px;color:#aebbd8}
.mk-dl{display:grid;grid-template-columns:90px 1fr;gap:4px 10px;font-size:12px;margin:10px 0 0}.mk-dl dt{color:#8fa3cc}.mk-dl dd{margin:0;color:#dbe3f5}
.mk-foot{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:12px;color:#8fa3cc;flex-wrap:wrap}.mk-foot .mk-cat{margin-left:auto}
.mk-stars{position:relative;display:inline-block;width:70px;height:12px;background:linear-gradient(90deg,rgba(255,255,255,.18) 0 100%);-webkit-mask:repeating-linear-gradient(90deg,#000 0 12px,transparent 12px 14.5px);mask:repeating-linear-gradient(90deg,#000 0 12px,transparent 12px 14.5px);border-radius:2px}
.mk-stars i{position:absolute;left:0;top:0;bottom:0;background:#e8c979}
.mk-act{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.mk-act .sr-btn{flex:1}
.mk-act button[disabled]{opacity:.6;cursor:default}
.mk-lang{font-style:normal;font-size:11px;font-weight:800;border-radius:6px;padding:2px 8px}.mk-lang.r{background:#1f5fa8;color:#fff}.mk-lang.python{background:#f2c94c;color:#1a2a4f}
.mk-code{display:flex;align-items:center;gap:6px;background:#050d24;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:6px 8px;margin-top:4px}
.mk-code code{flex:1;min-width:0;overflow-x:auto;white-space:nowrap;font-family:"DejaVu Sans Mono",Consolas,monospace;font-size:12px;color:#e8c979}
.mk-code button{background:none;border:1px solid rgba(255,255,255,.2);color:#c3cde6;border-radius:6px;font:inherit;font-size:11px;padding:3px 8px;cursor:pointer}
.mk-sell{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:22px;padding:16px 18px;border:1px dashed rgba(232,201,121,.5);border-radius:14px}
.mk-sell b{color:#e8c979}.mk-sell span{flex:1;min-width:220px;font-size:13px;color:#c3cde6}.mk-sell a.sr-btn2{text-decoration:none;color:#dbe3f5}
.mk-view{display:inline-flex;border:1px solid rgba(255,255,255,.2);border-radius:10px;overflow:hidden}
.mk-view button{background:none;border:0;color:#c3cde6;font:inherit;font-size:13px;font-weight:600;padding:7px 14px;cursor:pointer}
.mk-view button.on{background:#e8c979;color:#0b1f4d}
.mk-pv{background:none;border:0;padding:0;font:inherit;color:#e8c979;cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px}
.mk-list td.nw{white-space:nowrap}.mk-list .mono{font-family:"DejaVu Sans Mono",Consolas,monospace;color:#fff}.mk-list td small{color:#aebbd8}
.mk-ic{font-family:"DejaVu Sans Mono",Consolas,monospace;font-size:11px;color:#e8c979;white-space:nowrap}
.mk-modal{position:fixed;inset:0;background:rgba(2,8,24,.72);z-index:3000;display:flex;align-items:center;justify-content:center;padding:16px}
.mk-cc{position:relative;width:100%;max-width:440px;background:linear-gradient(135deg,#12285c,#081434);border:1px solid rgba(232,201,121,.5);border-radius:18px;padding:24px;color:#dbe3f5;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.mk-x{position:absolute;right:12px;top:10px;background:none;border:0;color:#aebbd8;font-size:24px;cursor:pointer}
.mk-cch{display:flex;gap:16px;align-items:center}.mk-cch>span{width:64px;height:64px;border-radius:50%;border:2px solid #e8c979;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:22px;color:#e8c979;flex:none}
.mk-cch small{font-size:11px;letter-spacing:.2em;color:#e8c979;font-weight:700}.mk-cch h3{margin:2px 0;color:#fff;font-size:20px}.mk-cch p{margin:0;font-size:13px;color:#aebbd8}
.mk-ccn{font-size:13px;color:#c3cde6;margin:14px 0 4px}
.mk-cc .mk-act a{text-decoration:none;text-align:center}
.mk-more{margin-top:14px}
.mk-mh{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin:16px 0;flex-wrap:wrap}
.mk-mh h2{font-size:28px;color:#fff;margin:6px 0;line-height:1.25;max-width:760px}.mk-by{color:#aebbd8;margin:0}
.mk-buy{display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:220px}.mk-buy .mk-price{font-size:20px}.mk-buy small{color:#8fa3cc;font-size:12px}
.mk-kpi{grid-template-columns:repeat(4,1fr)}
.mk-gap{margin-top:24px}
.mk-dl.big{font-size:14px;grid-template-columns:110px 1fr;gap:8px 12px}
.mk-cite{font-style:italic;font-size:14px}
.sr-tbl code{font-family:"DejaVu Sans Mono",Consolas,monospace;color:#e8c979}
@media (max-width:900px){.mk-kpi{grid-template-columns:1fr 1fr}.mk-buy{align-items:flex-start}}
.mk-tags{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0 0}
.mk-tag{background:rgba(91,120,196,.18);border:1px solid rgba(91,120,196,.45);color:#c9d6f5;border-radius:12px;padding:2px 9px;font:inherit;font-size:11.5px;cursor:pointer;white-space:nowrap}
.mk-tag:hover{border-color:#e8c979;color:#fff}.mk-tag.on{background:#e8c979;border-color:#e8c979;color:#0b1f4d;font-weight:700}
.mk-tag small{opacity:.7;margin-left:2px}
.mk-tagbar{padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(10,26,66,.45)}
.mk-clear{background:none;border:0;color:#ff9a9a;font:inherit;font-size:12px;cursor:pointer;text-decoration:underline}
.mk-cbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.mk-group{font-size:13px;color:#aebbd8;display:flex;align-items:center;gap:8px}
.mk-group select{background:#07122e;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:8px;padding:6px 10px;font:inherit;font-size:13px}
.mk-gh{display:flex;align-items:baseline;gap:10px;margin:22px 0 10px;border-bottom:1px solid rgba(232,201,121,.3);padding-bottom:6px}
.mk-gh h3{margin:0;font-size:16px;color:#e8c979}.mk-gh small{color:#8fa3cc}
.mk-list td.mk-tc{min-width:200px}.mk-list td.mk-tc .mk-tags{margin:0}
.mk-mh .mk-tags{max-width:760px}
/* Resources: Glossary, FAQ, Journals, Links */
.rs-root{max-width:1100px;margin:0 auto;color:#dbe3f5}
.rs-bar{margin:18px 0 4px}.rs-q{width:100%;max-width:460px;box-sizing:border-box;background:rgba(10,26,66,.65);border:1px solid rgba(255,255,255,.18);border-radius:10px;color:#fff;padding:10px 14px;font:inherit;font-size:14px}
.rs-chips{margin:10px 0 0}.rs-n{font-size:13px;color:#8fa3cc;margin:12px 0}
.rs-az{display:flex;flex-wrap:wrap;gap:4px;margin:12px 0 0}.rs-az a{min-width:28px;text-align:center;padding:4px 0;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#e8c979;text-decoration:none;font-weight:700;font-size:13px}
.rs-az a:hover{background:#e8c979;color:#0b1f4d}
.rs-letter{font-size:22px;font-weight:800;color:#e8c979;border-bottom:1px solid rgba(232,201,121,.3);margin:22px 0 8px;padding-bottom:4px;scroll-margin-top:90px}
.rs-gl{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px;margin:0}
.rs-gl>div{border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px 14px;background:rgba(10,26,66,.55);min-width:0}
.rs-gl dt{font-weight:700;color:#fff;margin-bottom:4px}.rs-gl dd{margin:0;font-size:14px;line-height:1.5;color:#c3cde6}
.rs-g{display:inline-block;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#8fa3cc;border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:1px 8px;margin:0 8px 0 0;vertical-align:middle;font-weight:600}
.rs-gl dt .rs-g{margin:0 0 0 6px}
.rs-faq{display:flex;flex-direction:column;gap:8px}
.rs-qa{border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(10,26,66,.55)}
.rs-qa.open{border-color:rgba(232,201,121,.5)}
.rs-qa button{display:flex;align-items:center;width:100%;text-align:left;background:none;border:0;color:#fff;font:inherit;font-size:15px;font-weight:600;padding:14px 16px;cursor:pointer;gap:4px;flex-wrap:wrap}
.rs-qa button i{margin-left:auto;font-style:normal;color:#e8c979;font-size:20px;line-height:1}
.rs-qa p{margin:0;padding:0 16px 16px;color:#c3cde6;line-height:1.6;font-size:14px}
.rs-oa{color:#0b1f4d;background:#8fd6a8;border-radius:10px;padding:2px 8px;font-size:12px;font-weight:700;white-space:nowrap}
.rs-tab a{color:#e8c979}.rs-note{font-size:12.5px;color:#8fa3cc;margin-top:12px}
.rs-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.rs-link{display:flex;flex-direction:column;gap:4px;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:12px 14px;background:rgba(10,26,66,.55);text-decoration:none;min-width:0}
.rs-link:hover{border-color:#e8c979}.rs-link b{color:#fff}.rs-link small{color:#c3cde6;font-size:13px}.rs-link span{color:#e8c979;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:640px){.rs-gl,.rs-links{grid-template-columns:1fr}}
.nd-list a.nd-sep{border-top:1px solid rgba(255,255,255,.12);margin-top:4px;padding-top:10px}
.rs-vids{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.rs-vid{display:flex;flex-direction:column;text-align:left;background:rgba(10,26,66,.55);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:0;overflow:hidden;cursor:pointer;font:inherit;color:#dbe3f5;min-width:0}
.rs-vid:hover,.rs-vid.on{border-color:#e8c979}
.rs-thumb{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;background:linear-gradient(135deg,#123a7a,#0b1f4d)}
.rs-thumb.t1{background:linear-gradient(135deg,#7a5a12,#2b1f08)}.rs-thumb.t2{background:linear-gradient(135deg,#126a5a,#0b2a2d)}.rs-thumb.t3{background:linear-gradient(135deg,#6a1f3a,#2a0b1a)}.rs-thumb.t4{background:linear-gradient(135deg,#3a2a7a,#140b3d)}.rs-thumb.t5{background:linear-gradient(135deg,#7a2a12,#2d0f08)}
.rs-thumb i{position:absolute;right:8px;bottom:8px;font-style:normal;font-size:12px;background:rgba(0,0,0,.65);color:#fff;border-radius:4px;padding:1px 6px}
.rs-play{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:rgba(232,201,121,.92);color:#0b1f4d;font-size:18px;padding-left:3px;box-sizing:border-box}
.rs-play.big{width:70px;height:70px;font-size:28px}
.rs-vt{display:flex;flex-direction:column;gap:6px;padding:12px 14px 14px}.rs-vt .rs-g{align-self:flex-start}.rs-vt b{color:#fff;font-size:15px;line-height:1.3}.rs-vt small{color:#8fa3cc;font-size:12.5px}
.rs-player{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:18px;border:1px solid rgba(232,201,121,.45);border-radius:14px;padding:14px;margin-bottom:18px;background:rgba(10,26,66,.7);scroll-margin-top:90px}
.rs-screen{aspect-ratio:16/9;border-radius:10px;background:radial-gradient(circle at 50% 40%,#1d4a96,#06122e);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:16px}
.rs-screen b{color:#fff;font-size:18px}.rs-screen small{color:#e8c979;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.rs-pinfo h3{color:#fff;margin:10px 0 4px;font-size:20px}.rs-pinfo p{color:#c3cde6;line-height:1.55;font-size:14px}.rs-meta{color:#8fa3cc!important;font-size:13px!important}
.rs-yt{display:inline-block;background:#d42b2b;color:#fff;text-decoration:none;border-radius:8px;padding:9px 14px;font-weight:700;font-size:13px;margin:6px 10px 6px 0}
.rs-close{background:none;border:1px solid rgba(255,255,255,.25);color:#dbe3f5;border-radius:8px;padding:8px 14px;font:inherit;font-size:13px;cursor:pointer}
@media (max-width:760px){.rs-player{grid-template-columns:1fr}.rs-vids{grid-template-columns:1fr}}
/* Toolkit: API */
#apiRoot{max-width:1180px;margin:0 auto;color:#dbe3f5}
.api-intro{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:18px 0 12px}
.api-intro>div{border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:12px 14px;background:rgba(10,26,66,.55);display:flex;flex-direction:column;gap:4px;min-width:0}
.api-intro b{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#8fa3cc}.api-intro span{font-size:14px}
.api code,.api-intro code{font-family:"DejaVu Sans Mono",Consolas,monospace;color:#e8c979;font-size:13px;word-break:break-all}
.api-key{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;border:1px dashed rgba(232,201,121,.5);border-radius:12px;padding:12px 14px;margin-bottom:6px}
.api-key span{font-weight:700;color:#fff}.api-key small{flex-basis:100%;color:#8fa3cc;font-size:12.5px}
.api-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px;margin-top:16px}
.api-side{display:flex;flex-direction:column;gap:4px;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:10px;background:rgba(10,26,66,.45);align-self:start}
.api-sg{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#8fa3cc;margin:8px 6px 2px;font-weight:700}
.api-ep{display:flex;align-items:center;gap:8px;background:none;border:0;border-radius:8px;color:#dbe3f5;font:inherit;font-size:13px;text-align:left;padding:7px 8px;cursor:pointer;font-family:"DejaVu Sans Mono",Consolas,monospace;word-break:break-all}
.api-ep:hover{background:rgba(255,255,255,.06)}.api-ep.on{background:rgba(232,201,121,.16);color:#fff}
.api-m{flex:none;font-size:10px;font-weight:800;color:#0b1f4d;background:#8fd6a8;border-radius:4px;padding:2px 5px;font-family:inherit}
.api-m.big{font-size:13px;padding:4px 8px}
.api-main{min-width:0;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:18px;background:rgba(10,26,66,.6)}
.api-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.api-head code{font-size:17px;color:#fff}
.api-sum{color:#c3cde6;margin:8px 0 4px}.api h4{color:#e8c979;font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin:18px 0 8px}
.api-req{color:#e8c979}.api-in{width:100%;min-width:120px;box-sizing:border-box;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.18);border-radius:6px;color:#fff;padding:5px 8px;font:inherit;font-size:13px}
.api-langs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.api-langs button{background:none;border:1px solid rgba(255,255,255,.2);color:#c3cde6;border-radius:8px;padding:5px 12px;font:inherit;font-size:13px;cursor:pointer}
.api-langs button.on{background:#e8c979;border-color:#e8c979;color:#0b1f4d;font-weight:700}.api-langs .api-copy{margin-left:auto}
.api-code{margin:0;background:#050d22;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:12px 14px;color:#cfe3ff;font-family:"DejaVu Sans Mono",Consolas,monospace;font-size:12.5px;line-height:1.55;overflow:auto;white-space:pre}
.api-res{max-height:340px}
.api-try{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.api-try span{font-size:12.5px;color:#8fa3cc}
.api-send{background:#d42b2b;color:#fff;border:0;border-radius:8px;padding:9px 16px;font:inherit;font-weight:700;font-size:13px;cursor:pointer}
.api-ok{color:#8fd6a8;letter-spacing:0;text-transform:none;margin-left:8px}
.api-h{margin-top:24px!important}
@media (max-width:860px){.api-grid{grid-template-columns:1fr}}
.topnav a[hidden]{display:none!important}
@media (min-width:761px) and (max-width:1560px){ body.inner .topnav .links{gap:0 20px} body.inner .topnav .links > a.nav-ccpe, .nd-btn{font-size:13.5px!important} }
/* mid widths: brand and tool buttons on row 1, menu on row 2 */
@media (min-width:761px) and (max-width:1720px){
 body.inner .topnav{flex-wrap:wrap;height:auto;padding:58px 16px 10px}
 body.inner .topnav .brand{position:absolute;top:12px;left:24px}
 body.inner .topnav .links{margin:0 auto;justify-content:center;gap:0 22px}
 body.inner .page{padding-top:134px}
}
/* research feed: plain titles, more columns, show more; text +1px */
.sr-tbl table{font-size:14px}
.sr-tbl td.sr-ft{color:#fff;font-weight:600;min-width:220px}
.sr-tbl td.nw{white-space:nowrap}
.sr-find{display:inline-block;border:1px solid rgba(232,201,121,.5);border-radius:8px;padding:4px 10px;color:#e8c979;text-decoration:none;font-size:12.5px;font-weight:600}
.sr-find:hover{background:#e8c979;color:#0b1f4d}
.sr-more{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 2px 0;font-size:13px;color:#8fa3cc}
.sr-feed td{padding:10px 10px}.sr-feed th{padding-left:10px;padding-right:10px}
.sr-feed td:nth-child(1){white-space:nowrap}.sr-feed td:nth-child(3){min-width:120px}.sr-feed td:nth-child(4){max-width:190px}
.sr-feed .sr-type{display:block;color:#8fa3cc;font-size:12px;margin-top:2px}
.sr-feed td:nth-child(6) .sr-mini{white-space:nowrap;display:inline-block;margin:0 0 3px}
/* brochure covers */
.br-sub{font-size:14px}
.br-covers{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:14px 0 12px}
.br-cover{display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:0;padding:0;cursor:pointer;font:inherit;color:#c3cde6}
.br-cover img{width:100%;max-width:240px;aspect-ratio:210/297;object-fit:cover;border-radius:6px;border:1px solid rgba(232,201,121,.35);box-shadow:0 10px 26px rgba(0,0,0,.45);transition:transform .2s,box-shadow .2s}
.br-cover:hover img{transform:translateY(-4px);box-shadow:0 16px 34px rgba(0,0,0,.55);border-color:#e8c979}
.br-cover span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#e8c979;font-weight:700}
.dl-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
/* ---------- paper reference, setup calculation, tables, formulas ---------- */
.cp-ref{display:inline-block;margin-left:8px;font:600 11px "DejaVu Sans Mono",Consolas,monospace;color:#8fa3cc;letter-spacing:.04em}
.pp-ref{margin-left:12px;padding:2px 8px;border:1px solid rgba(232,201,121,.4);border-radius:10px;letter-spacing:.06em;color:#e8c979}
.pp-calc{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.sr-btn2.gold{border-color:#e8c979;color:#e8c979}.sr-btn2.gold:hover{background:#e8c979;color:#0b1f4d}
.pp-tools{position:sticky;top:70px;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:14px 0 6px;padding:10px 12px;border:1px solid rgba(232,201,121,.35);border-radius:10px;background:#0c1d47}
.pp-tools>span:first-child{font-size:12.5px;color:#c3cde6}.pp-tools select{background:#0b1f4d;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:6px 8px;font:inherit;font-size:13px}
.pp-tip{font-size:12px;color:#8fa3cc;font-family:"DejaVu Sans Mono",Consolas,monospace}
.mxd{display:flex;align-items:center;gap:18px;margin:6px 0}.mxd>.mx{flex:1;text-align:center;overflow-x:auto}.mxd>i{font-style:normal;color:#8fa3cc}
.mx.dm .katex-display{margin:.3em 0}.pp .katex{font-size:1.08em;color:#fff}
.ct{margin:18px 0;padding:16px 18px;background:#f8f6ef;color:#141414;border-radius:6px;font-family:Georgia,"Times New Roman",serif;overflow-x:auto}
.ct figcaption{font-weight:700;text-align:center;margin-bottom:8px;font-size:15px}
.ct table{width:100%;border-collapse:collapse;font-size:14px}
.ct thead th{border-top:2px solid #111;border-bottom:1px solid #111;padding:4px 10px;text-align:center;font-weight:600;letter-spacing:0;text-transform:none;font-family:inherit;color:#111}
.ct td{padding:2px 10px;text-align:center;border:0;color:#141414}.ct td:first-child{text-align:left;font-weight:400;color:#141414}
.ct tr.ct-se td{color:#444;padding-bottom:6px;font-size:13px}.ct tr.ct-dep td{font-style:italic;padding:5px 10px}
.ct tfoot td{border-top:1px solid #111}.ct tfoot tr+tr td{border-top:0}.ct tfoot tr:last-child td{border-bottom:2px solid #111}
.ct sup{font-size:.7em}.ct-note{font-size:12.5px;margin:8px 0 0;line-height:1.45;color:#333}.ct-at{font:11px Arial,sans-serif;color:#7a7a7a;margin:6px 0 0}
.ct-empty{background:rgba(255,255,255,.04);color:#c3cde6;border:1px dashed rgba(232,201,121,.5);font-family:inherit}.ct-empty p{margin:4px 0 0;font-size:13px}
.ct-miss{color:#ff8a80;font-size:13px}
.cc-ref{font-size:13px;color:#8fa3cc}.cc-ref a{color:#e8c979}
.cc-head{margin:16px 0 4px}.cc-head h2{color:#fff;font-family:Lora,Georgia,serif;font-size:24px;margin:6px 0}.cc-head p{color:#c3cde6;font-size:14px;max-width:860px}
.cc-head code,.cc-outbar code{background:rgba(232,201,121,.12);color:#e8c979;border-radius:6px;padding:1px 6px;font-size:13px}
.cc-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.cc-tab{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:150px;max-width:260px;padding:9px 14px;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:rgba(10,26,66,.55);color:#dbe3f5;font:inherit;cursor:pointer;text-align:left}
.cc-tab b{color:#e8c979;font-size:13px}.cc-tab span{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px}.cc-tab i{font-style:normal;font-size:11px;color:#8fa3cc}.cc-tab i.ok{color:#8fd6a8}
.cc-tab.on{border-color:#e8c979;background:rgba(232,201,121,.12)}.cc-add{justify-content:center;align-items:center;border-style:dashed;color:#e8c979;font-weight:700}
.cc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media (max-width:1200px){.cc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.cc-grid{grid-template-columns:1fr}}
.cc-box{border:1px dashed rgba(232,201,121,.55);border-radius:12px;padding:14px;background:rgba(10,26,66,.6);display:flex;flex-direction:column;gap:9px;min-width:0}
.cc-box h4{display:flex;align-items:center;gap:8px;margin:0 0 2px;color:#fff;font-size:15px}.cc-box h4 i{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#e8c979;color:#0b1f4d;font-style:normal;font-size:12px;font-weight:800}
.cc-f{display:flex;flex-direction:column;gap:4px;min-width:0}.cc-f>span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#8fa3cc;font-weight:700}
.cc-f input,.cc-f select{width:100%;box-sizing:border-box;background:#0b1f4d;color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:8px;padding:7px 9px;font:inherit;font-size:13.5px}
.cc-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cc-chk{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#dbe3f5}.cc-chk label{display:flex;gap:6px;align-items:center}
.cc-vars{font-size:12px;color:#8fa3cc;line-height:1.9}.cc-vars .sr-mini{cursor:pointer;background:none;font:inherit;font-size:11.5px}
.cc-cols{font-size:12px;color:#8fa3cc;margin:0}
.cc-run{margin-top:auto;display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}.cc-run p{margin:0;font-size:13px;color:#c3cde6}.cc-run b{color:#fff}
.cc-del{color:#ff8a80!important;border-color:rgba(255,138,128,.4)!important;align-self:flex-start}
.cc-out{margin-top:18px}.cc-outbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.cc-outbar h4{margin:0;color:#e8c979;font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin-right:auto}
.fx-ov{position:fixed;inset:0;z-index:200;background:rgba(3,10,30,.72);display:flex;align-items:center;justify-content:center;padding:16px}
.fxd{width:100%;max-width:640px;background:#0c1d47;border:1px solid rgba(232,201,121,.5);border-radius:14px;padding:20px;color:#dbe3f5;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.fxd h3{margin:0 0 6px;color:#fff}.fx-help{font-size:13px;color:#c3cde6;margin:0 0 10px}.fx-help code{color:#e8c979}
.fx-ex{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.fx-ex .sr-mini{cursor:pointer;background:none;font:inherit;font-size:12px}
.fxd textarea{width:100%;box-sizing:border-box;background:#050d22;color:#cfe3ff;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:10px;font:13px "DejaVu Sans Mono",Consolas,monospace}
.fx-mode{display:flex;gap:16px;margin:8px 0;font-size:13px}.fx-mode label{display:flex;gap:6px;align-items:center}
.fx-prev{min-height:70px;background:#f8f6ef;color:#111;border-radius:8px;padding:10px;display:flex;align-items:center;justify-content:center;overflow-x:auto;margin-bottom:12px}
/* paper views, code highlight, split editor, charts */
.pp-vw2{display:inline-flex;border:1px solid var(--line,#d8d4c8);border-radius:6px;overflow:hidden;margin-left:auto}
.pp-vw2 button,.pp-tools button[data-ev]{border:0;background:transparent;padding:6px 12px;font:inherit;font-size:13px;cursor:pointer;color:inherit}
.pp-vw2 button.on,.pp-tools button[data-ev].on{background:#1f3a6a;color:#fff}
.pp-code{white-space:pre-wrap;word-break:break-word;background:#f7f5ef;border:1px solid #e3dfd3;border-radius:6px;padding:14px 16px;font:13px/1.6 ui-monospace,Menlo,Consolas,monospace;color:#222;margin:0 0 14px}
.hl-m{color:#8a3b12;background:#fbeee3;border-radius:3px}
.hl-t{color:#1f3a6a;background:#e5ecf7;border-radius:3px;font-weight:600}
.pp-part.split{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
.pp-part.split>span{grid-column:1/-1}
.pp-live{border:1px dashed #d8d4c8;border-radius:6px;padding:10px 12px;background:#fff;font-size:14px;line-height:1.6;max-height:520px;overflow:auto}
@media (max-width:760px){.pp-part.split{grid-template-columns:1fr}}
.cf{margin:18px 0;text-align:center}
.cf figcaption{font-weight:600;margin-bottom:6px;text-align:left}
.cf svg{display:block;margin:0 auto;height:auto}
.cf-leg{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;font-size:12px;margin-top:6px}
.cf-leg i{display:inline-block;width:12px;height:12px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.cc-f input[type=checkbox]{width:auto;margin:0}
.cc-chk label{justify-content:flex-start;text-align:left;display:flex;align-items:center;gap:8px}
.pp-vw{display:inline-flex;border:1px solid #d8d4c8;border-radius:6px;overflow:hidden;margin-left:auto}
figure.ct p.ct-note,.pp figure.ct p.ct-note{color:#333;text-align:left}
figure.ct p.ct-at,.pp figure.ct p.ct-at{color:#7a7a7a;text-align:left}
.ct-api{display:block;margin-top:3px;font-style:italic}
.pp-vw2>span{padding:6px 10px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;opacity:.7;align-self:center}
.pp-live,.pp-live p,.pp-live h4{color:#222}
.pp-live{font-family:Lora,Georgia,serif}
.pp .pp-live .katex{color:#222}.pp-live .mxd>i{color:#555}
/* Toolkit searches */
.sk-root{max-width:1180px}
.sk-bar{display:flex;gap:8px;margin:18px 0 8px;flex-wrap:wrap}.sk-bar .sk-q{flex:1;max-width:620px}.sk-go{margin:0}
.sk-opts{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 6px}
.sk-sel{background:rgba(10,26,66,.65);border:1px solid rgba(255,255,255,.18);border-radius:8px;color:#fff;padding:7px 10px;font:inherit;font-size:13px}
.sk-sel option{color:#0b1f4d}
.sk-chk{display:flex;align-items:center;gap:6px;font-size:13px;color:#c3cde6}
.sk-ex{font-size:12.5px;color:#8fa3cc;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.sk-tbl td small{display:block;color:#8fa3cc;font-size:12px;margin-top:3px}
.sk-tbl td:first-child{white-space:normal;color:#dbe3f5;min-width:280px}
.sk-t{color:#fff;font-weight:600;font-size:14px;line-height:1.35}
.sk-num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.sk-mono{font-family:"DejaVu Sans Mono",Consolas,monospace;font-size:12px;white-space:nowrap}
.sk-act{white-space:nowrap}.sk-act a,.sk-ext a{color:#e8c979;text-decoration:none;font-size:12.5px}.sk-act a:hover,.sk-ext a:hover{text-decoration:underline}
.sk-tp{color:#aebbd8!important}
.sk-more{text-align:center;margin:14px 0}.sk-err{color:#ffb4a8;font-size:14px;margin:14px 0}
/* News */
.nw-root{max-width:900px}
.nw-list{display:flex;flex-direction:column;gap:12px;margin-top:6px}
.nw-item{border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:16px 18px;background:rgba(10,26,66,.55)}
.nw-item.first{border-color:rgba(232,201,121,.55)}
.nw-meta{display:flex;align-items:center;gap:6px}.nw-meta time{font-size:12.5px;color:#8fa3cc}
.nw-item h3{color:#fff;margin:8px 0 6px;font-size:19px;line-height:1.3}
.nw-item p{margin:0 0 8px;color:#c3cde6;line-height:1.6;font-size:14.5px}
.nw-link{color:#e8c979;font-weight:600;text-decoration:none}
.nw-adm{margin-top:4px}
.nw-form{border:1px solid rgba(232,201,121,.45);border-radius:14px;padding:16px 18px;background:rgba(10,26,66,.7);margin:16px 0;display:flex;flex-direction:column;gap:10px}
.nw-form h4{margin:0;color:#e8c979}
.nw-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#8fa3cc}
.nw-form input,.nw-form select,.nw-form textarea{background:rgba(10,26,66,.65);border:1px solid rgba(255,255,255,.18);border-radius:8px;color:#fff;padding:9px 12px;font:inherit;font-size:14px;letter-spacing:0;text-transform:none}
.nw-form select option{color:#0b1f4d}
.nw-two{display:grid;grid-template-columns:2fr 1fr;gap:10px}
.nw-form .sr-bar{margin:0}
/* Forum */
.fo-root{max-width:1000px}
.fo-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:18px 0 12px}.fo-bar .sr-btn{margin:0}.fo-bar .fo-q{max-width:320px}
.fo-tbl td:first-child{white-space:normal;color:#dbe3f5}
.fo-open{background:none;border:0;padding:0;color:#fff;font:inherit;font-size:14.5px;font-weight:600;text-align:left;cursor:pointer}
.fo-open:hover{color:#e8c979}
.fo-tbl small{display:block;color:#8fa3cc;font-size:12px;margin-top:2px}
.fo-topic{margin-top:14px}.fo-topic h3{color:#fff;font-size:22px;margin:8px 0 12px}
.fo-post{display:flex;gap:12px;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:12px 14px;background:rgba(10,26,66,.55);margin-bottom:10px}
.fo-av{flex:none;width:38px;height:38px;border-radius:50%;border:1.5px solid #e8c979;color:#e8c979;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}
.fo-pb{flex:1;min-width:0}.fo-by{display:flex;align-items:center;gap:10px;margin-bottom:4px}.fo-by b{color:#fff}.fo-by time{font-size:12px;color:#8fa3cc}
.fo-pb p{margin:0 0 6px;color:#c3cde6;line-height:1.6;font-size:14.5px;overflow-wrap:anywhere}
.fo-del{margin-left:auto;background:none;border:0;color:#ffb4a8;font:inherit;font-size:12px;cursor:pointer}
@media (max-width:640px){.nw-two{grid-template-columns:1fr}}
.sk-ex .sr-mini,.nw-adm .sr-mini{background:none;border:1px solid rgba(232,201,121,.4);color:#e8c979;border-radius:14px;padding:3px 10px;font:inherit;font-size:12px;cursor:pointer}
.sk-ex .sr-mini:hover,.nw-adm .sr-mini:hover{background:#e8c979;color:#0b1f4d}
.sk-root .rs-note a{color:#e8c979}
/* Summary sections: Public / Private switch */
.sr-pvt{margin-left:10px;vertical-align:middle;background:none;border:1px solid rgba(143,214,168,.55);color:#8fd6a8;border-radius:12px;padding:2px 9px;font:inherit;font-size:11px;letter-spacing:.04em;text-transform:none;cursor:pointer;font-weight:600}
.sr-pvt.on{border-color:rgba(232,201,121,.6);color:#e8c979}
.sr-pvt:hover{background:rgba(255,255,255,.08)}
.sr-block.sr-priv{opacity:.72}
.sr-f>span .sr-pvt{margin-left:6px}
.sr-pvhint{margin-bottom:12px}
.sr-go{display:inline-block;text-decoration:none;margin:0;white-space:nowrap;border-style:solid}.sr-go:hover{background:#e8c979;color:#0b1f4d}.sr-priv2{opacity:.7;white-space:nowrap}
.am-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.am-ver{font-size:11px;letter-spacing:.06em;font-weight:600;color:#8fa3cc;border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:2px 8px;white-space:nowrap;text-transform:none}
/* Journal and university search: tabs, filters, ranking table */
.jr-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0 4px;border-bottom:1px solid rgba(255,255,255,.12)}
.jr-tab{background:none;border:0;border-bottom:2px solid transparent;color:#c3cde6;font:inherit;font-size:14px;font-weight:600;padding:10px 14px;cursor:pointer;margin-bottom:-1px}
.jr-tab.on{color:#e8c979;border-bottom-color:#e8c979}
.jr-filters{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:flex-end;margin:6px 0 10px;padding:12px 14px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(10,26,66,.45)}
.jr-f{display:flex;flex-direction:column;gap:4px}.jr-f span{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#8fa3cc}
.jr-filters .sk-chk{padding-bottom:7px}
.jr-help{font-size:13px;color:#aebbd8;margin:0 0 6px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.jr-help .sr-mini{background:none;border:1px solid rgba(232,201,121,.4);color:#e8c979;border-radius:14px;padding:3px 10px;font:inherit;font-size:12px;cursor:pointer}
.jr-sum{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.jr-sum .sr-btn2{margin:0}
.jr-tbl td.jr-rk{color:#e8c979!important;font-weight:700;text-align:right;width:36px}
.jr-tbl td:nth-child(2){min-width:300px;white-space:normal}
.jr-q{display:inline-block;font-size:11px;font-weight:800;border-radius:4px;padding:1px 6px;margin-left:6px;color:#0b1f4d}
.jr-q.q1{background:#8fd6a8}.jr-q.q2{background:#e8d27a}.jr-q.q3{background:#f0a868}.jr-q.q4{background:#e88a7a}
.jr-bar{height:4px;background:rgba(255,255,255,.1);border-radius:2px;margin-top:4px;min-width:70px}.jr-bar i{display:block;height:100%;background:#e8c979;border-radius:2px}
.sk-name{background:none;border:0;padding:0;color:#fff;font:inherit;font-size:14px;font-weight:600;line-height:1.35;text-align:left;cursor:pointer}
.sk-name:hover{color:#e8c979;text-decoration:underline}
.un-d{color:#aebbd8!important}
/* details popup */
.dp{position:relative;width:100%;max-width:760px;max-height:88vh;overflow:auto;background:#0c1d47;border:1px solid rgba(232,201,121,.5);border-radius:16px;padding:22px 24px;color:#dbe3f5;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.dp-x{position:absolute;top:10px;right:12px;background:none;border:0;color:#c3cde6;font-size:28px;line-height:1;cursor:pointer}
.dp-head{display:flex;gap:16px;align-items:center;padding-right:24px}
.dp-img{flex:none;width:72px;height:72px;border-radius:12px;border:1.5px solid #e8c979;color:#e8c979;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:800;overflow:hidden;background:#fff1}
.dp-img.pic{background:#fff}.dp-img img{max-width:100%;max-height:100%;object-fit:contain}
.dp-head h3{margin:4px 0;color:#fff;font-size:22px;line-height:1.25}.dp-desc{margin:0;color:#aebbd8;font-size:14px}
.dp-sum{font-size:14px;line-height:1.6;color:#c3cde6;margin:14px 0}.dp-sum a{color:#e8c979}
.dp-kpi{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:12px 0}
.dp-kpi div{border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:2px;background:rgba(10,26,66,.55)}
.dp-kpi b{color:#fff;font-size:17px}.dp-kpi span{font-size:11px;color:#8fa3cc}
.dp-chart{margin:12px 0}.dp-leg{display:flex;gap:14px;font-size:12px;color:#aebbd8;margin-bottom:6px}.dp-leg i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px}
.dp-bars{display:flex;gap:10px;align-items:flex-end;height:96px;border-bottom:1px solid rgba(255,255,255,.15)}
.dp-yr{display:flex;flex-direction:column;align-items:center;gap:3px;flex:1}.dp-col{display:flex;gap:3px;align-items:flex-end;height:72px}.dp-col i{width:12px;border-radius:2px 2px 0 0}
.dp-yr small{font-size:11px;color:#8fa3cc}
i.w{background:#e8c979}i.c{background:#6fa8ff}
.dp-facts{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:14px 0;font-size:14px}.dp-facts dt{color:#8fa3cc}.dp-facts dd{margin:0;color:#fff}
.dp-top b{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#e8c979;margin-bottom:6px}.dp-top div{display:flex;flex-wrap:wrap;gap:6px}
.dp-links{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 4px}.dp-links a{color:#0b1f4d;background:#e8c979;border-radius:8px;padding:7px 12px;font-weight:700;font-size:13px;text-decoration:none}
@media (max-width:640px){.dp-kpi{grid-template-columns:repeat(3,1fr)}.dp{padding:18px}}
.dp{font-family:"Poppins",sans-serif}.dp-head h3{font-family:"Montserrat",sans-serif;font-weight:800}
.sk-tbl.jr-tbl td.jr-rk{min-width:0;width:34px;white-space:nowrap}
.jr-tbl td:nth-child(2){min-width:260px}
.jr-tbl th,.jr-tbl td{padding-left:10px;padding-right:10px}
/* journal table: larger headers, narrower journal column, icon columns */
.jr-tbl th{font-size:12px}
.jr-tbl td:nth-child(2){min-width:220px;max-width:340px}
.jr-tbl td:nth-child(2) small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:340px}
.jr-cty{white-space:nowrap}
.jr-tbl th:nth-last-child(-n+3){text-align:center}
.jr-ic{text-align:center;width:44px;white-space:nowrap}
.jr-oa{font-size:15px;filter:hue-rotate(80deg)}.jr-no{opacity:.45;font-size:14px}
.jr-i{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;border:1px solid rgba(232,201,121,.45);border-radius:8px;text-decoration:none;font-size:15px}
.jr-i:hover{background:rgba(232,201,121,.18)}
.jr-sjr{font-size:11px;font-weight:800;color:#e8c979;padding:0 6px;letter-spacing:.04em}
.sk-tbl th{font-size:12px}
/* header title banner in the top row of the two-row nav */
.nav-title{display:none}
@media (min-width:761px) and (max-width:1720px){
 body.inner .nav-title{display:flex;align-items:center;gap:12px;position:absolute;top:14px;left:350px;right:350px;height:34px;justify-content:center;pointer-events:none;overflow:hidden}
 body.inner .nav-title span{font-family:Montserrat,Poppins,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:#e8b64c;white-space:nowrap;font-size:clamp(10.5px,.85vw,15px)}
 body.inner .nav-title i{flex:1 1 40px;max-width:120px;min-width:18px;height:1px;background:linear-gradient(90deg,transparent,#c9973a);position:relative}
 body.inner .nav-title i:last-child{background:linear-gradient(90deg,#c9973a,transparent)}
 body.inner .nav-title i::after{content:"";position:absolute;top:-3px;width:6px;height:6px;background:#e8b64c;transform:rotate(45deg)}
 body.inner .nav-title i:first-child::after{right:0}
 body.inner .nav-title i:last-child::after{left:0}
}
@media (min-width:761px) and (max-width:1180px){ body.inner .nav-title i{display:none} body.inner .nav-title span{letter-spacing:.06em} }
@media (min-width:761px) and (max-width:1060px){ body.inner .nav-title{display:none} }
.sr-page .sr-tab{font-size:17px}
/* busy popup (PDF export, saving, updating tables) */
.busy-ov{position:fixed;inset:0;z-index:3000;background:rgba(3,8,22,.62);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:16px}
.busy{background:linear-gradient(180deg,#0f1d44,#0a1430);border:1px solid rgba(232,201,121,.45);border-radius:16px;padding:28px 34px 22px;max-width:420px;width:100%;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.5);font-family:Poppins,Montserrat,sans-serif}
.busy h3{margin:14px 0 6px;color:#e8c979;font:700 18px Montserrat,Poppins,sans-serif;letter-spacing:.04em}
.busy p{margin:0 0 14px;color:#dbe4f7;font-size:14px;min-height:20px}
.busy small{color:#8fa3cc;font-size:12px}
.busy-spin{width:46px;height:46px;margin:0 auto;border-radius:50%;border:4px solid rgba(232,201,121,.2);border-top-color:#e8c979;animation:busySpin .8s linear infinite}
.busy-bar{height:4px;border-radius:4px;background:rgba(255,255,255,.1);overflow:hidden;margin:0 0 12px}
.busy-bar i{display:block;height:100%;width:35%;background:#e8c979;border-radius:4px;animation:busyBar 1.4s ease-in-out infinite}
@keyframes busySpin{to{transform:rotate(360deg)}}
@keyframes busyBar{0%{transform:translateX(-100%)}100%{transform:translateX(300%)}}
@media print{.busy-ov{display:none}}
.mk-list td:first-child{white-space:normal;min-width:260px;width:38%}
.mk-list .mk-tu{margin-top:8px}.mk-list .mk-tu .mk-tags{margin:0;display:flex;flex-wrap:wrap;gap:6px}
/* Administration: same frame as the other pages */
.adm .adm-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.adm .adm-stat span{letter-spacing:.1em}
.mk-list td .cp-open,.mk-list td b.mono{font-size:15px}
/* main menu text +1px */
body.inner .topnav .links > a.nav-ccpe, body.inner .topnav .links > a.nav-admin, body.inner .topnav .nd-btn{font-size:16px}
@media (min-width:761px) and (max-width:1560px){ body.inner .topnav .links > a.nav-ccpe, body.inner .topnav .nd-btn{font-size:14.5px!important} }
@media (max-width:760px){ body.inner .topnav .links > a.nav-ccpe, body.inner .topnav .links > a.nav-admin, body.inner .topnav .nd-btn{font-size:13px} }
/* header matched to CCPE: larger menu, buttons and icons, ADMIN button under the tools */
@media (min-width:761px){
 .tools{top:8px;gap:12px}
 .tb{height:46px;min-width:48px;padding:0 12px;border-radius:9px;font-size:16px}
 .tb svg{width:22px;height:22px}
 .tb-lang{gap:10px;padding:0 16px}
 .admin-btn.tb{width:auto;padding:0 18px;gap:10px;display:inline-flex;align-items:center;font:700 15px "Montserrat",sans-serif;letter-spacing:.14em;color:#fff}
 .admin-menu{top:46px}
 body.inner .topnav .links > a.nav-ccpe, body.inner .topnav .links > a.nav-admin, body.inner .topnav .nd-btn{font-size:17px!important;letter-spacing:.04em}
 body.inner .topnav .links a.nav-home svg{width:28px;height:28px}
 body.inner .topnav .links{gap:0 26px}
}
@media (min-width:761px) and (max-width:1720px){
 .tools{flex-wrap:wrap;justify-content:flex-end;row-gap:8px;max-width:420px}
 .tools .admin{flex-basis:100%;display:flex;justify-content:flex-end}
 .admin-btn.tb{height:38px}
 .admin-menu{top:42px}
 body.inner .topnav{padding-top:64px}
 body.inner .topnav .brand{top:16px}
 body.inner .nav-title{top:14px;height:46px}
 body.inner .nav-title span{font-size:clamp(12px,1vw,17px)}
 body.inner .page{padding-top:146px}
}
@media (min-width:761px) and (max-width:1340px){
 body.inner .topnav .links > a.nav-ccpe, body.inner .topnav .nd-btn{font-size:15px!important}
 body.inner .topnav .links{gap:0 18px}
}
@media (min-width:761px) and (max-width:1080px){
 body.inner .topnav .links > a.nav-ccpe, body.inner .topnav .nd-btn{font-size:13.5px!important;letter-spacing:.02em}
 body.inner .topnav .links{gap:0 13px}
}
@media (max-width:760px){ .ab-t{display:none} }
@media (min-width:761px) and (max-width:1260px){
 .tools{flex-wrap:nowrap;max-width:none}
 .tools .admin{flex-basis:auto}
 .ab-t{display:none}
 .admin-btn.tb{height:46px;padding:0 13px}
 .admin-menu{top:52px}
}
/* logo vertically centred in the two-row header */
@media (min-width:761px) and (max-width:1720px){ body.inner .topnav .brand{top:50%;transform:translateY(-50%)} }
/* fingerprint sign-in (passkeys) */
.lg-fp { width:100%; height:42px; margin-top:10px; display:flex; align-items:center; justify-content:center; gap:9px; border:1px solid #2c4a83; border-radius:8px; background:transparent;
  color:#e1bb64; font:700 13px "Montserrat",sans-serif; letter-spacing:.06em; cursor:pointer; }
.lg-fp[hidden] { display:none; }
.lg-fp:hover { border-color:#d4a440; background:rgba(212,164,64,.08); } .lg-fp:disabled { opacity:.6; cursor:wait; }
#lgWrap.lg-user .lg-fp { color:#9cbcf5; } #lgWrap.lg-user .lg-fp:hover { border-color:#5b8fe8; background:rgba(91,143,232,.1); }
.busy.pk-note .pk-ic { width:56px; height:56px; margin:0 auto 12px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#e1bb64; background:rgba(212,164,64,.12); border:1px solid rgba(212,164,64,.45); }
.busy.pk-note .pk-ic svg { width:28px; height:28px; }
.busy.pk-note .lg-go { margin-top:16px; width:auto; padding:0 34px; background:#2f6fd8; } .busy.pk-note .lg-go:hover { background:#3d7ee6; }
/* login box: wide, two columns (brand and notes left, fields right); one column on phones */
#lgWrap .lg-box.lg-wide { max-width:860px; display:grid; grid-template-columns:300px 1fr; gap:0 34px; padding:30px 32px 26px; }
#lgWrap .lg-wide .lg-x { top:12px; right:14px; }
.lg-wide .lg-side { border-right:1px solid #1d3463; padding-right:30px; display:flex; flex-direction:column; }
.lg-wide .lg-side .lg-brand { justify-content:space-between; }
.lg-wide .lg-side .lg-brand .prod b { font-size:32px; } .lg-wide .lg-side .lg-brand .prod i { font-size:13.5px; } .lg-wide .lg-side .lg-brand img.lg-nxw { height:48px !important; margin-right:4px; }
.lg-points { margin:8px 0 0; padding:0; list-style:none; font-size:13px; color:#c9d3e6; }
.lg-points li { position:relative; padding-left:20px; margin-bottom:9px; line-height:1.45; }
.lg-points li::before { content:""; position:absolute; left:2px; top:6px; width:7px; height:7px; background:#e1bb64; transform:rotate(45deg); }
#lgWrap.lg-user .lg-points li::before { background:#5b8fe8; }
.lg-wide .lg-side .lg-alt { margin-top:auto; text-align:left; padding-top:14px; }
.lg-wide .lg-main { padding-top:30px; }
.lg-wide .lg-main .lg-rem { margin-bottom:6px; }
@media (max-width:820px){ #lgWrap .lg-box.lg-wide { grid-template-columns:1fr; max-width:420px; padding:24px 22px; }
  .lg-wide .lg-side { border-right:0; padding-right:0; } .lg-points { display:none; } .lg-wide .lg-main { padding-top:6px; }
  .lg-wide .lg-side, .lg-wide .lg-main { display:contents; } .lg-wide .lg-side .lg-alt { order:9; text-align:center; padding-top:4px; } }
/* balanced wide login: wider notes column (one line per note), fields centred, no empty gap */
@media (min-width:821px){ #lgWrap .lg-box.lg-wide { max-width:900px; grid-template-columns:340px 1fr; padding:28px 32px 26px; }
.lg-wide .lg-main { padding-top:0; display:flex; flex-direction:column; justify-content:center; } }
.lg-wide .lg-main > label, .lg-wide .lg-main .lg-cap { margin-bottom:14px; }
.lg-wide .lg-main .lg-rem { margin:2px 0 14px; }
.lg-wide .lg-msg { min-height:0; margin:0 0 10px; } .lg-wide .lg-msg:empty { margin:0; }
.lg-wide .lg-cap-row canvas, .lg-wide .lg-cap-new, .lg-wide .lg-cap-row input { height:44px; box-sizing:border-box; }
.lg-wide .lg-cap-new { width:44px; display:flex; align-items:center; justify-content:center; }
.lg-wide .lg-points { margin-top:12px; } .lg-wide .lg-points li { margin-bottom:7px; }
/* Forum page: Discussions and News tabs */
.fo-tabs { margin:6px auto 22px; max-width:1000px; justify-content:center; } .sr-tabs.fo-tabs .sr-tab { font-size:17px; }
/* starter page: no top bar, only the language button floating at top right (as on CCPI) */
body.home .homebrand { display:none; }
body.home #tools > :not(.tb-lang) { display:none !important; }
body.home #tools { top:18px; right:24px; }
/* the ADMIN block spans the header width in the two-row layout: only its buttons and menu take clicks,
   so the main menu under it (My Showroom, Forum) stays clickable */
.tools, .tools .admin { pointer-events:none; }
.tools > *, .tools .admin > * { pointer-events:auto; }
.tools > .admin { pointer-events:none; }
/* Help: an icon button after Search, with its menu dropping down under it */
.tools .helpd { position:relative; }
.tools .helpd .nm-list { left:auto; right:0; transform:none; top:48px; min-width:220px; }
.tools .helpd .help-h { padding:6px 16px 8px; font:700 11px "Montserrat",sans-serif; letter-spacing:.16em; color:#e1bb64; text-transform:uppercase; }
.tools .helpd .tb.on, .tools .helpd.open .tb { border-color:#d4a440; }
@media (max-width:760px){ .tools .helpd .nm-list { top:40px; } }
/* the initials badge is for members; the administrator already has the red ADMIN button */
body.is-adm #userBadge { display:none !important; }
/* Signed-in member (not admin): initials icon takes the ADMIN button's place */
#userBadge { display:none !important; }
.admin-btn .ab-u { display:none; }
body.is-admin:not(.is-adm) .admin-btn.tb { background:transparent; border:1px solid rgba(225,187,100,.55); color:#e1bb64; padding:0 14px; letter-spacing:.06em; }
body.is-admin:not(.is-adm) .admin-btn.tb:hover, body.is-admin:not(.is-adm) .admin.open .admin-btn.tb { background:rgba(225,187,100,.12); }
body.is-admin:not(.is-adm) .admin-btn > svg, body.is-admin:not(.is-adm) .admin-btn .ab-t { display:none !important; }
body.is-admin:not(.is-adm) .admin-btn .ab-u { display:inline; font:700 15px "Montserrat",sans-serif; color:#e1bb64; }
.tools .helpd .nm-list a { display:block; padding:10px 14px; border:0; border-radius:8px; white-space:nowrap; color:#fff; text-decoration:none; font:700 12.5px "Montserrat",sans-serif; letter-spacing:.08em; }
.tools .helpd .nm-list a:hover, .tools .helpd .nm-list a.on { background:#11254d; color:#e1bb64; }
/* Publication search: compact OA icon + legend */
.rs-oa.sk-oa { display:inline-flex; align-items:center; justify-content:center; min-width:30px; height:22px; padding:0 7px; border-radius:11px; font:800 11.5px "Montserrat",sans-serif; letter-spacing:.06em; cursor:help; }
.rs-n .rs-oakey { float:right; font-size:13px; color:#c9d3ea; }
.rs-n .rs-oakey .sk-oa { margin-right:4px; cursor:default; }
@media (max-width:760px){ .rs-n .rs-oakey { float:none; display:block; margin-top:6px; } }
/* Paper editor: Full width pop-up for one section (text on top, preview below) */
.pp-part{position:relative}
.pp-fsb{position:absolute;top:-6px;right:0;display:flex;gap:6px;align-items:center}
.pp-fsb .sr-btn2.sm{display:inline-flex;align-items:center;gap:6px}
.pp-fsb .sr-btn2.pp-fsfx{display:none}
body.pp-fs{overflow:hidden}
body.pp-fs .ucbar{display:none}
.pp-part.pp-full{position:fixed;inset:0;z-index:150;margin:0;background:#081634;border:0;border-radius:0;padding:18px max(24px,4vw) 22px;
 display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) minmax(0,1.2fr);gap:14px}
.pp-part.pp-full:not(.split){grid-template-rows:auto minmax(0,1fr)}
.pp-part.pp-full>span:first-child{font:700 15px "Montserrat",sans-serif;letter-spacing:.08em;color:#e1bb64;padding-right:260px;align-self:center}
.pp-part.pp-full textarea{height:100%!important;min-height:0;resize:none;font-size:16px}
.pp-part.pp-full .pp-live{max-height:none;height:100%;overflow:auto;padding:22px 34px;font-size:15.5px;box-shadow:0 2px 14px rgba(0,0,0,.25)}
.pp-part.pp-full .pp-fsb{top:16px;right:max(24px,4vw)}
.pp-part.pp-full .pp-fsb .sr-btn2.pp-fsfx{display:inline-flex}
@media (max-width:760px){ .pp-part.pp-full{padding:12px} .pp-part.pp-full>span:first-child{padding-right:0;padding-top:34px} .pp-part.pp-full .pp-fsb{top:10px;right:12px} .pp-part.pp-full .pp-live{padding:12px 14px} }
/* Paper: Share button and its panel */
.pp-shw{position:relative;display:inline-flex}
#ppShare{display:inline-flex;align-items:center;gap:7px}
#ppShare[aria-expanded="true"]{border-color:#d4a440;color:#e1bb64}
.pp-shp{position:absolute;top:calc(100% + 8px);left:0;z-index:40;width:min(420px,calc(100vw - 32px));background:#0c1d47;border:1px solid rgba(232,201,121,.5);border-radius:12px;padding:14px 16px;box-shadow:0 14px 40px rgba(0,0,0,.45);text-align:left}
.pp-shp .pp-shh{display:block;font:700 12px "Montserrat",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#e1bb64;margin-bottom:6px}
.pp-shp p{margin:6px 0;font-size:13.5px;line-height:1.5;color:#dbe3f5}
.pp-shp .sr-bar{margin:10px 0 0;padding:0;border:0;background:none}
.pp-shp .pp-shx{font-size:12.5px}.pp-shp .pp-shx a{color:#e1bb64}
.pp-lnk{background:none;border:0;padding:0;color:#9fb3da;text-decoration:underline;cursor:pointer;font:inherit}
@media (max-width:760px){ .pp-shp{left:auto;right:auto} }
/* Paper editor: breathing room above each section */
#ppForm .pp-part{margin-top:30px;padding-top:12px;border-top:1px solid rgba(232,201,121,.14)}
#ppForm .pp-tools + .pp-part{margin-top:34px;border-top:0}
#ppForm .pp-part>span:first-child{display:block;min-height:34px;line-height:34px}
#ppForm .pp-part .pp-fsb{top:12px}
#ppForm .pp-part.pp-full{margin:0;padding-top:18px;border-top:0}
#ppForm .pp-part.pp-full .pp-fsb{top:16px}
/* Pattern sign-in pad */
.busy.pt-box { max-width:380px; }
.pt-box .pt-sub { margin:4px 0 10px; }
.pt-pad { display:block; margin:6px auto 4px; width:min(260px,72vw); height:auto; touch-action:none; user-select:none; -webkit-user-select:none; cursor:pointer; }
.pt-pad .pt-d { fill:#1b2d5c; stroke:#5b78b8; stroke-width:2; transition:fill .12s, r .12s; }
.pt-pad .pt-d.on { fill:#e1bb64; stroke:#e1bb64; r:14; }
.pt-pad .pt-ln, .pt-pad .pt-rb { fill:none; stroke:#e1bb64; stroke-width:6; stroke-linecap:round; stroke-linejoin:round; opacity:.8; }
.pt-pad.bad .pt-d.on { fill:#e57373; stroke:#e57373; } .pt-pad.bad .pt-ln { stroke:#e57373; }
.pt-box .pt-msg { min-height:20px; margin:6px 0 0; font-size:13px; color:#cfd8ee; } .pt-box .pt-msg.bad { color:#ff8a80; }
.pt-box .pt-x { margin-top:10px; }
.pt-pad .pt-rb { visibility:hidden; } .pt-pad.drawing .pt-rb { visibility:visible; }
/* Administrator-only menu items: backup and restore */
body:not(.is-adm) .am-adm-only { display:none !important; }
.busy.pk-note .bk-row { display:flex; gap:10px; justify-content:center; margin-top:16px; } .busy.pk-note .bk-row .lg-go { margin-top:0; background:#c62828; } .busy.pk-note .bk-row .lg-go:hover { background:#d32f2f; }
/* Brochure & contact: CCPE videos card */
.video-card { margin-top:22px; }
.vd-cover .vd-img { position:relative; display:block; width:100%; max-width:300px; }
.vd-cover img { aspect-ratio:16/9; max-width:none; }
.vd-play { position:absolute; left:10px; bottom:10px; width:38px; height:38px; margin:0; border-radius:50%; background:rgba(8,18,44,.72); border:2px solid #e8c979; transition:transform .2s, background .2s; }
.vd-play::after { content:""; position:absolute; left:14px; top:10px; border-style:solid; border-width:8px 0 8px 13px; border-color:transparent transparent transparent #e8c979; }
.vd-cover:hover .vd-play { transform:scale(1.08); background:rgba(8,18,44,.9); }
.vd-len { position:absolute; right:8px; bottom:8px; padding:2px 7px; border-radius:5px; background:rgba(3,10,30,.82); color:#fff; font:700 11px "Montserrat",sans-serif; letter-spacing:.06em; }
.vd-lang .dl-btn { background:transparent; border:1px solid #2f6fd8; color:#cfe0ff; }
.vd-lang .dl-btn.on { background:#2f6fd8; color:#fff; }
.vd-ov .vd-box { position:relative; width:min(1100px,94vw); }
.vd-ov video { display:block; width:100%; aspect-ratio:16/9; background:#000; border-radius:10px; border:1px solid rgba(232,201,121,.4); box-shadow:0 20px 60px rgba(0,0,0,.6); }
.vd-ov .vd-cap { margin:10px 0 0; text-align:center; color:#dbe3f5; font-size:14px; }
.vd-ov .vd-x { position:absolute; right:-6px; top:-44px; width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,.35); background:rgba(8,18,44,.8); color:#fff; font-size:22px; line-height:1; cursor:pointer; }
@media (max-width:760px){ .contact-two > .contact-right { order:-1; } .vd-ov .vd-x { right:0; } }
/* Help > Videos: CCPE guide videos */
.gd-card { max-width:1100px; margin:0 auto 26px; }
.gd-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:14px; }
.gd-cover .vd-img { max-width:none; }
.gd-cover > span:not(.vd-img) { text-transform:none; letter-spacing:.02em; font-size:14px; text-align:center; }
.gd-cover .gd-adm { color:#ff8a80; font-size:11px; letter-spacing:.12em; text-transform:uppercase; font-weight:700; }
.gd-grid .gd-cover.am-adm-only { display:flex; }
body:not(.is-adm) .gd-grid .gd-cover.am-adm-only { display:none !important; }
@media (max-width:760px){ .gd-grid { grid-template-columns:1fr; } }
.vd-covers .vd-cover[data-vid=Live]{grid-column:1/-1}
/* sign-in rows in the Administration menu: label with Create / Remove buttons */
.am-item.am-row { display:flex; align-items:center; gap:10px; cursor:default; }
.am-item.am-row[hidden] { display:none; }
.am-item.am-row:hover { background:none; color:#d5deec; }
.am-row .am-lbl { flex:1; min-width:0; }
.am-acts { display:flex; gap:6px; flex-shrink:0; }
.am-act { padding:4px 9px; border-radius:6px; border:1px solid #e1bb64; background:linear-gradient(180deg,#f3d48a,#d9a640); color:#0d1f4f; font:700 10px "Montserrat",sans-serif; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.am-act:hover { filter:brightness(1.08); }
.am-act.del { background:none; color:#ff8a7e; border-color:rgba(255,107,94,.6); }
.am-act.del:hover { background:rgba(255,107,94,.12); }
.am-act:disabled { opacity:.35; cursor:not-allowed; filter:none; background:none; }
/* Help > Subscription */
.sub-plans .sub-price { font-family:"Poppins",sans-serif; font-weight:700; font-size:19px; color:#e8c979; margin:4px 0 8px; }
.sub-acts { margin:22px 0 10px; } .sub-acts .dl-btn { text-decoration:none; text-align:center; } .sub-acts .sub-cmp { background:none; border:1px solid #2f63d0; }
.sub-plans .sub-card { display:flex; flex-direction:column; }
.sub-plans .sub-usd { color:#8fa3cc; font-size:13px; margin:0 0 6px; } .sub-plans .sub-yr { color:#c3cddf; font-size:13px; margin:0 0 10px; }
.sub-plans .sub-btn { margin-top:auto; width:100%; }
.sub-note { margin-top:-6px; }
.sub-tbd { display:inline-block; padding:2px 10px; margin-right:6px; border-radius:999px; border:1px solid #d4a440; color:#e8c979; font-weight:600; }
.sub-plans .sub-f { list-style:none; margin:4px 0 16px; padding:0; } .sub-plans .sub-f li { position:relative; padding-left:16px; margin:0 0 6px; font-size:13.5px; line-height:1.45; color:#c3cddf; }
.sub-plans .sub-f li::before { content:""; position:absolute; left:2px; top:7px; width:6px; height:6px; background:#d4a440; transform:rotate(45deg); }
/* two-row header: title sits at the bottom of its row, menu at the top of its row, so they read as one block */
@media (min-width:761px) and (max-width:1720px){
 body.inner .nav-title{align-items:center;padding-top:14px;box-sizing:border-box}
 body.inner .topnav{padding-top:58px}
 body.inner .page{padding-top:140px}
}
/* Administration page: in-page menu on the left, content on the right */
.adm2 { display:grid; grid-template-columns:270px 1fr; gap:26px; align-items:start; }
.adm-nav { position:sticky; top:118px; border:1px solid #1d3463; border-radius:14px; background:rgba(10,26,60,.78); padding:10px 0 12px; max-height:calc(100vh - 140px); overflow:auto; }
.adm-main { min-width:0; }
.an-who { padding:6px 16px 10px; font-size:12px; color:#e1bb64; border-bottom:1px solid #1d3463; word-break:break-all; } .an-who b { color:#fff; }
.an-h { padding:12px 16px 4px; color:#e1bb64; font:700 10.5px "Montserrat",sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.an-i { display:flex; align-items:center; justify-content:space-between; gap:8px; width:100%; text-align:left; background:none; border:0; border-left:3px solid transparent; padding:7px 16px 7px 15px; color:#d5deec; font:600 13px "Montserrat",sans-serif; text-decoration:none; cursor:pointer; box-sizing:border-box; flex-wrap:wrap; }
.an-i small { display:block; flex-basis:100%; color:#8394b3; font-weight:500; font-size:11px; margin-top:1px; }
.an-i em { font-style:normal; font-size:11px; color:#0d1f4f; background:#d4a440; border-radius:999px; padding:1px 8px; }
.an-i:hover { background:#0e2552; color:#fff; } .an-i.on { background:#16294d; color:#e1bb64; border-left-color:#d4a440; }
.an-row { flex-wrap:nowrap; cursor:default; } .an-row:hover { background:none; color:#d5deec; } .an-row > span:first-child { flex:1; min-width:0; }
@media (max-width:980px){ .adm2 { grid-template-columns:1fr; } .adm-nav { position:static; max-height:none; } }
/* ADMIN button opens a full Admin page (VTPWEB model): Access, Settings and Our Web Apps as three cards */
.am-kick,.am-big,.am-close { display:none; }
.admin.open .admin-menu { position:fixed; inset:0; z-index:70; width:auto; max-height:none; overflow:auto; border:0; border-radius:0; box-shadow:none; box-sizing:border-box;
  padding:34px max(16px,6vw) 96px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; align-content:start; align-items:start;
  background:radial-gradient(ellipse at 50% 0%,#163676 0%,#0c1f4f 45%,#071330 80%,#050c22 100%); }
.admin.open .am-head { grid-column:1/-1; display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 18px; border:0; padding:0 0 6px; position:relative; }
.admin.open .am-kick { display:block; flex-basis:100%; font:700 13px "Montserrat",sans-serif; letter-spacing:.3em; color:#e1bb64; text-transform:uppercase; }
.admin.open .am-big { display:block; font:italic 700 46px/1.1 Georgia,serif; color:#fff; letter-spacing:0; text-transform:none; }
.admin.open .am-close { display:flex; align-items:center; justify-content:center; position:absolute; right:0; top:0; width:44px; height:44px; border-radius:12px; border:1px solid #2a4680; background:#0c1d42; color:#fff; font-size:28px; line-height:1; cursor:pointer; }
.admin.open .am-close:hover { border-color:#d4a440; color:#e1bb64; }
.admin.open .am-sec { border:1px solid #1d3463; border-top:3px solid #d4a440; border-radius:14px; background:rgba(10,26,60,.85); padding:12px 0 14px; }
.admin.open .am-sec + .am-sec { border-top:3px solid #d4a440; }
.admin.open .am-head + .am-sec { border-top-color:#d32f2f; }
.admin.open .am-title { font-size:12px; padding:6px 20px 10px; }
.admin.open .am-item { font-size:14px; padding:9px 20px 9px 42px; }
.admin.open .am-item small { font-size:12px; }
@media (max-width:1100px){ .admin.open .admin-menu { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px){ .admin.open .admin-menu { grid-template-columns:1fr; padding-top:22px; } .admin.open .am-big { font-size:36px; } }
.an-row { flex-wrap:wrap; } .an-row > span:first-child { flex-basis:100%; } .an-row .am-acts { margin-top:6px; }
/* header: one ADMIN only (the red button), menu at the top of row 2, bar keeps its original height so the ADMIN button sits fully inside */
.topnav .links a.nav-admin { display:none !important; }
@media (min-width:761px) and (max-width:1720px){
 body.inner .topnav{padding-top:58px;padding-bottom:18px}
 body.inner .page{padding-top:146px}
}
/* Research Live page: the film in English and Vietnamese, side by side */
.live-vid { margin:26px auto 30px; max-width:760px; }
.live-vid .vd-covers .vd-cover[data-vid=Live] { grid-column:auto; }
.live-vid .vd-cover .vd-img { max-width:none; }
/* logo sized to the menu bar: fills the two-line bar, the one-line bar and the phone top row */
@media (min-width:1721px){ body.inner .topnav .brand img { height:54px !important; } }
@media (min-width:761px) and (max-width:1720px){ body.inner .topnav .brand img { height:82px !important; } body.inner .topnav .brand { left:22px; } }
@media (max-width:760px){ body.inner .topnav .brand { top:5px; } body.inner .topnav .brand img { height:38px !important; } }
@media (min-width:761px) and (max-width:1180px){ body.inner .topnav .brand img { height:70px !important; } body.inner .topnav .brand { left:16px; } }
/* logo balanced in the bar: same side margin as the tool buttons on the right, equal space above and below */
@media (min-width:1721px){ body.inner .topnav { padding-left:18px; } body.inner .topnav .brand img { height:50px !important; } }
@media (min-width:761px) and (max-width:1720px){ body.inner .topnav .brand { left:18px; } body.inner .topnav .brand img { height:86px !important; } }
@media (min-width:761px) and (max-width:1180px){ body.inner .topnav .brand { left:18px; } body.inner .topnav .brand img { height:68px !important; } }
@media (max-width:760px){ body.inner .topnav .brand { top:6px; left:10px; } body.inner .topnav .brand img { height:36px !important; } }
/* release file name in the floating bar */
.ucbar .uc-rel { font:600 11.5px/1 "Montserrat",sans-serif; letter-spacing:.06em; color:#e1bb64; border:1px solid rgba(225,187,100,.55); border-radius:999px; padding:5px 11px; white-space:nowrap; }
@media (max-width:760px){ .ucbar { flex-wrap:wrap; row-gap:4px; } .ucbar .uc-rel { font-size:10px; padding:3px 8px; } }
@media (max-width:760px){ .ucbar .uc-rel { order:1; } .ucbar .msg { order:2; flex-basis:100%; text-align:center; } }
@media (max-width:760px){ .ucbar { column-gap:8px; } .ucbar .uc-rel { font-size:9.5px; letter-spacing:0; padding:4px 7px; } }
/* Sign in with fingerprint and Sign in with pattern side by side under Sign in; stacked on a phone */
.lg-ways { display:flex; gap:10px; margin-top:10px; }
.lg-ways .lg-fp { flex:1 1 0; min-width:0; height:42px; margin-top:0; padding:0 10px; white-space:nowrap; }
@media (max-width:560px){ .lg-ways { flex-direction:column; gap:8px; } .lg-ways .lg-fp { flex:none; width:100%; } }
/* Forgot password link, reset dialog and Contact info editor */
.lg-forgot { float:right; font-size:12px; font-weight:600; letter-spacing:0; text-transform:none; color:#8fb3f0; text-decoration:none; }
.lg-forgot:hover { color:#e8c979; text-decoration:underline; }
.busy.fp-box { max-width:460px; text-align:left; position:relative; }
.busy.fp-box h3 { margin:4px 0 6px; color:#fff; font:700 24px "Poppins",sans-serif; }
.busy.fp-box .gold-l { color:#7fa9f2; font:700 11px "Montserrat",sans-serif; letter-spacing:.24em; }
.fp-note { margin:0 0 14px; color:#b8c6e0; font-size:13.5px; line-height:1.5; }
.fp-box label, .fp-l { display:block; margin:0 0 12px; color:#e1bb64; font:700 11px "Montserrat",sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.fp-box label input { display:block; width:100%; box-sizing:border-box; margin-top:7px; height:44px; padding:0 12px; border:1px solid #1d3463; border-radius:8px; background:#050c1c; color:#fff; font:400 15px "Poppins",sans-serif; letter-spacing:0; text-transform:none; }
.fp-box label input:focus, .fp-box .lg-cap-row input:focus { outline:none; border-color:#5b8fe8; }
.fp-box .lg-cap-row { margin:-4px 0 14px; } .fp-box .lg-cap-row input { flex:1; min-width:0; height:44px; box-sizing:border-box; border:1px solid #1d3463; border-radius:8px; background:#050c1c; color:#fff; text-align:center; font:400 15px "Poppins",sans-serif; }
.fp-box .lg-go { background:#2f6fd8; } .fp-box .lg-go:hover { background:#3d7ee6; } .fp-box .lg-go:disabled { opacity:.6; cursor:wait; }
.fp-x { position:absolute; top:12px; right:14px; width:32px; height:32px; border:0; background:none; color:#b8c6e0; font-size:24px; cursor:pointer; } .fp-x:hover { color:#fff; }
.busy.ct-box { max-width:640px; }
.ct-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
.ct-acts { display:flex; gap:12px; justify-content:flex-end; align-items:center; } .ct-acts .lg-go { width:auto; padding:0 34px; }
@media (max-width:560px){ .ct-grid { grid-template-columns:1fr; } .busy.fp-box { padding:22px 18px 18px; } }
/* logo option B (medium): 46 px in the one-line bar, 74 px in the two-line bar, 62 px on narrow laptops, 34 px on a phone */
@media (min-width:1721px){ body.inner .topnav .brand img { height:46px !important; } }
@media (min-width:761px) and (max-width:1720px){ body.inner .topnav .brand img { height:74px !important; } }
@media (min-width:761px) and (max-width:1180px){ body.inner .topnav .brand img { height:62px !important; } }
@media (max-width:760px){ body.inner .topnav .brand { top:7px; } body.inner .topnav .brand img { height:34px !important; } }
/* wider detail popups (university, journal, ...) on desktop; phones unchanged */
@media (min-width:900px){ .dp { max-width:min(1060px, 92vw); padding:26px 32px; } }
/* menu bar logo matched to CCPI (replaces option B): about 57% of the two-line bar */
@media (min-width:1721px){ body.inner .topnav .brand img { height:40px !important; } }
@media (min-width:761px) and (max-width:1720px){ body.inner .topnav .brand img { height:62px !important; } }
@media (min-width:761px) and (max-width:1180px){ body.inner .topnav .brand img { height:54px !important; } }
/* sign-in tabs as in CCPI: Password | Pattern | Fingerprint */
.lg-tabs { display:inline-flex; gap:4px; padding:4px; margin:0 0 16px; border:1px solid #2c4a83; border-radius:10px; background:rgba(8,18,44,.6); max-width:100%; }
.lg-tabs button { border:0; border-radius:7px; background:transparent; color:#c9d6f2; font:700 12.5px/1 "Montserrat",sans-serif; letter-spacing:.14em; text-transform:uppercase; padding:10px 18px; cursor:pointer; white-space:nowrap; }
.lg-tabs button:hover { color:#fff; background:rgba(91,143,232,.12); }
.lg-tabs button.on { background:#d32f2f; color:#fff; }
#lgWrap.lg-user .lg-tabs button.on { background:#2f6fd8; }
.lg-pane[hidden], .lg-go[hidden] { display:none !important; }
.lg-alt-pane { text-align:center; padding:26px 12px 18px; border:1px dashed #2c4a83; border-radius:10px; margin-bottom:14px; }
.lg-pane-ic { width:76px; height:76px; margin:0 auto 14px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#9cbcf5; background:rgba(47,111,216,.14); border:1px solid #2c4a83; }
.lg-pane-t { margin:0 0 6px; font:600 15px/1.45 "Montserrat",sans-serif; color:#e6ecfa; }
.lg-pane-s { margin:0; font-size:13px; line-height:1.5; color:#9fb0d3; }
.lg-alt-go { display:flex; align-items:center; justify-content:center; gap:10px; }
.lg-main > .lg-rem { margin-top:4px; }
@media (max-width:560px){ .lg-tabs { display:flex; width:100%; } .lg-tabs button { flex:1 1 0; padding:10px 4px; letter-spacing:.06em; font-size:11.5px; } .lg-alt-pane { padding:18px 10px 14px; } }
.rg-ways { margin:12px 0 0; font-size:12.5px; line-height:1.5; color:#9fb0d3; text-align:center; } .rg-ways b { color:#c9d6f2; font-weight:600; }
/* menu bar matched to CCPI (measured from the CCPI screenshot, in CSS px):
   bar 100, title 14px centred at 33, menu 16.5px centred at 69, icon buttons 39 x 38 from top 13, EN 82 x 38, ADMIN 118 x 31 */
@media (min-width:761px){
 .tools{top:13px;gap:13px}
 .tb{height:38px;min-width:39px;padding:0 10px;border-radius:8px;font-size:15px}
 .tb svg{width:19px;height:19px}
 .tb-lang{gap:9px;padding:0 13px;min-width:82px}
 .admin-btn.tb{height:31px;padding:0 15px;gap:8px;font-size:12.5px;letter-spacing:.14em}
 .admin-btn.tb svg{width:17px;height:17px}
 .admin-menu{top:38px}
 body.inner .topnav .links > a.nav-ccpe, body.inner .topnav .links > a.nav-admin, body.inner .topnav .nd-btn{font-size:16.5px!important}
}
@media (min-width:761px) and (max-width:1720px){
 .tools{row-gap:11px}
 .admin-menu{top:34px}
 body.inner .topnav{padding-top:54px;padding-bottom:15px}
 body.inner .nav-title{top:3px}
 body.inner .nav-title span{font-size:clamp(12px,.92vw,14px)}
 body.inner .page{padding-top:139px}
}
@media (min-width:761px) and (max-width:1340px){ body.inner .topnav .links > a.nav-ccpe, body.inner .topnav .nd-btn{font-size:15px!important} }
@media (min-width:761px) and (max-width:1080px){ body.inner .topnav .links > a.nav-ccpe, body.inner .topnav .nd-btn{font-size:13.5px!important} }
@media (min-width:761px) and (max-width:1260px){ .admin-btn.tb{height:38px;padding:0 11px} .admin-menu{top:44px} }
@media (min-width:561px){ .lg-tabs { align-self:flex-start; width:max-content; } }
/* sign-in as in NXW web: the last line on the left ends level with the bottom of the Sign in button */
@media (min-width:821px){ #lgWrap .lg-box.lg-wide { align-items:stretch; } .lg-wide .lg-main { justify-content:flex-end; } .lg-wide .lg-side .lg-alt { margin-bottom:-3px; } }

/* 2026-10-27: start page shown centred at once (before the scripts load), tablets held upright use the stacked layout */
.stage { transform:translate(-50%,-50%) scale(var(--k,.84)); }
body.portrait .stage { transform:none; }
@media (min-width:700px) {
  body.portrait .stage { display:flex; flex-direction:column; justify-content:center; align-items:center; padding:60px 48px 110px; }
  body.portrait .tagline { font-size:17px; }
  body.portrait .logo-m { width:70%; max-width:540px; margin-top:40px; }
  body.portrait .headline { font-size:46px; margin-top:44px; }
  body.portrait .subtitle { font-size:19px; max-width:660px; margin:16px auto 0; }
  body.portrait .auth { margin-top:36px; }
}

/* 2026-10-27: SHARE button of the top bar, also on the start page */
body.home #tools > [data-nxw-share] { display:inline-flex !important; }

/* ===== NXW HEADER MODEL (2026-10-29): the header looks like the approved NXW website header (nxw_site.css, header.nav.vtp).
   Desktop only (761px and up); the phone layout above is unchanged. Overrides only: no id or class used by app.R / JS is changed.
   Line 1: logo left (fills both lines) | site title with gold rules, centred | icon buttons right.
   Line 2: menu centred | GUEST (blue) / MEMBER (green) / ADMIN (red) button right.
   Bar 114px + 1px border; icon buttons 38x38 (34 at <=1120px, 32 at <=1023px), radius 8, glyph 17px, gold #e9b54a on hover. ===== */
@media (min-width:761px){
 body.inner .topnav{display:block;height:115px;box-sizing:border-box;padding:0!important;background:rgba(5,12,28,.94);border-bottom:1px solid #16294d;flex-wrap:nowrap}
 body.inner .page{padding-top:154px}
 /* logo: 78px high, 36px from the left edge, centred on the bar */
 body.inner .topnav .brand{position:absolute;left:36px;top:50%;transform:translateY(-50%);margin:0}
 body.inner .topnav .brand img{height:78px!important;width:auto}
 /* line 1: title centred on the screen, gold rules and diamonds like NEXT WEALTH COMPANY (NXW) */
 body.inner .nav-title{display:flex;position:absolute;top:5px;left:300px;right:300px;height:54px;padding:0 0 5px;box-sizing:border-box;align-items:flex-end;justify-content:center;gap:14px;overflow:hidden;pointer-events:none}
 body.inner .nav-title span{font-family:Poppins,"Segoe UI",Arial,sans-serif;font-weight:700;font-size:clamp(12px,1vw,17px);letter-spacing:.145em;line-height:1.2;color:#e1bb64;text-transform:uppercase;white-space:nowrap}
 body.inner .nav-title span::before, body.inner .nav-title span::after{content:"\25C6";font-size:.6em;vertical-align:.25em;margin:0 .9em;color:#d4a440}
 body.inner .nav-title i{display:block;flex:0 1 120px;min-width:0;max-width:none;height:1px;margin-bottom:.6em;background:linear-gradient(90deg,transparent,#d4a440)}
 body.inner .nav-title i:last-child{background:linear-gradient(90deg,transparent,#d4a440);transform:scaleX(-1)}
 body.inner .nav-title i::after{display:none}
 /* line 2: the menu, centred on the screen */
 body.inner .topnav .links{position:absolute;top:59px;left:0;right:0;width:max-content;max-width:calc(100% - 40px);height:50px;margin:0 auto!important;padding:0;display:flex;flex-wrap:nowrap;justify-content:center;align-items:flex-start;gap:0 26px;overflow:visible}
 body.inner .topnav .links > a:not(.nav-home), body.inner .topnav .links .nd-btn{font-family:Poppins,"Segoe UI",Arial,sans-serif!important;font-size:17px!important;font-weight:800!important;letter-spacing:.04em!important;line-height:1.65;text-transform:uppercase;color:#e8ebf7;padding:2px 0 7px!important;border-bottom:2px solid transparent}
 body.inner .topnav .links > a:not(.nav-home):hover, body.inner .topnav .links .nd-btn:hover, body.inner .topnav .navmenu.open .nd-btn, body.inner .topnav .links > a:not(.nav-home).on, body.inner .topnav .links .nd-btn.on{color:#e9b54a}
 body.inner .topnav .links > a:not(.nav-home).on, body.inner .topnav .links .nd-btn.on{border-bottom-color:#e9b54a}
 body.inner .topnav .links a.nav-home{color:#e1bb64;padding:2px 0 0!important;border:0;margin-top:2px}
 body.inner .topnav .links a.nav-home svg{width:27px;height:27px}
 body.inner .topnav .navmenu{display:flex;align-items:flex-start}
 /* icon buttons (line 1) and the role button (line 2), top right */
 .tools{position:fixed;top:13px;right:28px;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:13px 8px;max-width:none}
 .tools .admin{flex-basis:100%;display:flex;justify-content:flex-end}
 .tools .tb:not(.admin-btn){width:38px;min-width:38px;height:38px;padding:0;box-sizing:border-box;border-radius:8px;border:1px solid rgba(255,255,255,.32);background:transparent!important;color:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:none}
 .tools .tb:not(.admin-btn) svg{width:17px;height:17px;flex:0 0 17px;stroke:currentColor}
 .tools .tb:not(.admin-btn) svg [fill="#fff"]{fill:currentColor}
 .tools a.tb:hover, .tools button.tb:not(.admin-btn):hover, .tools .tb.on:not(.admin-btn), .tools .srch.open > .tb, .tools .helpd.open > .tb, .tools .tb[aria-expanded="true"]:not(.admin-btn){border-color:#e9b54a;color:#e9b54a;background:transparent!important}
 /* language: same height, globe + EN */
 .tools .tb.tb-lang{width:auto;min-width:38px;padding:0 10px;gap:5px;font-family:Poppins,"Segoe UI",Arial,sans-serif;font-size:12.5px}
 .tools .tb.tb-lang svg{display:block;width:16px;height:16px;flex-basis:16px}
 .tools .tb.tb-lang b{font-weight:700;font-size:12.5px;letter-spacing:.05em;color:#e9b54a}
 #userBadge.tb{width:auto;padding:0 8px}
 /* role button: blue GUEST (not signed in), green MEMBER (signed in), red ADMIN (administrator), as the NXW .admbtn */
 .tools .admin-btn.tb{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;width:auto;min-width:0;height:40px;padding:0 18px;box-sizing:border-box;border-radius:9px;border:1px solid #5b9bf0;background:linear-gradient(180deg,#2f7be5,#1a56c4);box-shadow:0 4px 14px rgba(26,86,196,.38);color:#fff;font:800 15px Poppins,"Segoe UI",Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
 .tools .admin-btn.tb:hover, .tools .admin.open .admin-btn.tb{background:linear-gradient(180deg,#4a8eeb,#2463d0)}
 html body.is-admin:not(.is-adm) .tools .admin-btn.tb{border:1px solid #3fbf8a;background:linear-gradient(180deg,#1f9d6b,#137a52);box-shadow:0 4px 14px rgba(19,122,82,.38);color:#fff;padding:0 18px;letter-spacing:.16em}
 html body.is-admin:not(.is-adm) .tools .admin-btn.tb:hover, html body.is-admin:not(.is-adm) .tools .admin.open .admin-btn.tb{background:linear-gradient(180deg,#27b07a,#178a5d)}
 html body.is-adm .tools .admin-btn.tb{border-color:#f0574f;background:linear-gradient(180deg,#e53935,#c62828);box-shadow:0 4px 14px rgba(211,47,47,.35)}
 html body.is-adm .tools .admin-btn.tb:hover, html body.is-adm .tools .admin.open .admin-btn.tb{background:linear-gradient(180deg,#ef5350,#d32f2f)}
 html body .tools .admin-btn.tb > svg{display:block!important;width:20px;height:20px;flex:0 0 20px;stroke:currentColor}
 html body .tools .admin-btn .ab-u{display:none!important}
 html body .tools .admin-btn .ab-t, html body.is-admin:not(.is-adm) .tools .admin-btn .ab-t{display:inline!important;font:inherit;color:#fff}
 html body:not(.is-adm) .tools .admin-btn .ab-t{font-size:0!important;letter-spacing:0}
 html body:not(.is-admin):not(.is-adm) .tools .admin-btn .ab-t::before{content:"GUEST";font-size:15px;letter-spacing:.16em}
 html body.is-admin:not(.is-adm) .tools .admin-btn .ab-t::before{content:"MEMBER";font-size:15px;letter-spacing:.16em}
}
@media (min-width:761px) and (max-width:1560px){
 body.inner .topnav .links{gap:0 22px}
 body.inner .topnav .links > a:not(.nav-home), body.inner .topnav .links .nd-btn{font-size:16px!important}
}
@media (min-width:761px) and (max-width:1440px){
 body.inner .topnav .links{gap:0 16px}
 body.inner .topnav .links > a:not(.nav-home), body.inner .topnav .links .nd-btn{font-size:14.5px!important;letter-spacing:.03em!important}
 body.inner .topnav .brand img{height:68px!important}
}
@media (min-width:761px) and (max-width:1300px){
 body.inner .topnav .brand{left:24px}
 body.inner .nav-title{left:280px;right:280px}
 body.inner .topnav .links{gap:0 13px}
 body.inner .topnav .links > a:not(.nav-home), body.inner .topnav .links .nd-btn{font-size:13px!important;letter-spacing:.02em!important}
 body.inner .topnav .links a.nav-home svg{width:23px;height:23px}
 .tools{right:16px;row-gap:15px}
 .tools .tb.tb-lang svg{display:none}
 .tools .admin-btn.tb, html body.is-admin:not(.is-adm) .tools .admin-btn.tb{height:36px;padding:0 14px;font-size:13.5px}
 html body:not(.is-admin):not(.is-adm) .tools .admin-btn .ab-t::before, html body.is-admin:not(.is-adm) .tools .admin-btn .ab-t::before{font-size:13.5px}
}
@media (min-width:761px) and (max-width:1120px){
 body.inner .topnav .brand{left:20px}
 body.inner .topnav .brand img{height:58px!important}
 body.inner .nav-title{left:250px;right:250px}
 body.inner .topnav .links{gap:0 9px}
 body.inner .topnav .links > a:not(.nav-home), body.inner .topnav .links .nd-btn{font-size:11.5px!important;letter-spacing:0!important}
 body.inner .topnav .links a.nav-home svg{width:20px;height:20px}
 .tools{top:15px;right:12px;gap:17px 6px}
 .tools .tb:not(.admin-btn){width:34px;min-width:34px;height:34px}
 .tools .tb.tb-lang{width:auto;padding:0 8px}
 .tools .admin-btn.tb, html body.is-admin:not(.is-adm) .tools .admin-btn.tb{padding:0 10px;font-size:12.5px}
 html body:not(.is-admin):not(.is-adm) .tools .admin-btn .ab-t::before, html body.is-admin:not(.is-adm) .tools .admin-btn .ab-t::before{font-size:12.5px}
}
/* narrow windows (761-1023px, e.g. the RStudio viewer): the role button becomes an icon on line 1, as in NXW */
@media (min-width:761px) and (max-width:1023px){
 body.inner .topnav .brand{left:18px}
 body.inner .topnav .brand img{height:51px!important}
 body.inner .nav-title{left:200px;right:270px}
 body.inner .nav-title i{display:none}
 body.inner .nav-title span{font-size:10px;letter-spacing:.08em}
 .tools{top:16px;flex-wrap:nowrap;gap:5px}
 .tools .admin{flex-basis:auto}
 .tools .tb:not(.admin-btn){width:32px;min-width:32px;height:32px}
 .tools .tb.tb-lang{padding:0 7px;font-size:12px}
 .tools .admin-btn.tb, html body.is-admin:not(.is-adm) .tools .admin-btn.tb{width:32px;height:32px;padding:0;border-radius:8px}
 html body .tools .admin-btn.tb > svg{width:17px;height:17px;flex-basis:17px}
 html body .tools .admin-btn .ab-t, html body.is-admin:not(.is-adm) .tools .admin-btn .ab-t{display:none!important}
}
/* ===== NXW HEADER TABLET (2026-10-29): on touch tablets the menu text is 1px larger, as on the NXW website (user: "In tablet, height menu is ok. Menu text size +1PX").
   Touch screens only ((pointer:coarse), 761-1600px wide, e.g. an Android tablet in landscape, 1280x800): the menu (line 2) is 1px larger
   than the desktop rules give at the same width; everything else (height, logo, title, icons, GUEST / MEMBER / ADMIN button) is unchanged.
   Desktop computers with a mouse and phones (760px and less) are unchanged. ===== */
@media (min-width:1561px) and (max-width:1600px) and (pointer:coarse){ body.inner .topnav .links > a:not(.nav-home), body.inner .topnav .links .nd-btn{font-size:18px!important} }
@media (min-width:761px) and (max-width:1560px) and (pointer:coarse){ body.inner .topnav .links > a:not(.nav-home), body.inner .topnav .links .nd-btn{font-size:17px!important} }
@media (min-width:761px) and (max-width:1440px) and (pointer:coarse){ body.inner .topnav .links > a:not(.nav-home), body.inner .topnav .links .nd-btn{font-size:15.5px!important} }
@media (min-width:761px) and (max-width:1300px) and (pointer:coarse){ body.inner .topnav .links > a:not(.nav-home), body.inner .topnav .links .nd-btn{font-size:14px!important} }
@media (min-width:761px) and (max-width:1120px) and (pointer:coarse){ body.inner .topnav .links > a:not(.nav-home), body.inner .topnav .links .nd-btn{font-size:12.5px!important} }

/* ===== CCPE GUEST + VIDEO SHARE (2026-10-31) =====
   "Continue as guest" in the sign-in box and on the Members area page (only when SHINY_APPS_CONFIG says LOGIN 2 for CCPE);
   SHARE button on the video player (top left of the player, next to the close button on the right). */
.lg-wrap .lg-guest { display:block; width:100%; height:44px; margin:10px 0 0; padding:0 16px; border:1px solid #2c4a83; border-radius:8px; background:transparent; color:#9cbcf5; font:600 14px/1 Montserrat,"Segoe UI",Arial,sans-serif; letter-spacing:.04em; cursor:pointer; }
.lg-wrap .lg-guest:hover { border-color:#5b8fe8; color:#fff; background:rgba(91,143,232,.1); }
.lg-wrap .lg-guest:disabled { opacity:.6; cursor:wait; }
.lock-acts .lock-guest { border-color:#2c4a83; color:#9cbcf5; }
.vd-ov .vd-sh { position:absolute; right:40px; top:-44px; display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,.35); background:rgba(8,18,44,.8); color:#fff; cursor:pointer; padding:0; }
.vd-ov .vd-sh:hover, .vd-ov .vd-x:hover { border-color:#e8c979; color:#e8c979; }
.vd-ov .vd-shm { position:absolute; right:40px; top:0; z-index:3; width:230px; padding:8px; border-radius:10px; background:#0a1a3c; border:1px solid rgba(232,201,121,.45); box-shadow:0 14px 40px rgba(0,0,0,.55); }
.vd-ov .vd-shm[hidden] { display:none; }
.vd-ov .vd-shm small { display:block; margin:2px 6px 6px; color:#8fa3c8; font-size:11px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.vd-ov .vd-shm a { display:block; padding:8px 10px; border-radius:7px; color:#e6ecf8; font-size:14px; cursor:pointer; text-decoration:none; }
.vd-ov .vd-shm a:hover { background:rgba(91,143,232,.18); color:#fff; }
@media (max-width:760px){ .vd-ov .vd-sh { right:44px; } }
/* Guest access page (Administration) and what guests may open */
body.is-guest #navShow { display:none!important; }
/* guests: closed menus stay visible but greyed out and not clickable */
body.is-guest .topnav a.gx-off, body.is-guest #resDrop a.gx-off { opacity:.38!important; color:#8a94a8!important; cursor:not-allowed; filter:grayscale(1); }
body.is-guest .topnav .navmenu.gx-off > .nd-btn { opacity:.38!important; color:#8a94a8!important; cursor:not-allowed; filter:grayscale(1); }
body.is-guest .topnav .navmenu.gx-off > .nm-list { display:none!important; }
body.is-guest .topnav .navmenu.gx-off { cursor:not-allowed; }
body.is-guest #lockGuest { display:none!important; }
.lock-box .lock-gnote { display:none; color:#e8c979; }
body.is-guest .lock-box .lock-gnote { display:block; }
.adm-card.gx .gx-h { margin:18px 0 8px; font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:#e8c979; }
.adm-card.gx .gx-acts { display:flex; flex-wrap:wrap; align-items:center; gap:8px 10px; margin-bottom:10px; }
.adm-card.gx .gx-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:6px 14px; }
.adm-card.gx .gx-grid.gx-dis { opacity:.45; pointer-events:none; }
.adm-card.gx .gx-cb { display:flex; align-items:center; gap:8px; padding:6px 8px; border-radius:7px; cursor:pointer; font-size:14px; }
.adm-card.gx .gx-cb:hover { background:rgba(91,143,232,.1); }
.adm-card.gx .gx-cb input { width:16px; height:16px; accent-color:#2f7be5; }
.adm-card.gx .gx-all { font-weight:600; }
.adm-card.gx .gx-fixed { margin:14px 0 0; font-size:13px; opacity:.75; }
.adm-card.gx .gx-save { display:flex; align-items:center; gap:14px; margin-top:16px; }
.adm-card.gx .gx-save .lg-go { width:auto; padding:0 22px; }
.adm-card.gx .gx-msg { font-size:13px; color:#9fe0bf; }
/* Sign-in box only (#lgWrap): NXW logo larger, level with the CCPE name, clear of the close button on phones (2026-10-31).
   The starter page, the Members area page and the sign-up box keep their logo as before. */
#lgWrap .lg-brand { align-items:center; gap:16px; }
#lgWrap .lg-brand img.lg-nxw { height:64px !important; width:auto; margin:0 -6px 0 0; object-fit:contain; }
@media (max-width:760px){ #lgWrap .lg-brand img.lg-nxw { height:54px !important; margin:0 34px 0 0; } }
/* Starter page: GUEST button after SIGN UP / SIGN IN, only when CCPE has LOGIN 2 (2026-10-31); the rest of the starter page is unchanged */
.auth .gu { display:inline-flex; align-items:center; justify-content:center; width:150px; height:38px; border-radius:8px; border:1px solid #5b9bf0;
  background:linear-gradient(180deg,#2f7be5,#1a56c4); color:#fff; font:800 13px "Montserrat",sans-serif; letter-spacing:.2em; cursor:pointer; }
.auth .gu:hover { filter:brightness(1.1); } .auth .gu[hidden] { display:none; } .auth .gu:disabled { opacity:.6; cursor:wait; }
body.portrait .auth-pill:has(.gu:not([hidden])) .su, body.portrait .auth-pill:has(.gu:not([hidden])) .si, body.portrait .auth .gu { width:min(150px, calc((100vw - 60px) / 3)); letter-spacing:.12em; }
/* Guest: the ADMIN / GUEST menu offers one item only, Log out (2026-10-31) */
body.is-guest #adminMenu .am-sec:not(:has(#amLogout)) { display:none !important; }
body.is-guest #adminMenu .am-sec:has(#amLogout) > :not(#amLogout):not(.am-title) { display:none !important; }
/* Guest: the GUEST button opens a small menu under it (not the full Admin page) with Log out only */
html body.is-guest .admin.open .admin-menu { position:absolute; inset:auto; right:0; top:calc(100% + 8px); width:190px; max-height:none; display:block; padding:6px 0;
  background:#0a1a3c; border:1px solid #2c4a83; border-top:3px solid #2f7be5; border-radius:12px; box-shadow:0 12px 32px rgba(0,0,0,.45); z-index:70; }
html body.is-guest .admin.open .am-head, html body.is-guest .admin.open .am-title { display:none !important; }
html body.is-guest .admin.open .am-sec { border:0; background:none; padding:0; }
html body.is-guest .admin.open #amLogout { display:block; width:100%; padding:11px 18px; font-size:14px; text-align:left; }
html body.is-guest .admin.open .admin-menu::before { content:"Guest \2014  visiting without an account"; display:block; padding:8px 18px 9px; border-bottom:1px solid #1d3463;
  font:600 12px/1.3 Montserrat,"Segoe UI",sans-serif; color:#9cbcf5; }
html body.is-guest .admin.open .admin-menu { width:240px; }
/* ===== MARGIN RULE 2 (2026-10-31): left and right page margins cut by half. Page body only: the top bar and the menu are not touched.
   Before: the page column was 1180px wide with 28px side padding (side margin = (screen - 1180)/2 + 28, so 121px at 1366px, 28px on tablets and phones).
   Now: padding 14px and a column of 50% + 590px, so every side margin is exactly half (60px at 1366px, 14px on tablets and phones). ===== */
.page, body.inner .page { padding-left:14px; padding-right:14px; max-width:calc(50% + 590px); }
section.page[data-page=admin] { max-width:calc(50% + 590px); }
.sitefoot { max-width:calc(50% + 590px); padding-left:14px; padding-right:14px; }
/* ===== MEMBER SUBMENU (2026-10-31): a signed-in member (not admin, not guest) gets a small menu under the MEMBER button
   instead of the full-screen Admin page. It keeps only what a member needs (NXW_USER_POLICY.txt):
   who is signed in, My account (fingerprint and pattern sign-in), the live web apps, Log out.
   Hidden for members: the Admin title, Settings (Full screen, Reload page) and the apps marked "link to be added".
   The administrator keeps the full Admin page. The top bar and the menu are not touched. ===== */
html body.is-admin:not(.is-adm):not(.is-guest) .admin.open .admin-menu { position:absolute; inset:auto; right:0; top:calc(100% + 8px); width:320px;
  max-height:calc(100vh - 90px); overflow:auto; display:flex; flex-direction:column; gap:0; padding:6px 0 4px; box-sizing:border-box;
  background:#0a1a3c; border:1px solid #2c4a83; border-top:3px solid #1f9d6b; border-radius:12px; box-shadow:0 12px 32px rgba(0,0,0,.45); z-index:70; }
html body.is-admin:not(.is-adm):not(.is-guest) .admin.open .am-head { display:none !important; }
html body.is-admin:not(.is-adm):not(.is-guest) .admin.open .am-sec:not(:has(#amLogout)):not(:has(a.am-item)) { display:none !important; }
html body.is-admin:not(.is-adm):not(.is-guest) .admin.open .am-sec:has(#amLogout) { display:contents; }
html body.is-admin:not(.is-adm):not(.is-guest) .admin.open .am-sec:has(#amLogout) > .am-title { display:none; }
html body.is-admin:not(.is-adm):not(.is-guest) .admin.open #amWho:not([hidden]) { order:1; display:block; padding:8px 18px 10px; border-bottom:1px solid #1d3463;
  font:600 12px/1.35 Montserrat,"Segoe UI",sans-serif; color:#9fe0bf; overflow-wrap:anywhere; }
html body.is-admin:not(.is-adm):not(.is-guest) .admin.open #amWho b { display:block; color:#fff; font-size:13px; }
html body.is-admin:not(.is-adm):not(.is-guest) .admin.open #amFpRow { order:2; }
html body.is-admin:not(.is-adm):not(.is-guest) .admin.open #amPatRow { order:3; }
html body.is-admin:not(.is-adm):not(.is-guest) .admin.open .am-row:not([hidden]) { display:flex; padding:8px 14px 8px 18px; font-size:13px; }
html body.is-admin:not(.is-adm):not(.is-guest) .admin.open .am-row small { display:none; }
html body.is-admin:not(.is-adm):not(.is-guest) .admin.open .am-row .am-lbl { white-space:nowrap; }
html body.is-admin:not(.is-adm):not(.is-guest) .admin.open #amFpRow:not([hidden]) { margin-top:4px; }
html body.is-admin:not(.is-adm):not(.is-guest) .admin.open .am-sec:has(a.am-item) { order:10; align-self:stretch; width:auto; box-sizing:border-box; display:grid; grid-template-columns:1fr 1fr; gap:2px 4px;
  margin-top:6px; padding:8px 10px 8px; border:0; border-top:1px solid #1d3463; border-radius:0; background:none; }
html body.is-admin:not(.is-adm):not(.is-guest) .admin.open .am-sec:has(a.am-item) > .am-title { grid-column:1/-1; padding:2px 8px 6px; font-size:11px; }
html body.is-admin:not(.is-adm):not(.is-guest) .admin.open .am-sec:has(a.am-item) > .am-item { padding:6px 8px; font-size:13px; border-radius:6px; }
html body.is-admin:not(.is-adm):not(.is-guest) .admin.open .am-sec:has(a.am-item) > .am-item small { display:none; }
html body.is-admin:not(.is-adm):not(.is-guest) .admin.open .am-sec:has(a.am-item) > .am-all { grid-column:1/-1; color:#e1bb64; }
html body.is-admin:not(.is-adm):not(.is-guest) #adminMenu .am-soon { display:none !important; }
html body.is-admin:not(.is-adm):not(.is-guest) .admin.open #amLogout:not([hidden]) { order:20; display:block; width:100%; margin-top:4px; padding:11px 18px; font-size:14px; text-align:left; border-top:1px solid #1d3463; }
@media (max-width:760px){ html body.is-admin:not(.is-adm):not(.is-guest) .admin.open .admin-menu { width:min(300px, calc(100vw - 24px)); } }
/* ===== ADMINISTRATION PAGE BY TOPICS (2026-10-31): one row of topic tabs (Users, Access rights, Backup, Configuration, Our apps, Account)
   above the content, which uses the full width between the margins of MARGIN RULE 2. No side menu and no inner scroll box. ===== */
.adm.adm3 { display:block; }
.adm3 .adm-main { width:100%; }
.adm-topics { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; padding:0 0 12px; border-bottom:1px solid #1d3463; }
.at-t { display:inline-flex; align-items:center; gap:8px; height:40px; padding:0 18px; border-radius:10px; border:1px solid #2a4680; background:rgba(10,26,60,.78);
  color:#d5deec; font:700 12.5px "Montserrat",sans-serif; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; }
.at-t:hover { border-color:#d4a440; color:#fff; }
.at-t.on { background:linear-gradient(180deg,#f3d48a,#d9a640); border-color:#e1bb64; color:#0d1f4f; }
.at-t em { font-style:normal; font-size:11px; color:#0d1f4f; background:#d4a440; border-radius:999px; padding:1px 8px; letter-spacing:0; }
.at-t.on em { background:#0d1f4f; color:#f3d48a; }
.at-sub { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; }
.at-sub .an-i { width:auto; flex-wrap:nowrap; border:1px solid #1d3463; border-left:3px solid transparent; border-radius:8px; padding:8px 14px; background:rgba(10,26,60,.6); }
.at-sub .an-i.on { border-left-color:#d4a440; }
.at-card .at-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:10px; }
.at-card .at-list .an-i { border:1px solid #1d3463; border-radius:10px; padding:12px 16px; background:rgba(10,26,60,.55); align-content:flex-start; }
.at-card .at-list .an-i.an-row { flex-wrap:wrap; }
.at-card .at-list .an-i:hover { border-color:#d4a440; }
.adm3 .tbl { overflow:visible; }
@media (max-width:760px){ .adm3 .tbl { overflow-x:auto; } .at-t { height:36px; padding:0 12px; font-size:11.5px; } .at-card .at-list { grid-template-columns:1fr; } }
/* Access rights table: one MEMBER and one GUEST checkbox per page and function */
.adm-card.gx .gx-acts .gx-lbl { font:700 11px "Montserrat",sans-serif; letter-spacing:.14em; text-transform:uppercase; color:#e8c979; margin-left:6px; }
.adm-card.gx .gx-tbl { margin:0 0 16px; }
.adm-card.gx .gx-tbl td, .adm-card.gx .gx-tbl th { padding:8px 16px; }
.adm-card.gx .gx-c { width:110px; text-align:center !important; }
.adm-card.gx .gx-c input { width:17px; height:17px; accent-color:#d4a440; cursor:pointer; }
.adm-card.gx .gx-c input:disabled { cursor:not-allowed; opacity:.55; }
.adm-card.gx tr.gx-grp td { color:#e8c979 !important; font:700 11px "Montserrat",sans-serif; letter-spacing:.14em; text-transform:uppercase; padding-top:14px; }
.adm-card.gx tr.gx-all td:first-child { font-weight:700; }
.adm-card.gx tr.gx-fx td:first-child { color:#9fb0cf !important; font-weight:400; }
/* Members: closed pages (Access rights) greyed out like for guests */
body.is-admin:not(.is-adm) .topnav a.gx-off, body.is-admin:not(.is-adm) #resDrop a.gx-off { opacity:.38!important; color:#8a94a8!important; cursor:not-allowed; filter:grayscale(1); }
body.is-admin:not(.is-adm) .topnav .navmenu.gx-off > .nd-btn { opacity:.38!important; color:#8a94a8!important; cursor:not-allowed; filter:grayscale(1); }
body.is-admin:not(.is-adm) .topnav .navmenu.gx-off > .nm-list { display:none!important; }
/* video pop-up: Download button, left of Share */
.vd-ov .vd-dl { position:absolute; right:88px; top:-44px; display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,.35); background:rgba(8,18,44,.8); color:#fff; cursor:pointer; padding:0; }
.vd-ov .vd-dl:hover { border-color:#e8c979; color:#e8c979; }

/* Brochure: Read online (flip-book) and Download PDF under each cover */
.br-acts .br-act { display:flex; flex-direction:column; gap:8px; }
.br-acts .br-act .dl-btn { flex:0 0 auto; width:100%; height:40px; margin-top:0; }
.br-acts .br-act .dl-btn:not(.on) { background:transparent; border:1px solid rgba(232,201,121,.6); color:#e8c979; }
.br-acts .br-act .dl-btn:not(.on):hover { background:rgba(232,201,121,.12); }
.fb-ov { flex-direction:column; }
.fb-box { position:relative; display:flex; flex-direction:column; align-items:center; }
.fb-ov .fb-x { position:absolute; right:0; top:-44px; z-index:5; }
.fb-box { padding-top:48px; font-family:Poppins,Montserrat,sans-serif; }
.fb-ov .vd-x.fb-x { top:0; right:0; }
.fb-book { position:relative; display:flex; perspective:2400px; transition:transform .5s ease; }
.fb-book.fb-start { transform:translateX(-25%); }
.fb-book.fb-end { transform:translateX(25%); }
.fb-book > .fb-pg:not(.fb-blank) { box-shadow:0 24px 60px rgba(0,0,0,.55); }
.fb-book.fb-one { overflow:hidden; }
.fb-book > .fb-l, .fb-book > .fb-r { position:relative; flex:1 1 50%; height:100%; }
.fb-book.fb-one > .fb-l { display:none; }
.fb-pg { background:#fff; overflow:hidden; display:flex; align-items:center; justify-content:center; cursor:pointer; user-select:none; }
.fb-pg img { display:block; width:100%; height:100%; object-fit:contain; pointer-events:none; }
.fb-pg.fb-blank { background:transparent; cursor:default; }
.fb-pg .busy-spin { width:34px; height:34px; }
.fb-book > .fb-l:not(.fb-blank) { box-shadow:inset -18px 0 24px -16px rgba(0,0,0,.35), 0 24px 60px rgba(0,0,0,.55); }
.fb-book > .fb-r:not(.fb-blank) { box-shadow:inset 18px 0 24px -16px rgba(0,0,0,.3), 0 24px 60px rgba(0,0,0,.55); }
.fb-book.fb-one > .fb-r { box-shadow:0 24px 60px rgba(0,0,0,.55); }
.fb-leaf { position:absolute; top:0; height:100%; width:50%; transform-style:preserve-3d; z-index:3; pointer-events:none; }
.fb-leaf.go { transition:transform .75s cubic-bezier(.45,.05,.3,1); }
.fb-leaf.fb-lfr { left:50%; transform-origin:left center; }
.fb-leaf.fb-lfl { left:0; transform-origin:right center; }
.fb-leaf.fb-lf1 { left:0; width:100%; transform-origin:left center; }
.fb-leaf .fb-pg { position:absolute; inset:0; backface-visibility:hidden; -webkit-backface-visibility:hidden; }
.fb-leaf .fb-b { transform:rotateY(180deg); }
.fb-leaf .fb-pg.fb-blank { background:#f3f0e8; }
.fb-leaf .fb-pg::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.18),rgba(0,0,0,0) 30%,rgba(255,255,255,.08) 70%,rgba(0,0,0,.12)); pointer-events:none; }
.fb-load { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; color:#dbe4f7; font-size:14px; text-align:center; padding:20px; pointer-events:none; }
.fb-load[hidden] { display:none; }
.fb-bar { display:flex; align-items:center; gap:12px; margin-top:16px; flex-wrap:wrap; justify-content:center; }
.fb-bar .fb-prev, .fb-bar .fb-next { width:40px; height:40px; border-radius:50%; border:1px solid rgba(232,201,121,.55); background:rgba(8,18,44,.85); color:#e8c979; font-size:24px; line-height:1; cursor:pointer; padding:0 0 3px; }
.fb-bar .fb-prev:hover:not(:disabled), .fb-bar .fb-next:hover:not(:disabled) { background:#e8c979; color:#0a1430; }
.fb-bar button:disabled { opacity:.35; cursor:default; }
.fb-bar .fb-n { min-width:86px; text-align:center; color:#dbe4f7; font-size:14px; letter-spacing:.06em; }
.fb-bar .fb-dl { width:auto; padding:0 20px; margin-left:8px; }
.fb-msg { margin:8px 0 0; min-height:18px; color:#8fa3cc; font-size:13px; text-align:center; }
@media (prefers-reduced-motion:reduce) { .fb-leaf.go { transition-duration:.01s; } }
/* ---------- CCPE pages: rules of the CCPE content kept when the CCPR standard was applied ---------- */
.co-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; max-width:1060px; margin:26px auto 0; }
.co-grid.co-two { grid-template-columns:repeat(2,1fr); max-width:760px; }
.co-card { text-align:left; }
.co-card .co-ic { font-size:30px; display:block; margin-bottom:8px; }
.co-card h3 { margin:0 0 6px; color:#e1bb64; font:700 20px "Poppins",sans-serif; }
.co-card p { margin:0 0 12px; color:#c9d3e6; font-size:14.5px; line-height:1.55; }
.co-card small { color:#8394b3; font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.co-grid.co-four { grid-template-columns:repeat(4,1fr); max-width:1160px; }
.co-card a { color:#e1bb64; font-weight:700; font-size:13px; text-decoration:none; }
.co-card a:hover { text-decoration:underline; }
.contact-right .sec { margin-top:22px; }
