/* ==========================================================================
   CERTIFY.MOE design system - corporate navy/blue, professional, restrained.
   Single stylesheet, no build step, shared by every portal + public site.
   ========================================================================== */

:root{
  --navy:#0b1f3f;
  --navy-2:#122a52;
  --blue:#0b3d91;
  --blue-light:#e8effb;
  --navy-3:#17407c;
  --blue-rgb:11,61,145;
  --ink:#1a2540;
  --muted:#5b6b8c;
  --border:#e1e6f0;
  --bg:#f4f6f9;
  --white:#ffffff;
  --green:#1a7f4e; --green-bg:#e6f5ec;
  --amber:#9a6a00; --amber-bg:#fdf3d9;
  --red:#a8281c; --red-bg:#fbe9e7;
  --indigo:#3d3a99; --indigo-bg:#eceafb;
  --gray-bg:#eef1f6;
  --radius:8px;
  --shadow:0 1px 2px rgba(16,24,40,.06), 0 1px 3px rgba(16,24,40,.08);

  /* per-role accent, overridden per body class */
  --role: var(--navy);
  --role-2: var(--navy-2);
}

/* every portal wears the same look as the Administrator portal */
body[class*="role-"]{ --role:#0b1f3f; --role-2:#08152c; }

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{scroll-behavior:smooth; scroll-padding-top:57px;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
#about,#services,#how-it-works{scroll-margin-top:0;}
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  color:var(--ink); background:var(--bg); font-size:14px; line-height:1.5;
}
a{color:var(--blue); text-decoration:none;}
a:hover{text-decoration:underline;}
h1,h2,h3,h4{margin:0 0 8px; color:var(--ink); font-weight:700;}
p{margin:0 0 12px;}
img{max-width:100%;}

/* ---------- layout shell (logged-in portals) ---------- */
.shell{display:flex; min-height:100vh;}
.sidebar{
  width:240px; background:var(--role); color:#fff; flex-shrink:0;
  display:flex; flex-direction:column; position:sticky; top:0; height:100vh; overflow-y:auto;
  transition:transform .2s ease;
}
.sidebar .brand{display:flex; align-items:center; gap:10px; padding:18px 20px; font-weight:800; font-size:15px; letter-spacing:.6px; white-space:nowrap; border-bottom:1px solid rgba(255,255,255,.12);}
.sidebar .brand .dot{width:10px;height:10px;border-radius:50%;background:#fff;display:inline-block;}
.sidebar .role-label{padding:10px 20px; font-size:11px; text-transform:uppercase; letter-spacing:1px; opacity:.75;}
.sidebar nav{flex:1; padding:6px 0;}
.sidebar nav a{
  display:flex; align-items:center; gap:10px; padding:10px 20px; color:rgba(255,255,255,.85);
  font-size:13.5px; font-weight:500; border-left:3px solid transparent;
}
.sidebar nav a:hover{background:rgba(255,255,255,.08); text-decoration:none; color:#fff;}
.sidebar nav a.active{background:rgba(255,255,255,.14); border-left-color:#fff; color:#fff;}
.sidebar .user-box{padding:14px 20px; border-top:1px solid rgba(255,255,255,.12); font-size:12.5px; color:#fff;}
.sidebar .user-box .ub-email{color:rgba(255,255,255,.88); font-size:12px; word-break:break-all; margin-top:1px;}
.sidebar .user-box .ub-link{color:rgba(255,255,255,.9); text-decoration:underline;}
.sidebar .user-box form{margin-top:8px;}
.sidebar .user-box button{
  background:rgba(255,255,255,.12); color:#fff; border:0; padding:6px 12px; border-radius:6px;
  font-size:12px; cursor:pointer; width:100%;
}
.sidebar .user-box button:hover{background:rgba(255,255,255,.22);}

.main{flex:1; min-width:0; display:flex; flex-direction:column;}
.topbar{
  background:#fff; border-bottom:1px solid var(--border); padding:12px 24px;
  display:flex; align-items:center; justify-content:space-between; gap:16px; position:sticky; top:0; z-index:5;
}
.topbar .page-title{font-size:18px; font-weight:700; margin:0; line-height:1.3; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.topbar > div:first-child{min-width:0; flex:1 1 auto;}
.topbar > div:first-child > div{min-width:0;}
.topbar-right a{white-space:nowrap;}
.btn{white-space:nowrap;}
.app-head{flex-wrap:wrap; gap:10px 16px;}
.app-head h3{white-space:nowrap;}
.app-head .flex{flex-wrap:wrap;}
.badge{white-space:nowrap;}
.sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
.topbar .breadcrumb{font-size:12px; color:var(--muted);}
.topbar-right{display:flex; align-items:center; gap:16px;}
.menu-toggle{display:none; background:none; border:0; font-size:20px; cursor:pointer; color:var(--ink);}
.notif-bell{position:relative; font-size:18px; color:var(--muted); cursor:pointer;}
.notif-bell .dot{position:absolute; top:-2px; right:-4px; background:var(--red); color:#fff; font-size:9px; padding:1px 4px; border-radius:8px;}

.content{padding:24px; flex:1;}
.container{max-width:1200px; margin:0 auto; padding:0 20px;}

/* ---------- cards / stat tiles ---------- */
.card{background:#fff; border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow);}
.card .card-header{padding:14px 18px; border-bottom:1px solid var(--border); display:flex; justify-content:space-between; align-items:center;}
.card .card-header h3{font-size:15px; margin:0;}
.card .card-body{padding:18px;}
.card .card-body.no-pad{padding:0;}

.stat-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:14px; margin-bottom:20px;}
.stat-tile{background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:14px 16px; box-shadow:var(--shadow);}
.stat-tile .stat-value{font-size:24px; font-weight:800; color:var(--ink);}
.stat-tile .stat-label{font-size:12px; color:var(--muted); margin-top:2px;}
.stat-tile .stat-icon{font-size:18px; margin-bottom:6px; color:var(--role);}

/* ---------- tables ---------- */
.table-wrap{overflow-x:auto;}
table.data{width:100%; border-collapse:collapse; font-size:13.5px;}
table.data th{text-align:left; padding:10px 14px; background:var(--gray-bg); color:var(--muted); font-weight:600; font-size:12px; text-transform:uppercase; letter-spacing:.4px; white-space:nowrap;}
table.data td{padding:11px 14px; border-top:1px solid var(--border); vertical-align:middle;}
table.data tr:hover td{background:#fafbfd;}
table.data .num{text-align:right;}

/* ---------- badges ---------- */
.badge{display:inline-block; padding:3px 10px; border-radius:100px; font-size:11.5px; font-weight:700; letter-spacing:.2px; white-space:nowrap;}
.badge-gray{background:var(--gray-bg); color:var(--muted);}
.badge-green{background:var(--green-bg); color:var(--green);}
.badge-amber{background:var(--amber-bg); color:var(--amber);}
.badge-red{background:var(--red-bg); color:var(--red);}
.badge-indigo{background:var(--indigo-bg); color:var(--indigo);}
.badge-blue{background:var(--blue-light); color:var(--blue);}

/* text logo: Arial Bold first word, Arial regular for the rest, capitals, tight spacing */
.bt{font-family:Arial,'Helvetica Neue',Helvetica,sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:.03em; white-space:nowrap;}
.bt b{font-weight:700;}
/* Gold ending of a domain-style text logo (CERTIFY.MOE): deep gold on light backgrounds... */
.bt .bt-accent{color:#b8860b;}
/* ...bright gold on the dark navy header, footer and sidebars */
.public-header .brand .bt .bt-accent, .ft-brand .bt .bt-accent, .ft-logo .bt .bt-accent, .sidebar .brand .bt .bt-accent, body.shell-pro .sidebar .brand .bt .bt-accent{color:#f0b429;}

/* ---------- buttons ---------- */
button.btn,a.btn{font-family:inherit;}
.btn{display:inline-flex; align-items:center; gap:6px; padding:9px 16px; border-radius:6px; font-size:13.5px; font-weight:600; border:1px solid transparent; cursor:pointer; background:var(--role); color:#fff;}
.btn:hover{opacity:.92; text-decoration:none;}
.btn-secondary{background:#fff; color:var(--ink); border-color:var(--border);}
.btn-outline{background:transparent; color:var(--role); border-color:var(--role);}
.btn-danger{background:var(--red); color:#fff;}
.btn-sm{padding:5px 10px; font-size:12.5px;}
.btn:disabled{opacity:.5; cursor:not-allowed;}

/* ---------- forms ---------- */
.form-group{margin-bottom:16px;}
.form-group label{display:block; font-size:13px; font-weight:600; margin-bottom:6px; color:var(--ink);}
.form-group .hint{font-size:12px; color:var(--muted); margin-top:4px;}
.form-group .required{color:var(--red);}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=tel],select,textarea{
  width:100%; padding:9px 12px; border:1px solid var(--border); border-radius:6px; font-size:13.5px; font-family:inherit; background:#fff; color:var(--ink);
}
input:focus,select:focus,textarea:focus{outline:2px solid var(--role); outline-offset:1px; border-color:var(--role);}
.form-row{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px;}
.error-text{color:var(--red); font-size:12px; margin-top:4px;}

/* ---------- alerts / flash ---------- */
.alert{padding:12px 16px; border-radius:6px; margin-bottom:16px; font-size:13.5px; border:1px solid transparent;}
.alert-success{background:var(--green-bg); color:var(--green); border-color:#bfe6cf;}
.alert-error{background:var(--red-bg); color:var(--red); border-color:#f0c4bd;}
.alert-info{background:var(--blue-light); color:var(--blue); border-color:#c6d7f2;}
.alert-warning{background:var(--amber-bg); color:var(--amber); border-color:#f2e2a8;}

/* ---------- empty state ---------- */
.empty-state{text-align:center; padding:40px 20px; color:var(--muted);}
.empty-state h4{color:var(--ink); margin-bottom:6px;}

/* ---------- tabs ---------- */
.tabs{display:flex; gap:4px; border-bottom:1px solid var(--border); margin-bottom:18px; flex-wrap:wrap;}
.tabs a{padding:10px 14px; font-size:13px; font-weight:600; color:var(--muted); border-bottom:2px solid transparent;}
.tabs a.active{color:var(--role); border-bottom-color:var(--role);}

/* Same visual language as .tabs, but for JS-toggled panels (button, not a
   navigating link) - reusable anywhere a page wants tabs without a reload. */
.tabs button{
  background:none; border:none; border-bottom:2px solid transparent; cursor:pointer;
  padding:10px 14px; font-size:13px; font-weight:600; color:var(--muted); font-family:inherit;
  display:inline-flex; align-items:center; gap:7px;
}
.tabs button:hover{color:var(--ink);}
.tabs button.active{color:var(--role); border-bottom-color:var(--role);}
.tabs button .badge{font-size:11px; padding:2px 8px;}
.tabs-sub{border-bottom:none; background:var(--bg-alt,#f8f9fb); border:1px solid var(--border); border-radius:8px; padding:4px; margin-bottom:16px; display:inline-flex;}
.tabs-sub button{border-bottom:none; border-radius:6px; padding:7px 14px;}
.tabs-sub button.active{background:#fff; box-shadow:var(--shadow);}
.tab-panel[hidden]{display:none;}

/* ---------- gateway cards (Admin > Settings > Payment Gateways) ---------- */
.gateway-card{background:#fff; border:1px solid var(--border); border-radius:var(--radius); margin-bottom:14px; overflow:hidden;}
.gateway-card .gateway-card-body{padding:16px 18px;}
.gateway-summary{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px;}
.gateway-summary .gateway-name{font-size:14.5px; font-weight:700;}
.gateway-toggle{display:flex; align-items:center; gap:8px; font-size:13px; font-weight:600; color:var(--muted); cursor:pointer;}
.gateway-toggle input{width:auto; margin:0;}

/* ---------- timeline ---------- */
.timeline{list-style:none; margin:0; padding:0;}
.timeline li{position:relative; padding:0 0 18px 24px; border-left:2px solid var(--border); margin-left:6px;}
.timeline li:last-child{border-color:transparent;}
.timeline li::before{content:''; position:absolute; left:-7px; top:2px; width:12px; height:12px; border-radius:50%; background:var(--role);}
.timeline .t-title{font-weight:700; font-size:13.5px;}
.timeline .t-meta{font-size:12px; color:var(--muted);}

/* ---------- public site ---------- */
.public-header{background:var(--navy); color:#fff; position:sticky; top:0; z-index:1000; transition:box-shadow .2s ease;}
.public-header .bar{transition:padding .2s ease;}
.public-header.is-scrolled{box-shadow:0 4px 18px rgba(0,0,0,.3);}
.public-header .bar{display:flex; align-items:center; justify-content:space-between; padding:10px 20px;}
.public-header .brand{font-weight:800; font-size:20px; color:#fff;}
.public-header .brand:hover{text-decoration:none; color:#fff;}
.public-header nav{display:flex; gap:22px; align-items:center;}
.public-header nav a{color:rgba(255,255,255,.85); font-size:13.5px; font-weight:500;}
.public-header nav a:hover{color:#fff; text-decoration:none;}
.public-header .cta{background:#fff; color:var(--navy); padding:8px 16px; border-radius:6px; font-weight:700;}
.public-header nav a.cta:hover,.public-header nav a.cta:focus-visible{background:var(--blue-light); color:var(--navy); text-decoration:none;}
.public-nav-toggle{display:none; background:none; border:0; color:#fff; font-size:22px;}

.hero{background:linear-gradient(180deg,var(--navy) 0%, var(--navy-2) 100%); color:#fff; padding:72px 0;}
.hero{text-align:center;}
.hero h1{font-size:clamp(27px,4.4vw,46px); line-height:1.18; max-width:1040px; margin-left:auto; margin-right:auto; color:#fff; text-wrap:balance;}
.hero p{font-size:clamp(15px,1.7vw,18px); line-height:1.6; color:rgba(255,255,255,.82); max-width:860px; margin-left:auto; margin-right:auto;}
.hero .cta-row{display:flex; gap:12px; margin-top:22px; flex-wrap:wrap; justify-content:center;}
.hero .btn-primary{background:#fff; color:var(--navy); font-weight:700;}
.hero .btn-ghost{background:transparent; border:1px solid rgba(255,255,255,.5); color:#fff; transition:background .15s, color .15s, border-color .15s;}
.hero .btn-ghost:hover{background:#fff; border-color:#fff; color:var(--navy); opacity:1; text-decoration:none;}

.section{padding-top:56px; padding-bottom:56px;}
.section h1,.section h2{font-size:26px; text-align:center; margin-bottom:8px;}
.section .lead{text-align:center; color:var(--muted); max-width:620px; margin:0 auto 32px;}
.section .lead.lead-wide{max-width:900px;}
.grid-3{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px;}
/* Verification Services (home) */
.svc2{padding:64px 0 72px; background:linear-gradient(180deg,#fff 0%,#f7f9fe 100%); border-top:1px solid var(--border); border-bottom:1px solid var(--border);}
.svc2 .container{max-width:1400px; padding:0 28px;}
.svc2 h2{text-align:center; margin:0 0 10px; font-size:clamp(28px,4vw,42px); line-height:1.15; color:var(--navy);}
.svc2-lead{text-align:center; margin:0 auto 40px; max-width:820px; color:var(--muted); font-size:16.5px; line-height:1.55;}
.svc2-grid{display:grid; grid-template-columns:1fr; gap:22px;}
@media (min-width:1100px){.svc2-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
.svc2-card{display:flex; align-items:center; gap:24px; background:#fff; border:1px solid #e8edf6; border-radius:16px; padding:22px 26px; box-shadow:0 8px 26px rgba(20,39,90,.07);}
.svc2-ic{flex:0 0 auto; width:110px; height:110px; border-radius:14px; background:#f1f4fa; display:flex; align-items:center; justify-content:center;}
.svc2-ic svg{width:72px; height:72px; display:block;}
.svc2-body{flex:1; min-width:0; border-left:2px solid rgba(200,148,31,.55); padding-left:24px;}
.svc2-body h3{margin:0 0 6px; font-size:clamp(19px,1.7vw,23px); line-height:1.2; color:var(--navy);}
.svc2-desc{margin:0 0 14px; color:var(--muted); font-size:15px; line-height:1.5;}
.svc2-pills{display:flex; flex-wrap:wrap; gap:10px;}
.svc2-pill{display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:10px; font-size:13.5px; font-weight:700; white-space:nowrap;}
.svc2-pill svg{width:19px; height:19px; flex:0 0 auto;}
.svc2-pill.std{background:#fdf1dc; color:#1a2540;}
.svc2-pill.std svg{color:#c8941f;}
.svc2-pill.exp{background:#e8f0fe; color:#0b4fc4;}
.svc2-pill.exp svg{color:#1d6bf3;}
@media (min-width:1100px) and (max-width:1399px){
  .svc2-card{gap:18px; padding:20px 18px;}
  .svc2-ic{width:92px; height:92px;}
  .svc2-ic svg{width:58px; height:58px;}
  .svc2-body{padding-left:18px;}
  .svc2-pills{gap:8px;}
  .svc2-pill{padding:8px 11px; font-size:12.5px; gap:6px;}
  .svc2-pill svg{width:16px; height:16px;}
}
@media (max-width:560px){
  .svc2{padding:44px 0 52px;}
  .svc2 .container{padding:0 16px;}
  .svc2-card{align-items:flex-start; gap:14px; padding:18px 16px;}
  .svc2-ic{width:64px; height:64px; border-radius:12px;}
  .svc2-ic svg{width:42px; height:42px;}
  .svc2-body{border-left:0; padding-left:0;}
  .svc2-body h3{font-size:18px;}
  .svc2-desc{font-size:14px; margin-bottom:12px;}
  .svc2-pills{flex-direction:column; align-items:flex-start;}
}
.grid-4{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:20px;}
.feature-card{background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:22px; box-shadow:var(--shadow);}
.feature-card .icon{font-size:22px; color:var(--blue); margin-bottom:10px;}
.pricing-card{background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:24px; text-align:center; box-shadow:var(--shadow);}
.pricing-card .price{font-size:28px; font-weight:800; margin:10px 0;}
.pricing-card.featured{border-color:var(--blue); box-shadow:0 4px 14px rgba(var(--blue-rgb),.15);}

.footer{position:relative; overflow:hidden; background:var(--navy); color:rgba(255,255,255,.82); padding:38px 0 16px; font-size:14px;}
.footer::before{content:""; position:absolute; top:0; right:0; width:46%; height:80%; pointer-events:none; opacity:.55;
  background-image:radial-gradient(rgba(255,255,255,.16) 1.3px,transparent 1.6px); background-size:9px 9px;
  -webkit-mask-image:radial-gradient(ellipse at 80% 20%,#000 0%,transparent 70%); mask-image:radial-gradient(ellipse at 80% 20%,#000 0%,transparent 70%);}
.footer .container{position:relative; max-width:1400px; padding:0 28px;}
.footer a{color:rgba(255,255,255,.82); text-decoration:none;}
.footer a:hover{color:#f0b429;}
.footer h4{color:#fff; font-size:17px; font-weight:700; margin:0; line-height:26px; height:26px; display:flex; align-items:center;}
.ft-bar{display:block; width:34px; height:3px; border-radius:2px; background:#f0b429; margin:8px 0 16px;}
/* Four even sections: equal width, equal height, same heading line and divider rhythm */
.ft-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; align-items:stretch;}
.ft-grid.ft-min{grid-template-columns:repeat(2,minmax(0,1fr));}
.ft-col{display:flex; flex-direction:column; padding:0 30px; min-width:0;}
.ft-col:first-child{padding-left:0;}
.ft-col:last-child{padding-right:0;}
.ft-col + .ft-col{border-left:1px solid rgba(255,255,255,.14);}
.ft-brand .ft-logo{font-size:22px;}
.ft-brand .bt{font-size:22px; color:#f0b429;}
.ft-brand .bt b{color:#fff;}
.ft-tag{margin:0; font-size:14px; line-height:1.55; color:rgba(255,255,255,.88);}
.ft-trust{list-style:none; margin:auto 0 0; padding:14px 0 0; display:grid; grid-template-columns:repeat(4,auto); justify-content:start; align-items:stretch;}
.ft-trust li{display:flex; flex-direction:column; align-items:center; gap:6px; padding:0 12px; font-size:12.5px; color:rgba(255,255,255,.88); white-space:nowrap;}
.ft-trust li:first-child{padding-left:0;}
.ft-trust li:last-child{padding-right:0;}
.ft-trust li + li{border-left:1px solid rgba(255,255,255,.16);}
.ft-trust svg{color:#f0b429; width:26px; height:26px;}
.ft-links{list-style:none; margin:0; padding:0; flex:1; display:flex; flex-direction:column; justify-content:space-between; gap:10px; font-size:14.5px; line-height:1.3;}
.ft-info{list-style:none; margin:0; padding:0; flex:1; display:flex; flex-direction:column; justify-content:space-between; gap:12px;}
.ft-info li{display:grid; grid-template-columns:40px minmax(0,1fr); align-items:center; column-gap:12px;}
.ft-ic{width:40px; height:40px; border-radius:50%; border:2px solid #f0b429; color:#f0b429; display:flex; align-items:center; justify-content:center;}
.ft-ic svg{width:18px; height:18px;}
.ft-txt{display:flex; flex-direction:column; gap:1px; min-width:0;}
.ft-lb{color:rgba(255,255,255,.72); font-size:12.5px; line-height:1.3;}
.ft-val{color:#fff; font-weight:700; font-size:14.5px; line-height:1.3; word-break:break-word;}
a.ft-val:hover{color:#f0b429;}
.ft-bottom{margin-top:26px; padding-top:14px; border-top:1px solid rgba(255,255,255,.16); display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:13px;}
.ft-legal{display:flex; align-items:center; gap:14px;}
.ft-sep{color:#f0b429; opacity:.8;}
.ft-top{margin-left:18px; width:38px; height:38px; border-radius:50%; border:2px solid #f0b429; color:#f0b429 !important; display:flex; align-items:center; justify-content:center; transition:background .15s,color .15s;}
.ft-top svg{width:17px; height:17px;}
.ft-top:hover{background:#f0b429; color:var(--navy) !important;}
@media (max-width:1180px){
  .ft-grid{grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:30px;}
  .ft-grid.ft-min{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ft-col,.ft-col:first-child,.ft-col:last-child{padding:0 24px 0 0;}
  .ft-col + .ft-col{border-left:0;}
  .ft-col:nth-child(even){padding:0 0 0 24px; border-left:1px solid rgba(255,255,255,.14);}
  .ft-links{gap:14px; flex:none;}
  .ft-info{gap:14px; flex:none;}
  .ft-trust{margin-top:18px;}
}
@media (max-width:640px){
  .footer{padding:32px 0 16px;}
  .footer .container{padding:0 16px;}
  .ft-grid,.ft-grid.ft-min{grid-template-columns:1fr;}
  .ft-col,.ft-col:first-child,.ft-col:last-child,.ft-col:nth-child(even){padding:0; border-left:0;}
  .ft-top{margin-left:8px;}
}

.verify-box{background:#fff; border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); padding:28px; max-width:560px; margin:-56px auto 0; position:relative; z-index:2;}
.verify-box form{display:flex; gap:10px;}
.verify-box input{flex:1;}

.result-card{max-width:600px; margin:0 auto;}
.result-status{display:inline-flex; align-items:center; gap:8px; padding:10px 18px; border-radius:8px; font-weight:800; font-size:15px; margin-bottom:18px;}
.result-row{display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid var(--border); font-size:13.5px;}
.result-row .label{color:var(--muted);}
.qr-box{text-align:center; margin-top:20px;}

/* ---------- wizard ---------- */
.wizard-steps{display:flex; gap:6px; margin-bottom:24px; flex-wrap:wrap;}
.wizard-steps .step{flex:1; min-width:100px; text-align:center; padding:8px 6px; font-size:12px; font-weight:600; color:var(--muted); border-bottom:3px solid var(--border);}
.wizard-steps .step.active{color:var(--role); border-bottom-color:var(--role);}
.wizard-steps .step.done{color:var(--green); border-bottom-color:var(--green);}

/* ---------- utilities ---------- */
.flex{display:flex;} .items-center{align-items:center;} .justify-between{justify-content:space-between;}
.gap-8{gap:8px;} .gap-12{gap:12px;} .gap-16{gap:16px;}
.mt-8{margin-top:8px;} .mt-16{margin-top:16px;} .mt-24{margin-top:24px;}
.mb-0{margin-bottom:0;} .mb-8{margin-bottom:8px;} .mb-16{margin-bottom:16px;} .mb-24{margin-bottom:24px;}
.ml-8{margin-left:8px;}
.text-muted{color:var(--muted);} .text-sm{font-size:12.5px;} .text-right{text-align:right;}
.w-full{width:100%;}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .sidebar{position:fixed; left:0; top:0; z-index:1000; transform:translateX(-100%);}
  .sidebar.open{transform:translateX(0);}
  .menu-toggle{display:block;}
  .public-nav-toggle{display:block; position:relative; z-index:1002;}
  .public-header nav{
    position:fixed; top:0; right:0; height:100vh; height:100dvh; width:240px; overflow-y:auto; background:var(--navy-2);
    flex-direction:column; align-items:flex-start; padding:70px 20px; gap:16px; transform:translateX(100%);
    transition:transform .2s ease; z-index:1001; box-shadow:-8px 0 24px rgba(0,0,0,.25);
  }
  .public-header nav.open{transform:translateX(0);}
  .hero{padding:48px 0;}
  .hero h1{font-size:clamp(25px,7vw,30px);}
  .verify-box{margin-top:24px;}
}

/* ---- Pagination ---- */
.pager{display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin:16px 0;}
.pager-links{display:flex; gap:4px; flex-wrap:wrap;}
.pager-item{display:inline-block; min-width:36px; padding:7px 10px; text-align:center; border:1px solid var(--border, #d9dee7); border-radius:6px; background:#fff; color:var(--navy, #12304f); font-size:13px; text-decoration:none;}
a.pager-item:hover{background:var(--blue-light, #eaf1fb); text-decoration:none;}
.pager-item.current{background:var(--navy, #12304f); color:#fff; border-color:var(--navy, #12304f);}
.pager-item.disabled{color:#9aa3b2; background:#f6f7f9; cursor:default;}
@media (max-width:640px){ .pager{justify-content:center;} .pager-info{width:100%; text-align:center;} }

.cur-toggle{display:flex; justify-content:center; width:max-content; max-width:100%; margin:0 auto 24px; border:1px solid var(--border); border-radius:999px; background:#fff; padding:4px; gap:4px;}
.cur-toggle a{padding:8px 18px; border-radius:999px; font-weight:600; font-size:14px; color:var(--navy); text-decoration:none; white-space:nowrap;}
.cur-toggle a:hover{background:var(--blue-light);}
.cur-toggle a.active{background:var(--blue); color:#fff;}
.pricing-card .price .price-request{font-size:18px; font-weight:600; color:var(--muted, #5b6b84);}

/* ---- Maintenance page (public) ---- */
.maint{padding-top:56px;padding-bottom:72px;}
.maint-card{max-width:640px;margin:0 auto;background:#fff;border:1px solid var(--border,#e5e7eb);border-radius:18px;padding:44px 36px;text-align:center;box-shadow:0 10px 30px rgba(15,23,42,.06);}
.maint-icon{font-size:56px;line-height:1;margin-bottom:14px;font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;}
.maint-card h1{margin:0 0 14px;font-size:30px;}
.maint-text{color:var(--muted,#475569);font-size:16px;line-height:1.65;}
.maint-text p{margin:0 0 12px;}
.maint-cta{margin:26px 0 8px;}
.maint-note{margin:0 0 4px;font-size:13px;color:var(--muted,#64748b);}
.maint-contact{margin:18px 0 0;font-size:14px;color:var(--muted,#64748b);}
.maint-signout{margin-top:18px;}
@media (max-width:600px){.maint{padding-top:28px;}.maint-card{padding:30px 20px;}.maint-card h1{font-size:24px;}}

/* ---- Registration bar: semi-transparent scrolling text fixed to the bottom (Home + Create Account) ---- */
.reg-ticker{position:fixed;left:0;right:0;bottom:0;z-index:900;display:flex;align-items:center;gap:12px;min-height:44px;padding:0 0 0 0;background:rgba(11,31,63,.88);color:#fff;border-top:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 -4px 18px rgba(11,31,63,.18);}
.reg-ticker-view{flex:1;min-width:0;overflow:hidden;white-space:nowrap;outline-offset:-2px;}
.reg-ticker-track{display:inline-flex;width:max-content;animation:reg-ticker-scroll 40s linear infinite;will-change:transform;}
.reg-ticker-group{display:inline-flex;flex:none;}
.reg-ticker-item{display:inline-block;padding:0 40px 0 0;font-size:14.5px;font-weight:600;letter-spacing:.2px;line-height:44px;text-shadow:0 1px 2px rgba(0,0,0,.35);font-family:inherit;}
.reg-ticker:hover .reg-ticker-track,.reg-ticker-view:focus .reg-ticker-track,.reg-ticker:active .reg-ticker-track{animation-play-state:paused;}
.reg-ticker-btn{flex:none;margin-right:12px;background:#fff;color:var(--navy);font-weight:700;font-size:13.5px;padding:7px 16px;border-radius:6px;text-decoration:none;white-space:nowrap;}
.reg-ticker-btn:hover,.reg-ticker-btn:focus-visible{background:var(--blue-light);color:var(--navy);text-decoration:none;}
body.has-ticker{padding-bottom:48px;}
@keyframes reg-ticker-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){
  .reg-ticker-track{animation:none;}
  .reg-ticker-view{white-space:normal;text-align:center;padding:6px 12px;}
  .reg-ticker-group:nth-child(n+2){display:none;}
  .reg-ticker-item{line-height:1.35;padding:0;}
  .reg-ticker-item:nth-child(n+2){display:none;}
}
@media (max-width:600px){.reg-ticker-item{font-size:13px;}.reg-ticker-btn{padding:6px 12px;font-size:12.5px;margin-right:8px;}}

/* ---- Sign In / Create Account / Forgot password: centred intro text and centred buttons ---- */
.auth-intro{text-align:center;}
.auth-head{margin-bottom:22px;}
.auth-head h1{margin-bottom:8px;}
.auth-head .auth-intro{margin:0;}
.auth-actions{display:flex;justify-content:center;margin-top:6px;}
.auth-actions .btn{min-width:200px;justify-content:center;padding:10px 28px;}

/* ===== Home page sections: trust strip, professions, coverage, authorities, university directory, banners, FAQ, enquiry ===== */
.hp-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:26px;}
.hp-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid rgba(255,255,255,.28);border-radius:999px;font-size:12.5px;color:#e8eefb;background:rgba(255,255,255,.07);}
.hp-hero-note{margin-top:18px;font-size:13px;color:#c9d6ee;}
.hp-trust{background:#fff;border-bottom:1px solid var(--border);}
.hp-trust .in{display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.hp-trust .it{padding:22px 20px;display:flex;gap:12px;align-items:flex-start;border-right:1px solid var(--border);}
.hp-trust .it:last-child{border-right:0;}
.hp-ico{flex:none;width:40px;height:40px;border-radius:10px;background:var(--blue-light);color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:19px;font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;}
.hp-trust h4{margin:0 0 2px;font-size:14px;}
.hp-trust p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.45;}
.hp-eyebrow{display:block;text-align:center;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:6px;}
.hp-about{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center;}
.hp-about h2{text-align:left;font-size:28px;line-height:1.25;}
.hp-about .lead2{color:var(--muted);font-size:15.5px;line-height:1.65;margin:0 0 18px;}
.hp-points{list-style:none;margin:0 0 22px;padding:0;}
.hp-points li{display:flex;gap:12px;margin-bottom:14px;}
.hp-points .ck{flex:none;width:26px;height:26px;border-radius:50%;background:#e6f4ec;color:#1c7a45;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:14px;margin-top:1px;}
.hp-points b{display:block;font-size:15px;color:var(--ink);}
.hp-points span{font-size:13.5px;color:var(--muted);line-height:1.5;}
.hp-sample{position:relative;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 14px 40px rgba(11,31,63,.12);padding:30px 30px 26px;}
.hp-sample .tag{position:absolute;top:-11px;right:18px;background:var(--navy);color:#fff;font-size:11px;letter-spacing:.06em;padding:4px 10px;border-radius:999px;text-transform:uppercase;}
.hp-sample .badge{display:inline-flex;align-items:center;gap:8px;background:#e6f4ec;color:#1c7a45;font-weight:700;border-radius:999px;padding:7px 14px;font-size:14px;margin-bottom:16px;}
.hp-sample dl{margin:0;display:grid;grid-template-columns:max-content minmax(0,1fr);gap:0 30px;font-size:16px;}
.hp-sample dt,.hp-sample dd{display:flex;align-items:center;padding:13px 0;border-bottom:1px solid var(--border);margin:0;}
.hp-sample dt{color:var(--muted);font-size:15px;}
.hp-sample dd{font-weight:700;font-size:17px;color:var(--ink);}
.hp-sample dd .rs{font-size:17px;}
.hp-sample dt:last-of-type,.hp-sample dd:last-of-type{border-bottom:0;}
.hp-sample .qr{margin-top:14px;padding-top:20px;border-top:1px dashed var(--border);display:flex;gap:18px;align-items:center;font-size:15px;font-weight:600;line-height:1.5;color:var(--ink);}
.hp-sample .qr svg{width:88px;height:88px;}
.hp-sample .qrbox{flex:none;width:64px;height:64px;border-radius:8px;background:
 conic-gradient(from 90deg at 50% 50%,var(--navy) 0 25%,#fff 0 50%,var(--navy) 0 75%,#fff 0) 0 0/16px 16px;border:4px solid #fff;outline:1px solid var(--border);}
.hp-regions{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:8px;}
.hp-region{background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px 18px;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s;}
.hp-region:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(11,31,63,.12);}
.hp-region .top{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.hp-region h4{margin:0;font-size:16px;}
.hp-region p{margin:0 0 12px;font-size:12.5px;color:var(--muted);line-height:1.5;}
.hp-cc{display:flex;flex-wrap:wrap;gap:6px;}
.hp-cc span{font-size:11.5px;background:#f0f4fb;color:#27437a;border-radius:6px;padding:3px 8px;font-weight:600;}
.hp-cc span em{font-style:normal;color:#7a8aa8;font-weight:700;margin-right:4px;}
.hp-region.wide{grid-column:span 2;}
.hp-mono{flex:none;width:40px;height:40px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:800;letter-spacing:.04em;}
.hp-region.cta{grid-column:span 3;background:linear-gradient(135deg,var(--navy),var(--navy-2));border:0;color:#fff;display:flex;flex-direction:column;justify-content:center;}
.hp-region.cta h4{color:#fff;}
.hp-region.cta p{color:#c9d6ee;}
.hp-region.cta a{align-self:flex-start;background:#fff;color:var(--navy);font-weight:700;font-size:13px;padding:8px 16px;border-radius:6px;text-decoration:none;}
.hp-stats{background:linear-gradient(180deg,var(--navy),var(--navy-2));color:#fff;padding:46px 0;}
.hp-stats .in{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center;}
.hp-stats .n{font-size:42px;font-weight:800;line-height:1;letter-spacing:-.5px;}
.hp-stats .l{margin-top:8px;font-size:13.5px;color:#c9d6ee;}
.hp-sec{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px;}
.hp-sec .c{background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px;display:flex;gap:14px;}
.hp-sec h4{margin:0 0 4px;font-size:15px;}
.hp-sec p{margin:0;font-size:13px;color:var(--muted);line-height:1.5;}
.hp-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px;}
.hp-review{background:#fff;border:2px dashed #c4cfe4;border-radius:14px;padding:22px;}
.hp-review .stars{color:#d9a21b;letter-spacing:2px;font-size:16px;margin-bottom:8px;}
.hp-review p{margin:0 0 14px;font-size:14px;color:var(--ink);line-height:1.6;font-style:italic;}
.hp-review .who{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted);}
.hp-review .av{width:36px;height:36px;border-radius:50%;background:#e3e9f5;}
.hp-note{max-width:760px;margin:0 auto 22px;text-align:center;font-size:12.5px;background:#fff8e1;color:#7a5b00;border:1px solid #f2e2a8;border-radius:8px;padding:8px 12px;}
.hp-faq{max-width:820px;margin:8px auto 0;}
.hp-faq details{background:#fff;border:1px solid var(--border);border-radius:12px;margin-bottom:10px;padding:0 18px;}
.hp-faq summary{cursor:pointer;list-style:none;padding:16px 0;font-weight:700;font-size:15px;color:var(--ink);display:flex;justify-content:space-between;gap:12px;align-items:center;}
.hp-faq summary::-webkit-details-marker{display:none;}
.hp-faq summary::after{content:"+";font-size:22px;color:var(--blue);font-weight:400;line-height:1;}
.hp-faq details[open] summary::after{content:"\2212";}
.hp-faq details p{margin:0 0 16px;font-size:14px;color:var(--muted);line-height:1.65;}
.hp-bg{background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
@media (max-width:980px){
 .hp-regions{grid-template-columns:repeat(2,1fr);} .hp-region.wide,.hp-region.cta{grid-column:span 2;}
 .hp-trust .in{grid-template-columns:repeat(2,1fr);} .hp-trust .it:nth-child(2){border-right:0;} .hp-trust .it{border-bottom:1px solid var(--border);}
 .hp-about{grid-template-columns:1fr;gap:30px;} .hp-sec,.hp-reviews{grid-template-columns:repeat(2,1fr);} .hp-stats .in{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:600px){
 .hp-regions,.hp-sec,.hp-reviews,.hp-trust .in,.hp-stats .in{grid-template-columns:1fr;} .hp-region.wide,.hp-region.cta{grid-column:auto;}
 .hp-trust .it{border-right:0;} .hp-about h2{font-size:23px;} .hp-stats .n{font-size:34px;}
}

.hp-aud,.hp-pil,.hp-profs,.hp-sec,.hp-reviews{margin-top:28px;}
.hp-path h2{margin-bottom:12px;}

.hp-popwrap{margin:6px 0 26px;text-align:center;}
.hp-poptitle{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;}
.hp-pops{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}
.hp-pop{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border);border-radius:999px;padding:6px 14px 6px 6px;font-size:13px;box-shadow:var(--shadow);}
.hp-pop b{width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:.03em;}
.hp-dir{background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:var(--shadow);}
.hp-dir-bar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:16px;}
.hp-tabs{display:flex;flex-wrap:wrap;gap:6px;}
.hp-tabs button{border:1px solid var(--border);background:#f6f8fc;color:var(--ink);border-radius:999px;padding:7px 13px;font-size:13px;cursor:pointer;font-family:inherit;}
.hp-tabs button i{font-style:normal;font-size:11px;color:var(--muted);margin-left:3px;}
.hp-tabs button.on{background:var(--navy);color:#fff;border-color:var(--navy);} .hp-tabs button.on i{color:#c9d6ee;}
.hp-search input{width:230px;max-width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:8px;font:inherit;font-size:13.5px;}
.hp-dir-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.hp-dir-card{border:1px solid var(--border);border-radius:12px;padding:16px;background:#fbfcfe;}
.hp-dir-card[data-r="me"],.hp-dir-card[data-r="eu"],.hp-dir-card[data-r="as"]{grid-column:span 2;}
.hp-dir-card .hd{display:flex;justify-content:space-between;align-items:baseline;gap:8px;}
.hp-dir-card h4{margin:0;font-size:16px;} .hp-dir-card .hd span{font-size:12px;color:var(--muted);}
.hp-dir-card p{margin:2px 0 12px;font-size:12.5px;color:var(--muted);}
.hp-dir-card .chips{display:flex;flex-wrap:wrap;gap:6px;}
.hp-ctry{font-size:12px;background:#eef2fa;color:var(--navy);border-radius:6px;padding:4px 9px;font-weight:600;}
.hp-ctry em{font-style:normal;color:#7a8aa8;font-weight:700;margin-right:5px;font-size:10.5px;}
.hp-none{padding:22px;text-align:center;color:var(--muted);font-size:14px;} .hp-dir-foot{margin-top:14px;text-align:center;font-size:13.5px;color:var(--muted);}
.hp-profs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:8px;}
.hp-prof{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow);}
.hp-prof h4{margin:0 0 4px;font-size:15px;} .hp-prof p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.5;}
.hp-more{margin-top:16px;text-align:center;font-size:14px;color:var(--muted);}
.hp-docs{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:14px;}
.hp-docs span{background:#fff;border:1px solid var(--border);border-radius:999px;padding:8px 16px;font-size:13.5px;font-weight:600;color:var(--ink);box-shadow:var(--shadow);}
.hp-docs span::before{content:"\2713";color:#1c7a45;margin-right:8px;font-weight:800;}
.hp-pil{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px;}
.hp-pil .c{background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px;box-shadow:var(--shadow);}
.hp-pil .hp-ico{margin-bottom:12px;} .hp-pil h4{margin:0 0 6px;font-size:16px;} .hp-pil p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.55;}
.hp-path{background:linear-gradient(135deg,var(--navy),var(--navy-3));color:#fff;padding:56px 0;}
.hp-path .in{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;}
.hp-path .k{display:inline-block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#9fc0f2;font-weight:700;margin-bottom:8px;}
.hp-path h2{color:#fff;text-align:left;font-size:28px;line-height:1.25;} .hp-path p{color:#d6e2f7;line-height:1.65;font-size:15px;}
.hp-path ul{margin:0 0 22px;padding:0;list-style:none;} .hp-path li{margin-bottom:8px;font-size:14.5px;color:#fff;} .hp-path li::before{content:"\2713";margin-right:10px;color:#7fe3a8;font-weight:800;}
.hp-path .side{display:grid;gap:10px;} .hp-path .step{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:14px 16px;}
.hp-path .step b{flex:none;width:32px;height:32px;border-radius:50%;background:#fff;color:var(--navy);display:flex;align-items:center;justify-content:center;} .hp-path .step span{font-size:14px;}
.hp-path .fine{grid-column:1/-1;font-size:12.5px;color:#a9bddf;margin:0;}
.hp-aud{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px;}
.hp-aud .c{background:#fff;border:1px solid var(--border);border-radius:14px;padding:24px;display:flex;flex-direction:column;box-shadow:var(--shadow);}
.hp-aud h4{margin:0 0 8px;font-size:17px;} .hp-aud p{margin:0 0 12px;font-size:13.5px;color:var(--muted);line-height:1.55;}
.hp-aud ul{margin:0 0 18px;padding:0;list-style:none;flex:1;} .hp-aud li{font-size:13.5px;margin-bottom:6px;} .hp-aud li::before{content:"\2713";color:#1c7a45;margin-right:8px;font-weight:800;}
.hp-aud .btn{align-self:flex-start;}
.hp-enq{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:18px;padding:34px;box-shadow:0 14px 40px rgba(11,31,63,.08);}
.hp-enq .lead2{color:var(--muted);line-height:1.65;font-size:15px;margin:0;}
.hp-enq .f{display:grid;gap:12px;} .hp-enq label{display:grid;gap:5px;font-size:13px;font-weight:600;color:var(--ink);}
.hp-enq select,.hp-enq input{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font:inherit;font-size:14px;background:#fff;font-weight:400;}
@media (max-width:980px){.hp-profs{grid-template-columns:repeat(2,1fr);}.hp-pil,.hp-aud{grid-template-columns:1fr;}.hp-path .in,.hp-enq{grid-template-columns:1fr;gap:26px;}}
@media (max-width:600px){.hp-profs{grid-template-columns:1fr;}.hp-dir-grid{grid-template-columns:1fr;}.hp-dir-card[data-r="me"],.hp-dir-card[data-r="eu"],.hp-dir-card[data-r="as"]{grid-column:auto;}.hp-search,.hp-search input{width:100%;}.hp-path h2{font-size:23px;}.hp-enq{padding:22px;}}

.hp-uni{background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:var(--shadow);}
.hp-uni-bar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:14px;}
.hp-cpills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--border);}
.hp-cpill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:#f6f8fc;border-radius:999px;padding:5px 14px 5px 5px;font-size:13px;cursor:pointer;font-family:inherit;color:var(--ink);}
.hp-cpill b{width:28px;height:28px;border-radius:50%;background:#dfe7f6;color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:10.5px;}
.hp-cpill.on{background:var(--navy);color:#fff;border-color:var(--navy);} .hp-cpill.on b{background:#fff;color:var(--navy);}
.hp-upanel .ph{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:14px;flex-wrap:wrap;}
.hp-upanel h4{margin:0;font-size:20px;} .hp-upanel .ph span{font-size:12.5px;color:var(--muted);}
.hp-upanel .cols{display:grid;grid-template-columns:1.2fr 1fr;gap:26px;}
.hp-upanel .ct{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;}
.hp-upanel .tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.hp-inst{display:flex;align-items:center;gap:12px;border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:#fbfcfe;min-height:62px;}
.hp-inst .mark{flex:none;width:42px;height:42px;border-radius:10px;background:linear-gradient(135deg,var(--navy-3),var(--navy));color:#fff;font-weight:800;font-size:13px;letter-spacing:.04em;display:flex;align-items:center;justify-content:center;}
.hp-inst.a .mark{background:linear-gradient(135deg,#1c7a45,#14573a);}
.hp-inst .nm{font-size:13px;font-weight:600;line-height:1.35;color:var(--ink);}
.hp-upanel .cols>div:nth-child(2) .tiles{grid-template-columns:1fr;}
.hp-disc{margin:16px 0 0;padding-top:14px;border-top:1px dashed var(--border);font-size:12px;color:var(--muted);line-height:1.55;text-align:center;}
.hp-recog{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.hp-rc{border:2px dashed #c4cfe4;border-radius:14px;padding:22px;background:#fff;text-align:center;}
.hp-rc .mk{font-size:30px;margin-bottom:8px;font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;} .hp-rc h4{margin:0 0 6px;font-size:15px;} .hp-rc p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.5;}
@media (max-width:980px){.hp-upanel .cols{grid-template-columns:1fr;}.hp-recog{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.hp-upanel .tiles{grid-template-columns:1fr;}.hp-recog{grid-template-columns:1fr;}.hp-cpill{font-size:12.5px;}}

.ud-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:6px 0 20px;}
.ud-stat{background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow);}
.ud-stat b{display:block;font-size:28px;line-height:1.1;color:var(--navy);letter-spacing:-.01em;} .ud-stat span{font-size:12.5px;color:var(--muted);}
.ud{background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:var(--shadow);}
.ud-bar{display:grid;grid-template-columns:1fr 280px 110px;gap:12px;margin-bottom:14px;align-items:end;}
.ud-search{position:relative;} .ud-search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--muted);}
.ud-search input{width:100%;box-sizing:border-box;padding:12px 14px 12px 40px;border:1px solid var(--border);border-radius:10px;font:inherit;font-size:14.5px;background:#fff;}
.ud-search input:focus,.ud-sel select:focus{outline:2px solid var(--navy);outline-offset:1px;}
.ud-sel{display:flex;flex-direction:column;gap:4px;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
.ud-sel select{width:100%;padding:11px 10px;border:1px solid var(--border);border-radius:10px;font:inherit;font-size:14px;font-weight:400;text-transform:none;letter-spacing:0;background:#fff;color:var(--ink);}
.ud-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;}
.ud-tabs button{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:#f6f8fc;border-radius:999px;padding:7px 8px 7px 14px;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;color:var(--ink);}
.ud-tabs button em{font-style:normal;font-size:11.5px;font-weight:700;background:#e3e9f5;color:#33466f;border-radius:999px;padding:2px 8px;}
.ud-tabs button.on{background:var(--navy);color:#fff;border-color:var(--navy);} .ud-tabs button.on em{background:rgba(255,255,255,.18);color:#fff;}
.ud-az{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--border);}
.ud-az button{min-width:30px;height:30px;padding:0 8px;border:1px solid transparent;background:transparent;border-radius:8px;font:inherit;font-size:12.5px;font-weight:700;color:#33466f;cursor:pointer;}
.ud-az button:hover{background:#eef2fa;} .ud-az button.on{background:var(--navy);color:#fff;}
.ud-auth{margin:0 0 14px;padding:14px 16px;background:#f1f7f3;border:1px solid #cfe5d8;border-radius:12px;}
.ud-auth-t{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#14573a;margin-bottom:8px;}
.ud-auth-l{display:flex;flex-wrap:wrap;gap:6px;} .ud-chip{background:#fff;border:1px solid #cfe5d8;border-radius:999px;padding:4px 11px;font-size:12.5px;color:#14573a;}
.ud-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;font-size:13px;color:var(--muted);min-height:28px;}
.ud-reset{border:1px solid var(--border);background:#fff;border-radius:8px;padding:5px 12px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;color:var(--navy);}
.ud-wrap{border:1px solid var(--border);border-radius:12px;overflow:hidden;}
.ud-tbl{width:100%;border-collapse:collapse;font-size:14px;}
.ud-tbl th{position:sticky;top:0;background:#f3f6fb;text-align:left;padding:11px 14px;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);}
.ud-tbl td{padding:10px 14px;border-bottom:1px solid #eef1f6;vertical-align:middle;} .ud-tbl tbody tr:last-child td{border-bottom:0;} .ud-tbl tbody tr:hover{background:#f8faff;}
.ud-tbl td.ud-n{display:flex;align-items:center;gap:12px;} .ud-mk{flex:none;width:38px;height:38px;border-radius:9px;color:#fff;font-weight:800;font-size:12px;letter-spacing:.04em;display:flex;align-items:center;justify-content:center;}
.ud-nm{font-weight:600;color:var(--ink);line-height:1.35;}
.ud-tbl td.ud-c span{display:block;font-weight:500;} .ud-tbl td.ud-c small{display:block;font-size:11.5px;color:var(--muted);}
.ud-tbl td.ud-d a{color:var(--navy);font-weight:600;text-decoration:none;border-bottom:1px solid #b8c6e3;word-break:break-all;} .ud-tbl td.ud-d a:hover{border-bottom-color:var(--navy);}
.ud-no{color:#9aa5b8;font-style:italic;}
.ud-none{padding:30px 16px;text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:12px;font-size:14px;}
.ud-pg{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center;margin:18px 0 4px;}
.ud-pg button{min-width:38px;height:38px;padding:0 12px;border:1px solid var(--border);background:#fff;border-radius:9px;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;color:var(--ink);}
.ud-pg button.on{background:var(--navy);color:#fff;border-color:var(--navy);} .ud-pg button:disabled{opacity:.4;cursor:default;} .ud-pg .gap{color:var(--muted);padding:0 2px;}
@media (max-width:980px){.ud-bar{grid-template-columns:1fr 1fr;}.ud-search{grid-column:1/-1;}}
@media (max-width:640px){.ud-bar{grid-template-columns:1fr 100px;}.ud-stats{gap:8px;}.ud-stat{padding:12px;}.ud-stat b{font-size:20px;}.ud-stat span{font-size:11px;}
 .ud-tbl thead{display:none;} .ud-tbl,.ud-tbl tbody,.ud-tbl tr,.ud-tbl td{display:block;width:100%;box-sizing:border-box;}
 .ud-tbl tr{padding:12px 12px;border-bottom:1px solid #eef1f6;} .ud-tbl td{padding:3px 0;border:0;} .ud-tbl td.ud-n{padding-bottom:8px;}
 .ud-tbl td.ud-c,.ud-tbl td.ud-d{display:flex;justify-content:space-between;gap:12px;font-size:13px;} .ud-tbl td.ud-c span,.ud-tbl td.ud-c small{display:inline;}
 .ud-tbl td[data-label]:before{content:attr(data-label);color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;flex:none;padding-top:2px;}
 .ud-tbl td.ud-c small{display:none;} .ud-tbl td.ud-d a{text-align:right;}}

.cv-ptitle{display:flex;align-items:center;justify-content:center;gap:16px;margin:28px 0 16px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.cv-ptitle span{flex:1;max-width:160px;height:1px;background:var(--border);}
.cv-pops{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;margin-bottom:30px;}
.cv-pop{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:12px;box-shadow:0 1px 2px rgba(15,35,80,.05);transition:transform .15s,box-shadow .15s;}
.cv-pop:hover{transform:translateY(-2px);box-shadow:var(--shadow);}
.cv-pop i{flex:none;width:38px;height:38px;border-radius:10px;color:#fff;font-style:normal;font-weight:800;font-size:12px;letter-spacing:.04em;display:flex;align-items:center;justify-content:center;}
.cv-pop b{display:block;font-size:13px;line-height:1.25;color:var(--ink);} .cv-pop span{display:block;font-size:11px;color:var(--muted);margin-top:1px;}
.cv{display:grid;grid-template-columns:290px 1fr;background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);}
.cv-side{background:linear-gradient(170deg,var(--navy) 0%,var(--navy-3) 100%);color:#fff;padding:24px 18px;}
.cv-st{font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#a9bddf;margin:0 4px 14px;}
.cv-find{position:relative;margin-bottom:16px;} .cv-find svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#a9bddf;}
.cv-find input{width:100%;box-sizing:border-box;padding:11px 12px 11px 36px;border-radius:10px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.1);color:#fff;font:inherit;font-size:14px;}
.cv-find input::placeholder{color:#b9c9e6;} .cv-find input:focus{outline:2px solid #fff;outline-offset:1px;background:rgba(255,255,255,.16);}
.cv-regs{display:flex;flex-direction:column;gap:4px;}
.cv-regs button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:0;background:transparent;color:#dce6f7;border-radius:10px;padding:11px 12px;font:inherit;font-size:14.5px;font-weight:600;cursor:pointer;transition:background .15s;}
.cv-regs button:hover{background:rgba(255,255,255,.1);}
.cv-regs button .dt{flex:none;width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 3px rgba(255,255,255,.18);} .cv-regs button .tx{flex:1;}
.cv-regs button em{font-style:normal;font-size:12px;font-weight:700;background:rgba(255,255,255,.14);border-radius:999px;padding:2px 9px;color:#fff;}
.cv-regs button.on{background:#fff;color:var(--navy);} .cv-regs button.on em{background:#e3e9f5;color:var(--navy-3);} .cv-regs button.on .dt{box-shadow:0 0 0 3px #e3e9f5;}
.cv-regs button.on .dt[style*="#fff"]{background:var(--navy-3)!important;}
.cv-main{padding:24px 26px 18px;min-width:0;display:flex;flex-direction:column;}
.cv-top{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--border);} .cv-top h3{margin:0;font-size:22px;color:var(--ink);} .cv-top p{margin:3px 0 0;font-size:13.5px;color:var(--muted);}
.cv-scroll{max-height:540px;overflow:auto;padding-right:6px;scrollbar-width:thin;scrollbar-color:#c4cfe4 transparent;}
.cv-grp{margin-bottom:22px;} .cv-gh{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;}
.cv-gh h4{margin:0;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-3);} .cv-gh span{font-size:12.5px;color:var(--muted);flex:1;}
.cv-gh b{font-size:11.5px;background:#eef2fa;color:#33466f;border-radius:999px;padding:2px 9px;}
.cv-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;}
.cv-t{display:flex;align-items:center;gap:10px;border:1px solid #e6ebf4;border-radius:10px;padding:8px 10px;background:#fbfcfe;font-size:13.5px;font-weight:600;color:var(--ink);transition:border-color .15s,background .15s;}
.cv-t:hover{border-color:#b8c6e3;background:#fff;}
.cv-t i{flex:none;width:30px;height:30px;border-radius:8px;color:#fff;font-style:normal;font-weight:800;font-size:10.5px;letter-spacing:.03em;display:flex;align-items:center;justify-content:center;}
.cv-t span{line-height:1.25;}
.cv-none{padding:36px 16px;text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:12px;font-size:14px;}
.cv-foot{margin-top:14px;padding-top:14px;border-top:1px solid var(--border);text-align:center;font-size:13.5px;color:var(--muted);}
@media (max-width:1100px){.cv-pops{grid-template-columns:repeat(4,1fr);}}
@media (max-width:900px){.cv{grid-template-columns:minmax(0,1fr);}.cv-side,.cv-main{min-width:0;}.cv-side{padding:18px 14px;}.cv-regs{flex-direction:row;overflow-x:auto;gap:8px;padding-bottom:4px;scrollbar-width:thin;}.cv-regs button{width:auto;flex:none;white-space:nowrap;padding:9px 12px;font-size:13.5px;background:rgba(255,255,255,.08);}.cv-regs button.on{background:#fff;}.cv-scroll{max-height:460px;}}
@media (max-width:600px){.cv-pops{grid-template-columns:repeat(2,1fr);gap:8px;}.cv-pop{padding:9px;}.cv-pop b{font-size:12.5px;}.cv-main{padding:18px 14px 14px;}.cv-tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));}.cv-gh{flex-wrap:wrap;}.cv-gh span{flex-basis:100%;order:3;}}

.im-feat-t{display:flex;align-items:center;justify-content:center;gap:16px;margin:28px 0 16px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);} .im-feat-t span{flex:1;max-width:160px;height:1px;background:var(--border);}
.im-feat{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:32px;}
.im-f{background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px;box-shadow:0 1px 2px rgba(15,35,80,.05);border-top:3px solid var(--navy-3);}
.im-fh{display:flex;align-items:center;gap:10px;margin-bottom:12px;} .im-fh i{flex:none;width:34px;height:34px;border-radius:9px;color:#fff;font-style:normal;font-weight:800;font-size:11.5px;display:flex;align-items:center;justify-content:center;} .im-fh b{font-size:15px;color:var(--ink);}
.im-f dl{margin:0;} .im-f dt{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:8px;} .im-f dd{margin:2px 0 0;font-size:13px;line-height:1.4;color:var(--ink);font-weight:600;}
.im{border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);background:#fff;}
.im-head{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:24px 26px;background:linear-gradient(120deg,var(--navy) 0%,var(--navy-3) 100%);color:#fff;}
.im-head h3{margin:0 0 4px;font-size:22px;color:#fff;} .im-head p{margin:0;font-size:13.5px;color:#c4d3ee;max-width:520px;line-height:1.5;}
.im-hs{display:flex;gap:10px;} .im-hs div{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:10px 16px;text-align:center;min-width:92px;} .im-hs b{display:block;font-size:24px;line-height:1.1;} .im-hs span{font-size:11px;color:#c4d3ee;}
.im-body{padding:20px;}
.im-bar{display:grid;grid-template-columns:1fr 110px;gap:12px;margin-bottom:14px;align-items:end;}
.im-search{position:relative;} .im-search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--muted);} .im-search input{width:100%;box-sizing:border-box;padding:12px 14px 12px 40px;border:1px solid var(--border);border-radius:10px;font:inherit;font-size:14.5px;background:#fff;}
.im-search input:focus{outline:2px solid var(--navy);outline-offset:1px;}
.im-sel{display:flex;flex-direction:column;gap:4px;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);} .im-sel select{padding:11px 10px;border:1px solid var(--border);border-radius:10px;font:inherit;font-size:14px;font-weight:400;text-transform:none;letter-spacing:0;background:#fff;color:var(--ink);}
.im-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;padding-bottom:14px;border-bottom:1px solid var(--border);}
.im-tabs button{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:#f6f8fc;border-radius:999px;padding:7px 8px 7px 14px;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;color:var(--ink);}
.im-tabs button em{font-style:normal;font-size:11.5px;font-weight:700;background:#e3e9f5;color:#33466f;border-radius:999px;padding:2px 8px;} .im-tabs button.on{background:var(--navy);color:#fff;border-color:var(--navy);} .im-tabs button.on em{background:rgba(255,255,255,.18);color:#fff;}
.im-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;font-size:13px;color:var(--muted);min-height:28px;}
.im-tbl td.im-c{vertical-align:top;} .im-a{display:block;font-weight:600;color:var(--ink);line-height:1.4;} .im-s{display:block;font-size:12px;color:var(--muted);margin-top:2px;line-height:1.4;}
.im-reg{display:block;font-size:11.5px;color:var(--muted);} .im-tbl td.ud-n{align-items:flex-start;}
.im-tbl th:nth-child(1){width:26%;} .ud-nw{display:flex;align-items:flex-start;gap:12px;}
@media (min-width:641px){.im-tbl td.ud-n{display:table-cell;}}
@media (max-width:1100px){.im-feat{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.im-feat{grid-template-columns:1fr;}.im-head{padding:18px;}.im-hs{width:100%;}.im-hs div{flex:1;min-width:0;padding:8px;}.im-hs b{font-size:20px;}.im-body{padding:14px;}.im-bar{grid-template-columns:1fr 96px;}.im-tbl td.im-c{display:block;}.im-tbl td.im-c:before{display:block;margin-bottom:2px;}}

/* ---- case pages: the two cards stack (Documents above Progress) on phones and small tablets ---- */
.case-grid > *{min-width:0;}
@media (max-width:900px){ .case-grid{grid-template-columns:minmax(0,1fr);} }

/* ---- small phones: one-line title bar and case header ---- */
@media (max-width:600px){
  .topbar{padding:10px 12px; gap:8px;}
  .topbar > div:first-child{gap:8px;}
  .menu-toggle{padding:0;}
  .topbar .page-title{font-size:15px; letter-spacing:-.1px;}
  .topbar-right{gap:8px;}
  .topbar-right a{font-size:12px;}
  .content{padding:16px 14px;}
  table.data th, table.data td{padding:9px 8px; font-size:13px;}
  table.data td a{white-space:nowrap;}
  table.data .badge{font-size:10.5px; padding:3px 8px;}
}
@media (max-width:340px){ .topbar-right a{display:none;} }

/* ---------- application details form (wizard step 2) ---------- */
.dtl{max-width:820px;}
.dtl .card-header{display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;}
.dtl .dtl-svc{font-size:12.5px; font-weight:600; color:var(--role); background:rgba(11,31,63,.07); padding:4px 12px; border-radius:100px;}
.dtl .card-body{padding:22px 24px;}
.dtl-lead{margin:0 0 20px; font-size:13.5px; color:var(--muted); line-height:1.55;}
.dtl-lead strong{color:var(--ink);}
.dtl-sec{margin:24px 0 14px; padding-bottom:8px; border-bottom:1px solid var(--border); font-size:14px; font-weight:700; color:var(--ink);}
.dtl-sec:first-child{margin-top:0;}
.dtl-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 22px; align-items:start;}
.dtl-f{display:flex; flex-direction:column; gap:6px; min-width:0;}
.dtl-f label{font-size:13px; font-weight:600; color:var(--ink); margin:0;}
.dtl-f .req,.dtl-lead .req{color:var(--red);}
.dtl-f .opt{font-size:11px; font-weight:600; color:var(--muted); background:var(--gray-bg); padding:1px 7px; border-radius:100px; margin-left:4px; vertical-align:1px;}
.dtl-f input[type=text],.dtl-f input[type=date],.dtl-f input[type=email],.dtl-f select{width:100%; height:42px; padding:0 12px; font-size:14px; border:1px solid var(--border); border-radius:8px; background:#fff; color:var(--ink); box-sizing:border-box;}
.dtl-f input:focus,.dtl-f select:focus{outline:none; border-color:var(--role); box-shadow:0 0 0 3px rgba(11,31,63,.12);}
.dtl-f input::placeholder{color:#9aa3b2; opacity:1;}
.dtl-h{font-size:12px; color:var(--muted); line-height:1.4;}
.dtl-up{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto; gap:18px 18px; align-items:end;}
.dtl-up .btn{height:42px; justify-content:center; padding:0 22px;}
.dtl-f input[type=file]{width:100%; height:42px; padding:4px 6px; font-size:13px; border:1px dashed #b9c3d3; border-radius:8px; background:#f8fafd; color:var(--muted); box-sizing:border-box; cursor:pointer;}
.dtl-f input[type=file]::file-selector-button{height:32px; margin-right:10px; padding:0 14px; border:1px solid var(--border); border-radius:6px; background:#fff; color:var(--ink); font:inherit; font-weight:600; cursor:pointer;}
.dtl-empty{margin:0; font-size:13.5px; color:var(--muted);}
.dtl-consent{display:flex; gap:12px; align-items:flex-start; font-size:13.5px; line-height:1.55; color:var(--ink); background:var(--gray-bg); border:1px solid var(--border); border-radius:8px; padding:14px 16px; cursor:pointer;}
.dtl-consent input{width:18px; height:18px; margin-top:2px; flex:none;}
.dtl-save{margin-top:18px; height:44px; padding:0 30px; font-size:14.5px;}
@media (max-width:640px){
  .dtl .card-body{padding:18px 16px;}
  .dtl-grid{grid-template-columns:minmax(0,1fr);}
  .dtl-up{grid-template-columns:minmax(0,1fr);}
  .dtl-up .btn{width:100%;}
  .dtl-save{width:100%; justify-content:center;}
}
@media (max-width:640px){ .wizard-steps{flex-wrap:nowrap; gap:4px;} .wizard-steps .step{min-width:0; font-size:11px; padding:8px 2px; line-height:1.25;} }

/* ---------- verification result banner (public result page and the home sample card) ---------- */
.vr-banner{display:flex; align-items:center; gap:16px; padding:18px 20px; margin-bottom:10px; border-radius:14px; border:1px solid #bfe3cd; background:linear-gradient(135deg,#eaf7f0 0%,#f6fbf8 100%);}
.vr-banner .vr-ic{flex:none; width:48px; height:48px; display:flex; align-items:center; justify-content:center; filter:drop-shadow(0 4px 8px rgba(11,31,63,.18));}
.vr-banner .vr-ic svg{width:100%; height:100%;}
.vr-banner .vr-tx{display:flex; flex-direction:column; gap:3px; min-width:0;}
.vr-banner .vr-tx strong{font-size:22px; line-height:1.2; font-weight:800; letter-spacing:-.2px; color:#14633a;}
.vr-banner .vr-tx small{font-size:13px; line-height:1.4; color:#3f6b55;}
.vr-banner.bad{border-color:#f0c4be; background:linear-gradient(135deg,#fdeeec 0%,#fff7f6 100%);}
.vr-banner.bad .vr-tx strong{color:#8f2217;} .vr-banner.bad .vr-tx small{color:#8a5a55;}
.vr-banner.warn{border-color:#f1dba8; background:linear-gradient(135deg,#fdf5e1 0%,#fffaf0 100%);}
 .vr-banner.warn .vr-tx strong{color:#8a5a12;}
.vr-banner.neutral{border-color:var(--border); background:var(--gray-bg);} .vr-banner.neutral .vr-tx strong{color:var(--ink);}
.vr-banner.sm{padding:14px 16px; margin-bottom:16px; gap:12px;}
.vr-banner.sm .vr-ic{width:40px; height:40px;}
.vr-banner.sm .vr-tx strong{font-size:21px;}
.result-card .vr-banner{margin:2px 0 14px;}
.vr-st{display:inline-flex; align-items:center; gap:6px; font-weight:700;}
.vr-st.ok{color:#1c7a45;} .vr-st.bad{color:var(--red);} .vr-st.warn{color:#8a5a12;}
@media (max-width:480px){ .vr-banner{padding:14px; gap:12px;} .vr-banner .vr-ic{width:42px; height:42px;} .vr-banner .vr-tx strong{font-size:19px;} }
.rs{display:inline-flex; align-items:center; gap:7px; font-weight:700; white-space:nowrap; line-height:1;}
.rs .rs-ic{flex:none;}
.rs.ok{color:#1c7a45;} .rs.warn{color:#a8650a;} .rs.bad{color:#a8281c;}
.vr-banner.warn .vr-tx small{color:#8a6a2a;}
.vr-qrcap{margin:12px 0 0; font-size:15px; font-weight:600; color:var(--ink);}
.result-card .result-row{padding:13px 0; font-size:15.5px;}
.result-card .result-row .label{font-size:14.5px;}
.result-card .result-row strong{font-weight:700;}
.result-card .rs{font-size:15.5px;}
@media (max-width:480px){ .hp-sample{padding:22px 18px 20px;} .hp-sample dl{gap:0 18px;font-size:15px;} .hp-sample dd,.hp-sample dd .rs{font-size:16px;} .hp-sample dt{font-size:14px;} .hp-sample .qr{font-size:14px;} .hp-sample .qr svg{width:72px;height:72px;} }

/* ---------- Contact page ---------- */
.ct-hero{padding:52px 0 104px; background:radial-gradient(900px 320px at 85% -10%,rgba(84,132,214,.28),transparent 60%),linear-gradient(180deg,var(--navy) 0%,var(--navy-2) 100%);}
.ct-hero p{margin-bottom:0;}
.ct-wrap{padding-bottom:72px;}
.ct-grid{display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:24px; margin-top:-72px; position:relative; align-items:stretch;}
.ct-card{background:#fff; border:1px solid var(--border); border-radius:14px; box-shadow:0 12px 32px rgba(11,31,63,.10); padding:30px 32px;}
.ct-form h2{margin:0 0 4px; font-size:24px; line-height:1.25; color:var(--navy);}
.ct-sub{margin:0 0 24px; color:var(--muted); font-size:14.5px; line-height:1.55;}
.ct-row{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
.ct-form .form-group{margin-bottom:18px;}
.ct-form label{font-size:13.5px;}
.ct-form .req{color:#c0392b;}
.ct-form input[type=text],.ct-form input[type=email],.ct-form select,.ct-form textarea{padding:12px 14px; font-size:14.5px; border-radius:8px; background:#fff; border:1px solid #d5dcea; width:100%;}
.ct-form input::placeholder,.ct-form textarea::placeholder{color:#94a0b8;}
.ct-form input:focus,.ct-form select:focus,.ct-form textarea:focus{outline:0; border-color:var(--blue); box-shadow:0 0 0 3px rgba(11,61,145,.14);}
.ct-form select{appearance:none; -webkit-appearance:none; padding-right:40px; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235b6b8c' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center; color:var(--ink);}
.ct-form textarea{resize:vertical; min-height:130px;}
.ct-send{padding:13px 26px; font-size:15px; border-radius:8px; background:var(--navy); justify-content:center; gap:12px;}
.ct-send:hover{background:var(--blue);}
.ct-fine{display:flex; align-items:flex-start; gap:8px; margin:14px 0 0; font-size:12.5px; color:var(--muted); line-height:1.5;}
.ct-fine svg{flex:0 0 auto; margin-top:2px; color:#c98a1b;}
.ct-fine a{color:var(--navy); font-weight:600; text-decoration:underline;}
.ct-side{display:flex; flex-direction:column; gap:24px; min-width:0;}
.ct-quick{display:flex; gap:18px; align-items:flex-start; background:linear-gradient(135deg,#f3f7ff,#eaf1fd); padding:24px 26px;}
.ct-quick h3,.ct-cc-head h3{margin:0 0 4px; font-size:18px; color:var(--navy); line-height:1.3;}
.ct-quick p,.ct-cc-head p{margin:0 0 14px; font-size:13.5px; color:var(--muted); line-height:1.5;}
.ct-cc-head p{margin:0;}
.ct-qbtn{background:#fff; color:var(--navy); border:1.5px solid var(--navy); padding:10px 18px; border-radius:8px; gap:10px;}
.ct-qbtn:hover{background:var(--navy); color:#fff; text-decoration:none;}
.ct-badge{flex:0 0 auto; width:60px; height:60px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;}
.ct-badge-blue{background:#dfe9fb; color:var(--navy);}
.ct-badge-gold{background:#fdecc8; color:#b9770e;}
.ct-centre{flex:1 1 auto; padding:26px; display:flex; flex-direction:column;}
.ct-cc-head{display:flex; gap:16px; align-items:center; padding-bottom:18px; border-bottom:1px solid var(--border);}
.ct-info{margin:0; padding:6px 0 0; flex:1 1 auto; display:flex; flex-direction:column; justify-content:space-around;}
.ct-info > div{display:grid; grid-template-columns:172px 1fr; gap:10px; align-items:center; padding:16px 0; border-bottom:1px solid #eef1f7; flex:1 1 auto;}
.ct-info > div:last-child{border-bottom:0; padding-bottom:0;}
.ct-info dt{display:flex; align-items:center; gap:12px; font-size:13.5px; color:var(--muted); margin:0; white-space:nowrap;}
.ct-info dd{margin:0; font-size:14px; font-weight:600; color:var(--ink); min-width:0; overflow-wrap:anywhere;}
.ct-info dd a{color:var(--ink);}
.ct-info dd a:hover{color:var(--blue); text-decoration:none;}
.ct-dot{flex:0 0 auto; width:30px; height:30px; border-radius:50%; background:var(--navy); color:#fff; display:inline-flex; align-items:center; justify-content:center;}
.ct-regions{margin-top:64px; text-align:left;}
.ct-eyebrow{display:flex; align-items:center; gap:12px; font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); margin-bottom:6px;}
.ct-eyebrow::before{content:''; width:34px; height:2px; background:#d49a2a;}
.ct-regions h2{margin:0 0 6px; font-size:28px; color:var(--navy);}
.ct-reg-lead{margin:0 0 26px; color:var(--muted); font-size:14.5px;}
.ct-cn-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
@media (min-width:1100px){.ct-cn-grid{grid-template-columns:repeat(8,1fr); gap:14px;}}
.ct-cn{background:#fff; border:1px solid var(--border); border-radius:12px; box-shadow:var(--shadow); padding:18px 14px 16px; display:flex; flex-direction:column; align-items:flex-start; gap:2px; min-width:0; transition:transform .15s, box-shadow .15s, border-color .15s;}
.ct-cn:hover{transform:translateY(-2px); box-shadow:0 10px 24px rgba(11,31,63,.12); border-color:#cfd8ea;}
.ct-flag{display:block; margin-bottom:10px; line-height:0;}
.ct-cn h3{margin:0; font-size:14px; line-height:1.3; color:var(--navy); min-height:2.6em;}
.ct-cn p{margin:0 0 10px; font-size:12px; line-height:1.4; color:var(--muted);}
.ct-go{margin-top:auto; display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:700; color:#b9770e;}
.ct-go:hover{color:var(--navy); text-decoration:none;}
@media (max-width:900px){
  .ct-grid{grid-template-columns:1fr; margin-top:-60px;}
}
@media (max-width:640px){
  .ct-hero{padding:38px 0 88px;}
  .ct-card{padding:22px 18px;}
  .ct-row{grid-template-columns:1fr; gap:0;}
  .ct-send{width:100%;}
  .ct-quick{flex-direction:column; gap:14px; padding:22px 18px;}
  .ct-cn-grid{grid-template-columns:repeat(2,1fr); gap:12px;}
  .ct-info > div{grid-template-columns:1fr; gap:6px;}
  .ct-info dd{padding-left:42px;}
  .ct-regions h2{font-size:24px;}
}
.ct-chips{display:flex; flex-wrap:wrap; gap:10px; margin:0 0 22px;}
.ct-chip{font:inherit; font-size:13px; font-weight:600; padding:8px 16px; border-radius:999px; border:1px solid #cfd8ea; background:#fff; color:var(--navy); cursor:pointer; transition:background .15s,color .15s,border-color .15s;}
.ct-chip:hover{border-color:var(--navy);}
.ct-chip.on{background:var(--navy); color:#fff; border-color:var(--navy);}
.ct-cn[hidden]{display:none;}
.ct-more{display:flex; justify-content:center; margin-top:24px;}
.ct-more[hidden]{display:none;}
.ct-morebtn{background:#fff; color:var(--navy); border:1.5px solid var(--navy); padding:11px 24px; border-radius:8px;}
.ct-morebtn:hover{background:var(--navy); color:#fff;}
.ct-tools{display:flex; flex-direction:column; gap:16px; margin:0 0 24px;}
.ct-tools .ct-chips{margin:0; display:flex; flex-wrap:nowrap; justify-content:space-between; gap:8px;}
.ct-tools .ct-chip{flex:1 1 auto; text-align:center; padding:9px 10px; font-size:13px; white-space:nowrap;}
@media (max-width:1180px){.ct-tools .ct-chips{flex-wrap:wrap; justify-content:flex-start;} .ct-tools .ct-chip{flex:0 0 auto; padding:8px 16px;}}
.ct-search{position:relative; flex:0 0 auto; width:100%; max-width:380px; display:block;}
.ct-search svg{position:absolute; left:13px; top:50%; transform:translateY(-50%); color:#7b88a4; pointer-events:none;}
.ct-search input{width:100%; padding:10px 14px 10px 40px; border:1px solid #cfd8ea; border-radius:999px; font-size:14px; background:#fff;}
.ct-search input:focus{outline:0; border-color:var(--blue); box-shadow:0 0 0 3px rgba(11,61,145,.14);}
.ct-none{margin:10px 0 0; padding:22px; text-align:center; color:var(--muted); background:#fff; border:1px dashed #cfd8ea; border-radius:12px;}
.ct-none[hidden]{display:none;}
.ct-flag img{display:block; width:46px; height:46px; border-radius:50%; box-shadow:0 0 0 1px rgba(11,31,63,.14);}

#form{scroll-margin-top:16px;}

/* ---------- Home: How It Works ---------- */
.hiw{padding:64px 0 76px; background:linear-gradient(180deg,#fff 0%,#f6f8fc 100%);}
.hiw-bar{display:block; width:92px; height:3px; border-radius:2px; background:#c8941f; margin:0 auto 20px;}
.hiw h2{text-align:center; margin:0 0 10px; font-size:clamp(28px,4vw,42px); line-height:1.15; color:var(--navy);}
.hiw-lead{text-align:center; margin:0 auto; max-width:760px; color:var(--muted); font-size:16.5px; line-height:1.55;}
.hiw .container{max-width:1400px; padding-left:28px; padding-right:28px;}
.hiw-grid{list-style:none; margin:0; padding:52px 0 0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:46px;}
.hiw-step{position:relative; display:flex;}
.hiw-card{position:relative; flex:1 1 auto; background:#fff; border:1px solid #e4eaf4; border-radius:16px; box-shadow:0 12px 30px rgba(11,31,63,.08); padding:62px 12px 30px; text-align:center;}
.hiw-num{position:absolute; z-index:2; top:-26px; left:50%; transform:translateX(-50%); width:52px; height:52px; border-radius:50%; background:linear-gradient(145deg,#e0ad33,#b07a10); color:#fff; font-weight:800; font-size:24px; display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 5px #fff,0 6px 14px rgba(176,122,16,.35);}
.hiw-ic{display:inline-flex; width:128px; height:128px; border-radius:50%; background:#eef2fb; align-items:center; justify-content:center; margin-bottom:14px;}
.hiw-ic svg{width:76px; height:76px;}
.hiw-card h3{margin:0 0 12px; font-size:24px; color:var(--navy);}
.hiw-card p{margin:0; font-size:clamp(11.5px,0.94vw,13.5px); line-height:1.85; color:#4a5878;}
.hiw-card p span{display:block;}
.hiw-arrow{position:absolute; top:52%; right:-43px; width:40px; height:24px; display:flex; align-items:center; justify-content:center; pointer-events:none;}
@media (max-width:1100px){.hiw-grid{grid-template-columns:repeat(2,minmax(0,1fr)); gap:56px 28px;} .hiw-arrow{display:none;}}
@media (max-width:600px){.hiw{padding:48px 0 56px;} .hiw-grid{grid-template-columns:1fr; gap:50px;} .hiw-ic{width:100px; height:100px;}}
@media (max-width:1100px){.hiw-card p{font-size:14px;}}

/* Pricing page */
.pr2{padding:56px 0 72px; background:linear-gradient(180deg,#fff 0%,#f7f9fe 100%);}
.pr2 .container{max-width:1400px; padding:0 28px;}
.pr2 h1{text-align:center; margin:0 0 12px; font-size:clamp(30px,4.4vw,46px); line-height:1.1; color:var(--navy);}
.pr2-lead{text-align:center; margin:0 auto 26px; color:var(--muted); font-size:16px; line-height:1.6;}
.pr2-lead span{display:block;}
.pr2 .cur-toggle{margin:0 auto 34px; padding:5px; box-shadow:0 4px 14px rgba(20,39,90,.06);}
.pr2 .cur-toggle a{padding:10px 26px; font-size:15px; font-weight:700; color:var(--muted);}
.pr2 .cur-toggle a.active{background:var(--navy); color:#e0a82a;}
.pr2-note{max-width:760px; margin:0 auto 24px; text-align:center;}
.pr2-grid{display:grid; grid-template-columns:1fr; gap:22px;}
@media (min-width:680px){.pr2-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (min-width:1180px){.pr2-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
.pr2-card{background:#fff; border:1px solid #e8edf6; border-radius:16px; padding:24px 18px 18px; box-shadow:0 8px 26px rgba(20,39,90,.07); display:flex; flex-direction:column; align-items:center; text-align:center;}
.pr2-ic{width:104px; height:104px; border-radius:50%; background:#e9eefb; display:flex; align-items:center; justify-content:center; margin-bottom:14px;}
.pr2-ic svg{width:60px; height:60px; display:block;}
.pr2-card h3{margin:0 0 8px; font-size:clamp(18px,1.55vw,21px); line-height:1.25; color:var(--navy);}
.pr2-desc{margin:0 0 18px; color:var(--muted); font-size:14.5px; line-height:1.55; flex:1;}
.pr2-tiers{display:grid; grid-template-columns:1fr 1fr; gap:12px; width:100%;}
.pr2-tier{border-radius:12px; padding:16px 8px 14px; min-width:0;}
.pr2-tier.std{background:#fdf5e6;}
.pr2-tier.exp{background:#eaf2fe;}
.pr2-tl{display:flex; align-items:center; justify-content:center; gap:7px; font-weight:700; font-size:15px; color:var(--ink);}
.pr2-tl svg{width:20px; height:20px; flex:0 0 auto;}
.pr2-tier.std .pr2-tl svg{color:#c8941f;}
.pr2-tier.exp .pr2-tl{color:#0b4fc4;}
.pr2-tier.exp .pr2-tl svg{color:#1d6bf3;}
.pr2-price{margin:12px 0 10px; font-size:clamp(20px,1.9vw,27px); font-weight:800; color:var(--navy); line-height:1.1; font-variant-numeric:tabular-nums; white-space:nowrap;}
.pr2-price .price-request{font-size:15px; font-weight:700; color:var(--muted);}
.pr2-days{border-top:1px solid rgba(20,39,90,.1); padding-top:10px; font-size:13.5px; color:var(--muted);}
.pr2-plans-h{text-align:center; margin:48px 0 20px; color:var(--navy);}
@media (max-width:560px){.pr2{padding:40px 0 52px;} .pr2 .container{padding:0 16px;}}

/* Pricing: instant currency switch + everything visible in one screen on desktop */
.pr2 .c-usd{display:none;}
.pr2[data-cur="usd"] .c-usd{display:inline;}
.pr2[data-cur="usd"] .c-inr{display:none;}
@media (min-width:1180px){
  .pr2{padding:30px 0 40px;}
  .pr2 .hiw-bar{margin-bottom:12px; width:76px;}
  .pr2 h1{font-size:clamp(30px,3.4vw,40px); margin-bottom:8px;}
  .pr2-lead{font-size:15px; line-height:1.5; margin-bottom:16px;}
  .pr2 .cur-toggle{margin-bottom:22px; padding:4px;}
  .pr2 .cur-toggle a{padding:8px 24px; font-size:14.5px;}
  .pr2-card{padding:18px 16px 16px;}
  .pr2-ic{width:76px; height:76px; margin-bottom:10px;}
  .pr2-ic svg{width:44px; height:44px;}
  .pr2-card h3{font-size:clamp(17px,1.4vw,20px); margin-bottom:6px;}
  .pr2-desc{font-size:13.5px; line-height:1.5; margin-bottom:14px;}
  .pr2-tier{padding:12px 8px 11px;}
  .pr2-tl{font-size:14px;}
  .pr2-price{margin:8px 0 8px; font-size:clamp(19px,1.7vw,25px);}
  .pr2-days{padding-top:8px; font-size:13px;}
}
@media (min-width:1180px) and (max-height:760px){
  .pr2{padding:20px 0 28px;}
  .pr2 .hiw-bar{display:none;}
  .pr2-ic{width:60px; height:60px; margin-bottom:8px;}
  .pr2-ic svg{width:36px; height:36px;}
  .pr2-desc{margin-bottom:10px;}
}

/* ===== Public header: gold wordmark + active page underline ===== */
.public-header{background:var(--navy); border-bottom:1px solid rgba(255,255,255,.07);}
.public-header .brand .bt{font-weight:700; color:#f0b429;}
.public-header .brand .bt b{color:#fff;}
.public-header nav a{position:relative;}
.public-header nav a.active:not(.cta){color:#fff;}
.public-header nav a.active:not(.cta)::after{content:""; position:absolute; left:0; right:0; bottom:-9px; height:2px; border-radius:2px; background:#f0b429;}
.public-header.is-scrolled nav a.active:not(.cta)::after{bottom:-7px;}
@media (max-width:900px){
  .public-header nav a.active:not(.cta){color:#f0b429;}
  .public-header nav a.active:not(.cta)::after{display:none;}
}

/* ===== Globe banner (Home + Verify a Credential) ===== */
.hero.hero-globe{position:relative; overflow:hidden; isolation:isolate; padding:64px 0 118px;
  background:radial-gradient(1100px 460px at 50% -8%,rgba(46,108,214,.42),transparent 62%),linear-gradient(180deg,#030f2b 0%,#04122f 100%);}
.hero.hero-globe::before{content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(90deg,rgba(104,160,240,.5) 0%,rgba(104,160,240,.1) 30%,rgba(104,160,240,0) 46%,rgba(104,160,240,0) 54%,rgba(104,160,240,.1) 70%,rgba(104,160,240,.5) 100%);
  -webkit-mask:url(../img/map-dots.svg) 50% 6%/118% auto no-repeat; mask:url(../img/map-dots.svg) 50% 6%/118% auto no-repeat;}
.hero-deco{position:absolute; inset:0; z-index:-1; pointer-events:none; overflow:hidden;}
.hero-arcs{position:absolute; left:50%; top:0; width:max(100%,1400px); transform:translateX(-50%); opacity:.9; z-index:1;}
.hero-earth{position:absolute; left:50%; width:max(100%,1100px); transform:translateX(-50%); top:calc(36% - max(100vw,1100px) * .1125); bottom:0;
  background:#041029 url(../img/hero-earth.jpg) center top/100% auto no-repeat;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 90px); mask-image:linear-gradient(to bottom,transparent 0,#000 90px);}
.hero-verify .hero-earth{top:calc(60% - max(100vw,1100px) * .1125);}
.hero-home.hero-globe::before{display:none;}
.hero-globe .hero-in{position:relative;}
.hero.hero-globe h1{font-size:clamp(34px,5.2vw,62px); line-height:1.08; font-weight:800; letter-spacing:-.5px; margin:0 auto 18px; max-width:980px; text-shadow:0 4px 28px rgba(0,10,40,.45);}
.hero-globe h1 .h1-a{display:block; color:#fff;}
.hero-globe h1 .hl{display:block; color:#f6c445;}
.hero.hero-globe p{color:rgba(255,255,255,.9); max-width:780px; font-size:clamp(15px,1.45vw,18.5px); line-height:1.65;}
.hero-globe .hp-hero-note{margin-top:18px; font-size:15px; color:rgba(255,255,255,.88);}
.rg-chips{display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:30px;}
.rg-chip{display:inline-flex; align-items:center; gap:10px; padding:8px 22px 8px 14px; border:1.5px solid rgba(255,255,255,.26); border-radius:999px; background:rgba(7,26,66,.6); color:#fff !important; font-size:15px; line-height:1; text-decoration:none; transition:border-color .15s,background .15s,color .15s;}
.rg-chip .rg-ic{width:28px; height:28px; color:rgba(255,255,255,.88); flex:0 0 auto; transition:color .15s;}
.rg-chip:hover,.rg-chip:focus-visible{border-color:#f6c445; background:rgba(246,196,69,.1); color:#ffe29a !important; text-decoration:none;}
.rg-chip:hover .rg-ic,.rg-chip:focus-visible .rg-ic{color:#f6c445;}
/* side words + facts (wide screens only) */
.hero-side{position:absolute; z-index:1; display:none; margin:0; padding:0; list-style:none;}
.hero-side-l{left:max(32px,4.5vw); top:74px; white-space:pre-line; text-transform:uppercase; letter-spacing:.42em; font-size:15px; line-height:2.2; color:rgba(255,255,255,.5); text-align:left;}
.hero-side-l i{display:block; width:42px; height:1px; margin-top:20px; background:rgba(255,255,255,.4);}
.hero-side-r{right:max(32px,4.5vw); top:66px; text-align:left;}
.hero-side-r li{display:flex; align-items:center; gap:14px; margin-bottom:20px; color:rgba(255,255,255,.9);}
.hero-side-r svg{width:46px; height:46px; flex:0 0 auto; opacity:.9;}
.hero-side-r b{display:block; font-size:18px; line-height:1.2; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:#fff;}
.hero-side-r em{display:block; font-style:normal; font-size:12.5px; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.62); margin-top:2px;}
@media (min-width:1320px){.hero-side{display:block;}}
/* search card */
.verify-box.vb2{max-width:760px; padding:18px; border-radius:18px; border:0; box-shadow:0 18px 50px rgba(3,14,45,.32);}
.vb2 form{display:flex; gap:14px; align-items:stretch;}
.vb2 .vb-field{position:relative; flex:1; min-width:0; display:block; margin:0;}
.vb2 .vb-ic{position:absolute; left:17px; top:50%; transform:translateY(-50%); color:#0b1f4d; pointer-events:none;}
.vb2 input{width:100%; height:54px; padding:0 16px 0 52px; border:1px solid #dde5f1; border-radius:11px; background:#fafbfe; font-size:16px; color:var(--ink);}
.vb2 input:focus{outline:2px solid #f6c445; outline-offset:1px; border-color:#f6c445; background:#fff;}
.vb2 .vb-btn{display:inline-flex; align-items:center; gap:10px; height:54px; padding:0 30px; border-radius:11px; background:var(--navy); color:#fff; font-size:16.5px; font-weight:700; border:0;}
.vb2 .vb-btn:hover{background:var(--navy-2); color:#fff;}
.vb2.vb-in{margin:30px auto 0; position:relative;}
.hero-verify.hero-globe{padding:62px 0 70px;}
.hero-verify .hero-lead{margin:0 auto; max-width:700px; font-size:clamp(15px,1.5vw,19px);}
.hero-verify h1{margin-bottom:14px;}
.hero-verify h1 .h1-a,.hero-verify h1 .hl{display:inline;}
.h1-ul .hl{position:relative; display:inline-block !important;}
.h1-ul .hl::after{content:""; position:absolute; left:12%; right:12%; bottom:-12px; height:4px; border-radius:3px; background:#f6c445;}
@media (max-width:900px){
  .hero.hero-globe{padding:44px 0 96px;}
  .hero-verify.hero-globe{padding:42px 0 52px;}
  .rg-chips{gap:9px;}
  .rg-chip{padding:7px 16px 7px 11px; font-size:14px;}
  .rg-chip .rg-ic{width:24px; height:24px;}
}
@media (max-width:560px){
  .vb2 form{flex-direction:column;}
  .vb2 .vb-btn{justify-content:center;}
  .verify-box.vb2{padding:14px; margin-top:-44px;}
  .verify-box.vb2.vb-in{margin-top:26px;}
}

/* ===== Result page ===== */
.rs-page{position:relative; overflow:hidden; isolation:isolate; padding:46px 0 84px; background:linear-gradient(180deg,#f8fbff 0%,#e8f0fb 100%);}
.rs-page::before{content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(90deg,rgba(120,160,215,.55) 0%,rgba(120,160,215,.16) 30%,rgba(120,160,215,.0) 44%,rgba(120,160,215,0) 56%,rgba(120,160,215,.16) 70%,rgba(120,160,215,.55) 100%);
  -webkit-mask:url(../img/map-dots.svg) 50% 10%/118% auto no-repeat; mask:url(../img/map-dots.svg) 50% 10%/118% auto no-repeat;}
.rs-page::after{content:""; position:absolute; left:50%; bottom:0; width:170%; aspect-ratio:1/1; transform:translate(-50%,86%); border-radius:50%; z-index:-1; pointer-events:none;
  background:radial-gradient(circle at 50% 2%,#fff 0%,#d3e3f8 8%,#bcd3f1 40%,#a9c6ec 100%); box-shadow:0 0 60px 10px rgba(255,255,255,.9);}
.rs-card{max-width:880px; margin:0 auto; background:#fff; border:1px solid #dfe8f5; border-radius:22px; padding:14px; box-shadow:0 22px 60px rgba(20,50,110,.16);}
.rs-body{display:block;}
.rs-body > .empty-state,.rs-body > p,.rs-body > .result-row,.rs-body > div:not(.rs-banner):not(.rs-rows):not(.rs-qr){padding-left:18px; padding-right:18px;}
.rs-body > .empty-state{padding-top:28px; padding-bottom:28px; text-align:center;}
.rs-banner{display:flex; align-items:center; gap:26px; padding:24px 34px; border-radius:14px; color:#fff; position:relative; overflow:hidden;
  background:radial-gradient(520px 200px at 85% -20%,rgba(70,130,230,.35),transparent 70%),linear-gradient(135deg,var(--navy) 0%,var(--navy-3) 100%);}
.rs-shield{flex:none; display:flex; filter:drop-shadow(0 4px 10px rgba(0,0,0,.3));}
.rs-bdiv{flex:none; width:1px; align-self:stretch; background:rgba(255,255,255,.55); margin:6px 0;}
.rs-bt{display:flex; flex-direction:column; gap:8px; min-width:0;}
.rs-bt strong{font-size:clamp(26px,3.6vw,40px); line-height:1.1; font-weight:800; letter-spacing:-.3px; color:#fff;}
.rs-bt small{font-size:15.5px; line-height:1.4; color:rgba(255,255,255,.88);}
.rs-rows{padding:10px 24px 4px;}
.rs-row{display:flex; align-items:center; gap:18px; padding:13px 0; border-bottom:1px solid #e6edf7; min-height:62px;}
.rs-row:last-child{border-bottom:0;}
.rs-ico{flex:none; width:46px; height:46px; border-radius:12px; background:#eef3fb; color:#0b1f4d; display:flex; align-items:center; justify-content:center;}
.rs-ico svg{width:23px; height:23px;}
.rs-lab{flex:1; min-width:0; font-size:18px; color:#5b6b8c;}
.rs-val{flex:none; width:44%; display:flex; align-items:center; gap:12px; font-size:18px; font-weight:700; color:#0b1f4d; text-align:left; min-width:0; word-break:break-word;}
.rs-copy{flex:none; width:34px; height:34px; border:0; border-radius:8px; background:transparent; color:#0b1f4d; cursor:pointer; display:inline-flex; align-items:center; justify-content:center;}
.rs-copy:hover{background:#eef3fb;}
.rs-copy.done{color:#1c7a45;}
.rs-pill{display:inline-flex; align-items:center; gap:10px; padding:7px 20px 7px 8px; border-radius:999px; font-weight:700; font-size:18px;}
.rs-pill.ok{background:#dff5e8; color:#17703f;}
.rs-pill.warn{background:#fdf0d2; color:#8a5a12;}
.rs-pill.bad{background:#fde5e2; color:#a8281c;}
.rs-qr{display:flex; align-items:center; gap:34px; margin:14px 10px 10px; padding:18px 26px; border:1px solid #dfe8f5; border-radius:14px; background:linear-gradient(180deg,#f7faff,#eff5fd); justify-content:center;}
.rs-qrimg{flex:none; background:#fff; padding:8px; border-radius:10px; display:flex;}
.rs-qrimg img{display:block; width:150px; height:150px;}
.rs-vdiv{flex:none; width:1px; align-self:stretch; background:#d3dff0; margin:10px 0;}
.rs-qt{max-width:300px;}
.rs-qt strong{display:block; font-size:22px; color:#0b1f4d; margin-bottom:8px;}
.rs-qt p{margin:0; font-size:16px; line-height:1.5; color:#5b6b8c;}
@media (max-width:640px){
  .rs-page{padding:26px 0 56px;}
  .rs-card{padding:10px; border-radius:18px;}
  .rs-banner{gap:14px; padding:18px 16px;}
  .rs-shield svg{width:48px; height:48px;}
  .rs-rows{padding:6px 8px 2px;}
  .rs-row{gap:12px; flex-wrap:wrap; padding:11px 0;}
  .rs-ico{width:40px; height:40px;}
  .rs-lab{font-size:15px; flex:1 1 40%;}
  .rs-val{width:auto; flex:1 1 100%; padding-left:52px; font-size:16px; margin-top:-6px;}
  .rs-qr{flex-direction:column; gap:14px; padding:18px; text-align:center;}
  .rs-vdiv{display:none;}
}

/* ===== Home banner: everything (headline, chips, search card) fits one screen ===== */
.hero.hero-home{min-height:calc(100vh - 57px); display:flex; flex-direction:column; justify-content:center; padding:clamp(22px,4vh,48px) 0 clamp(54px,8vh,84px);}
.hero-home .hero-in{width:100%; z-index:2;}
.hero.hero-home h1{font-size:clamp(30px,min(4.6vw,7.4vh),60px); margin-bottom:clamp(10px,2vh,18px);}
.hero.hero-home p{font-size:clamp(14.5px,min(1.3vw,2.5vh),18px); line-height:1.55; max-width:920px;}
.hero-home .rg-chips{margin-top:clamp(14px,3vh,26px);}
.hero-home .hp-hero-note{margin-top:clamp(8px,1.6vh,14px);}
.hero-home .vb-in{margin-top:clamp(14px,3.2vh,28px);}
.hero.hero-verify{min-height:calc(100vh - 57px); display:flex; flex-direction:column; justify-content:center; padding:clamp(24px,5vh,56px) 0 clamp(40px,7vh,72px);}
.hero-verify .hero-in{width:100%; z-index:2;}
@media (max-width:900px){.hero.hero-home,.hero.hero-verify{min-height:0;} .hero.hero-home{padding:40px 0 64px;} .hero.hero-verify{padding:40px 0 56px;}}

/* ===== Result page: whole result visible in one screen ===== */
@media (min-width:901px){
  .rs-page{padding:24px 0 36px;}
  .rs-card{max-width:820px; padding:10px;}
  .rs-banner{gap:20px; padding:16px 28px;}
  .rs-shield svg{width:52px; height:52px;}
  .rs-bt{gap:5px;}
  .rs-bt strong{font-size:clamp(24px,2.6vw,32px);}
  .rs-bt small{font-size:14.5px;}
  .rs-rows{padding:4px 20px 2px;}
  .rs-row{min-height:0; padding:8px 0; gap:16px;}
  .rs-ico{width:40px; height:40px; border-radius:10px;}
  .rs-ico svg{width:21px; height:21px;}
  .rs-lab,.rs-val{font-size:16.5px;}
  .rs-pill{font-size:16px; padding:5px 18px 5px 6px;}
  .rs-qr{margin:8px 6px 4px; padding:12px 22px; gap:26px;}
  .rs-qrimg{padding:6px;}
  .rs-qrimg img{width:108px; height:108px;}
  .rs-qt strong{font-size:19px; margin-bottom:4px;}
  .rs-qt p{font-size:14.5px;}
}
@media (min-width:901px) and (max-height:720px){
  .rs-page{padding:16px 0 24px;}
  .rs-banner{padding:12px 24px;}
  .rs-shield svg{width:44px; height:44px;}
  .rs-row{padding:6px 0;}
  .rs-ico{width:36px; height:36px;}
  .rs-lab,.rs-val{font-size:15.5px;}
  .rs-qr{padding:8px 20px;}
  .rs-qrimg img{width:92px; height:92px;}
}

/* ===== Photo background for Home + Verify banners (desktop image / mobile image) ===== */
.hero.hero-globe{background:linear-gradient(180deg,rgba(2,9,28,.28) 0%,rgba(2,9,28,0) 38%,rgba(2,9,28,.12) 100%),#020a1f url(../img/hero-bg-desktop.jpg) center bottom/cover no-repeat;}
.hero.hero-globe::before{display:none !important;}
@media (max-width:700px){
  .hero.hero-globe{background:linear-gradient(180deg,rgba(2,9,28,.2) 0%,rgba(2,9,28,0) 40%),#020a1f url(../img/hero-bg-mobile.jpg) center bottom/cover no-repeat;}
}

/* ===== Menu jumps (About / Services / How It Works): each section fills exactly one screen ===== */
@media (min-width:901px){
  #about,.svc2,.hiw{min-height:calc(100vh - 57px); display:flex; flex-direction:column; justify-content:center; box-sizing:border-box;}
  /* About */
  #about.section{padding-top:clamp(16px,3.5vh,40px); padding-bottom:clamp(16px,3.5vh,40px);}
  #about .hp-about{width:100%; gap:clamp(28px,3.4vw,44px);}
  #about .hp-eyebrow{margin-bottom:clamp(2px,.6vh,6px);}
  #about .hp-about h2{font-size:clamp(22px,min(2.2vw,4.2vh),28px); margin-bottom:clamp(6px,1.2vh,10px);}
  #about .lead2{font-size:clamp(13.5px,min(1.1vw,2.3vh),15.5px); line-height:1.55; margin-bottom:clamp(10px,2vh,18px);}
  #about .hp-points{margin-bottom:clamp(12px,2.6vh,22px);}
  #about .hp-points li{margin-bottom:clamp(7px,1.7vh,14px);}
  #about .hp-points span{font-size:clamp(12.5px,min(1vw,2vh),13.5px); line-height:1.45;}
  #about .hp-sample{padding:clamp(16px,3.4vh,30px) 30px clamp(14px,3vh,26px);}
  #about .hp-sample .vr-banner{margin-bottom:clamp(4px,1vh,10px);}
  #about .hp-sample dt,#about .hp-sample dd{padding:clamp(7px,1.6vh,13px) 0;}
  #about .hp-sample .qr{margin-top:clamp(6px,1.4vh,14px); padding-top:clamp(10px,2vh,20px);}
  #about .hp-sample .qr svg{width:clamp(60px,10.5vh,88px); height:clamp(60px,10.5vh,88px);}
  /* Services */
  .svc2{padding:clamp(18px,4vh,48px) 0;}
  .svc2 .hiw-bar{margin-bottom:clamp(8px,2vh,20px);}
  .svc2 h2{font-size:clamp(26px,min(3.4vw,6vh),42px); margin-bottom:clamp(4px,1vh,10px);}
  .svc2-lead{margin-bottom:clamp(16px,3.6vh,40px); font-size:clamp(14px,min(1.2vw,2.4vh),16.5px);}
  .svc2-grid{gap:clamp(12px,2.4vh,22px);}
  .svc2-card{padding:clamp(14px,2.6vh,22px) 26px;}
  .svc2-ic{width:clamp(76px,15vh,110px); height:clamp(76px,15vh,110px);}
  .svc2-ic svg{width:clamp(48px,10vh,72px); height:clamp(48px,10vh,72px);}
  .svc2-desc{margin-bottom:clamp(8px,1.8vh,14px); font-size:clamp(13.5px,2.1vh,15px);}
  .svc2-pill{padding:clamp(6px,1.2vh,9px) 16px;}
  /* How it works */
  .hiw{padding:clamp(18px,4vh,48px) 0;}
  .hiw .hiw-bar{margin-bottom:clamp(8px,2vh,20px);}
  .hiw h2{font-size:clamp(26px,min(3.4vw,6vh),42px); margin-bottom:clamp(4px,1vh,10px);}
  .hiw-lead{font-size:clamp(14px,min(1.2vw,2.4vh),16.5px);}
  .hiw-grid{padding-top:clamp(34px,6vh,52px);}
  .hiw-card{padding:clamp(40px,6.6vh,62px) 12px clamp(14px,3vh,30px);}
  .hiw-ic{width:clamp(76px,16vh,128px); height:clamp(76px,16vh,128px); margin-bottom:clamp(8px,1.6vh,14px);}
  .hiw-ic svg{width:60%; height:60%;}
  .hiw-card h3{font-size:clamp(20px,3.5vh,24px); margin-bottom:clamp(6px,1.4vh,12px);}
  .hiw-card p{line-height:1.7;}
}
/* readable text on the photo banner */
.hero.hero-globe p,.hero-globe .hp-hero-note{text-shadow:0 2px 14px rgba(0,8,30,.85);}

/* Result: banner centred; QR centred with its title below (no description line) */
.rs-banner{justify-content:center;}
.rs-qr{flex-direction:column; align-items:center; justify-content:center; gap:8px; text-align:center;}
.rs-qr .rs-qt{display:block; max-width:none; font-size:20px; font-weight:700; color:#0b1f4d; margin:0;}
@media (min-width:901px){
  .rs-qr{padding:10px 22px 12px; gap:6px;}
  .rs-qrimg img{width:104px; height:104px;}
  .rs-qr .rs-qt{font-size:18px;}
}
@media (min-width:901px) and (max-height:720px){
  .rs-qrimg img{width:88px; height:88px;}
  .rs-qr{padding:8px 20px 10px;}
}

/* ===== Result page: portrait card, fits one screen on every device ===== */
.rs-page{min-height:calc(100vh - 57px); display:flex; align-items:center; padding:clamp(12px,3vh,32px) 0 !important;}
.rs-page > .container{width:100%;}
.rs-card{max-width:430px !important; width:100%; padding:8px !important; border-radius:20px;}
.rs-banner{flex-direction:column; text-align:center; gap:clamp(4px,1vh,8px) !important; padding:clamp(12px,2.6vh,22px) 18px !important;}
.rs-bdiv{display:none !important;}
.rs-shield svg{width:clamp(36px,6.4vh,52px) !important; height:clamp(36px,6.4vh,52px) !important;}
.rs-bt{align-items:center; gap:4px !important;}
.rs-bt strong{font-size:clamp(22px,3.6vh,28px) !important;}
.rs-bt small{font-size:clamp(12.5px,1.9vh,14px) !important; line-height:1.35;}
.rs-rows{padding:2px 14px !important;}
.rs-row{flex-wrap:nowrap !important; gap:12px !important; padding:clamp(5px,1.2vh,10px) 0 !important; min-height:0 !important;}
.rs-ico{width:clamp(30px,4.8vh,38px) !important; height:clamp(30px,4.8vh,38px) !important; border-radius:10px !important;}
.rs-ico svg{width:19px !important; height:19px !important;}
.rs-lab{flex:1 1 auto !important; font-size:clamp(13.5px,2vh,15px) !important;}
.rs-val{width:auto !important; flex:0 1 auto !important; margin:0 !important; padding:0 !important; justify-content:flex-end; text-align:right; font-size:clamp(14px,2.1vh,16px) !important; gap:6px !important;}
.rs-copy{width:28px; height:28px;}
.rs-pill{font-size:14.5px !important; padding:4px 14px 4px 5px !important; gap:7px !important;}
.rs-pill svg{width:22px; height:22px;}
.rs-qr{margin:6px 2px 2px !important; padding:clamp(8px,1.6vh,14px) 14px clamp(8px,1.6vh,12px) !important;}
.rs-qrimg{padding:5px !important;}
.rs-qrimg img{width:clamp(76px,13vh,112px) !important; height:clamp(76px,13vh,112px) !important;}
.rs-qr .rs-qt{font-size:17px !important;}
.rs-lab{white-space:nowrap;}
#rs-vid{white-space:nowrap;}
@media (max-width:480px){
  .rs-page{align-items:flex-start;}
  .rs-card{padding:6px !important;}
  .rs-rows{padding:0 8px !important;}
  .rs-row{gap:9px !important; padding:clamp(4px,1vh,9px) 0 !important;}
  .rs-ico{width:28px !important; height:28px !important;}
  .rs-ico svg{width:16px !important; height:16px !important;}
  .rs-lab{font-size:13.5px !important;}
  .rs-val{font-size:14px !important;}
  .rs-copy{width:24px; height:24px;}
  .rs-banner{padding:clamp(10px,2vh,18px) 14px !important;}
  .rs-shield svg{width:clamp(32px,5vh,44px) !important; height:clamp(32px,5vh,44px) !important;}
  .rs-bt strong{font-size:clamp(20px,3.2vh,26px) !important;}
  .rs-qrimg img{width:clamp(68px,11vh,104px) !important; height:clamp(68px,11vh,104px) !important;}
  .rs-qr{padding:8px 10px 10px !important;}
}

/* ===== Verify pages: light photo background (desktop image / mobile image), shown whole ===== */
.hero.hero-verify.hero-globe{background:#eaf3ff url(../img/verify-bg-desktop.jpg) center/cover no-repeat;}
.hero-verify.hero-globe h1{text-shadow:none; color:#0b1f4d;}
.hero-verify.hero-globe h1 .h1-a{color:#0b1f4d;}
.hero-verify.hero-globe h1 .hl{color:#c8941f;}
.h1-ul .hl::after{background:#c8941f;}
.hero-verify.hero-globe p,.hero-verify.hero-globe .hero-lead{color:#33466b; text-shadow:none;}
.hero-verify.hero-globe .hp-hero-note{color:#33466b; text-shadow:none; background:rgba(255,255,255,.7); display:inline-block; padding:6px 16px; border-radius:999px;}
.hero-verify.hero-globe .rg-chip{background:rgba(255,255,255,.88); border-color:#cfdcf0; color:#0b1f4d !important; box-shadow:0 4px 14px rgba(40,80,150,.1);}
.hero-verify.hero-globe .rg-chip .rg-ic{color:#1b3d86;}
.hero-verify.hero-globe .verify-box.vb2{box-shadow:0 18px 50px rgba(30,70,140,.22); border:1px solid #d6e3f5;}
.rs-page{background:#eaf3ff url(../img/verify-bg-desktop.jpg) center/cover no-repeat !important;}
.rs-page::before,.rs-page::after{display:none !important;}
@media (max-width:700px){
  .hero.hero-verify.hero-globe,.rs-page{background-image:url(../img/verify-bg-mobile.jpg) !important; background-color:#eaf3ff; background-size:cover; background-position:center;}
  .hero.hero-verify.hero-globe{min-height:calc(100vh - 57px) !important; padding:clamp(150px,27vh,230px) 0 40px !important; justify-content:flex-start !important;}
}
@media (min-width:701px) and (max-width:900px){
  .hero.hero-verify.hero-globe{min-height:calc(100vh - 57px); justify-content:center;}
}
@media (max-width:900px) and (orientation:portrait){
  .hero.hero-verify.hero-globe,.rs-page{background-image:url(../img/verify-bg-mobile.jpg) !important; background-color:#eaf3ff; background-size:cover; background-position:center;}
  .hero.hero-verify.hero-globe{justify-content:flex-start !important; padding-top:clamp(150px,27vh,300px) !important;}
}

/* ===== One theme colour: header, footer, buttons and banners all use --navy (Branding setting) ===== */
:root{--hdr:57px;}
@media (max-width:900px){:root{--hdr:51px;}}
.public-header{transition:background-color .25s ease, box-shadow .2s ease;}
/* Pages that start with a photo banner (Home, Verify, Verify result): menu floats over it at 75%, solid after scrolling */
.pub-hero .public-header{margin-bottom:calc(var(--hdr) * -1); background:var(--navy); background:color-mix(in srgb,var(--navy) 75%,transparent); border-bottom-color:rgba(255,255,255,.12);}
.pub-hero .public-header.is-scrolled{background:var(--navy);}
@media (max-width:900px){.pub-hero .public-header:has(nav.open),.pub-hero .public-header:has(#public-nav.open){background:var(--navy);}}
.pub-hero .hero.hero-home,.pub-hero .hero.hero-verify,.pub-hero .rs-page{box-sizing:border-box;}
@media (min-width:901px){
  .pub-hero .hero.hero-home{min-height:100vh; padding-top:calc(var(--hdr) + clamp(22px,4vh,48px));}
  .pub-hero .hero.hero-verify{min-height:100vh; padding-top:calc(var(--hdr) + clamp(24px,5vh,56px));}
  .pub-hero .rs-page{min-height:100vh; padding-top:calc(var(--hdr) + clamp(12px,3vh,32px)) !important;}
}
@media (max-width:900px){
  .pub-hero .hero.hero-home{padding-top:calc(var(--hdr) + 40px);}
  .pub-hero .hero.hero-verify{padding-top:calc(var(--hdr) + 40px);}
  .pub-hero .rs-page{padding-top:calc(var(--hdr) + 16px) !important; min-height:100vh;}
}
@media (min-width:701px) and (max-width:900px){.pub-hero .hero.hero-verify.hero-globe{min-height:100vh;}}
@media (max-width:900px) and (orientation:portrait){.pub-hero .hero.hero-verify.hero-globe{padding-top:calc(var(--hdr) + clamp(150px,27vh,300px)) !important; min-height:100vh !important;}}
@media (max-width:700px){.pub-hero .hero.hero-verify.hero-globe{padding-top:calc(var(--hdr) + clamp(150px,27vh,230px)) !important; min-height:100vh !important;}}
.pub-hero .hero-side-l{top:calc(var(--hdr) + 74px);}
.pub-hero .hero-side-r{top:calc(var(--hdr) + 66px);}

/* DEMO example result */
.rs-demo{margin:8px 14px 0; padding:5px 12px; border-radius:8px; background:#fff7e0; border:1px solid #f0d58a; color:#7a5200; font-size:13px; font-weight:700; text-align:center; letter-spacing:.02em;}
.hp-sample .qr .hp-qrlink{flex:none; display:block; background:#fff; border:1px solid var(--border); border-radius:8px; padding:4px;}
.hp-sample .qr .hp-qrlink img{display:block; width:72px; height:72px;}
@media (max-height:700px){
  .rs-demo{margin-top:4px; padding:3px 10px; font-size:12px;}
  .rs-row{padding-top:clamp(3px,.8vh,6px) !important; padding-bottom:clamp(3px,.8vh,6px) !important;}
  .rs-banner{padding-top:clamp(8px,1.6vh,14px) !important; padding-bottom:clamp(8px,1.6vh,14px) !important;}
  .rs-qrimg img{width:clamp(62px,10vh,88px) !important; height:clamp(62px,10vh,88px) !important;}
  .rs-qr{padding:6px 14px 8px !important;}
}

/* ===== Testimonials (Home) ===== */
.tm{position:relative; overflow:hidden; isolation:isolate; padding:64px 0 56px; background:linear-gradient(180deg,#f8fbff 0%,#f1f6fe 100%);}
.tm-bg{position:absolute; inset:0; z-index:-1; pointer-events:none;}
.tm-map{position:absolute; inset:-2% -4% 38% -4%; background:linear-gradient(90deg,rgba(104,150,222,.55),rgba(104,150,222,.28) 50%,rgba(104,150,222,.55));
  -webkit-mask:url(../img/map-dots.svg) 50% 0/100% auto no-repeat; mask:url(../img/map-dots.svg) 50% 0/100% auto no-repeat; opacity:.38;}
.tm-chip{position:absolute; display:inline-flex; align-items:center; gap:8px; padding:6px 16px 6px 6px; border-radius:999px; background:rgba(255,255,255,.85); box-shadow:0 8px 24px rgba(60,100,170,.14); font-size:13px; font-weight:600; letter-spacing:.03em; text-transform:uppercase; color:#1b2f5c; white-space:nowrap;}
.tm-chip img{width:28px; height:28px; display:block; border-radius:50%;}
.tm-dot{position:absolute; width:11px; height:11px; border-radius:50%; background:#5f8be0; box-shadow:0 0 0 6px rgba(95,139,224,.16);}
.tm-in{position:relative; max-width:1240px;}
.tm-eyebrow{display:flex; align-items:center; justify-content:center; gap:18px; margin-bottom:6px; color:#4b5b7d; font-size:14px; font-weight:600; letter-spacing:.3em; text-transform:uppercase;}
.tm-eyebrow::before,.tm-eyebrow::after{content:""; width:46px; height:1.5px; background:#8da2cc;}
.tm h2{text-align:center; margin:0 0 8px; font-size:clamp(28px,3.6vw,46px); line-height:1.15; color:var(--navy); font-weight:800;}
.tm-sub{text-align:center; margin:0 auto 34px; max-width:760px; color:#4b5b7d; font-size:clamp(15px,1.4vw,19px);}
.tm-viewport{overflow:hidden; padding:8px 0 40px; margin:0 0 -14px;}
.tm-track{--per:3; display:flex; gap:22px; transition:transform .6s cubic-bezier(.4,0,.2,1);}
.tm-card{position:relative; flex:0 0 calc((100% - (var(--per) - 1) * 22px) / var(--per)); box-sizing:border-box; background:#fff; border:1px solid #e3ebf8; border-radius:18px; padding:26px 28px 24px; box-shadow:0 14px 30px -10px rgba(50,90,160,.22),0 2px 6px rgba(50,90,160,.06); display:flex; flex-direction:column;}
.tm-stars{display:flex; gap:4px; margin-bottom:14px;}
.tm-stars svg{width:22px; height:22px; fill:#f2a900;}
.tm-q{position:absolute; top:24px; right:26px; width:42px; height:36px; fill:#c3d2ee;}
.tm-card blockquote{margin:0 0 22px; flex:1; font-size:clamp(15px,1.25vw,17.5px); line-height:1.65; font-style:italic; color:#1c2a4a;}
.tm-who{display:flex; align-items:center; gap:16px;}
.tm-ico{flex:none; width:58px; height:58px; border-radius:14px; background:#e8effc; color:#0b1f4d; display:flex; align-items:center; justify-content:center;}
.tm-ico svg{width:30px; height:30px;}
.tm-meta{display:flex; flex-direction:column; gap:2px; min-width:0; padding-left:16px; border-left:1.5px solid #dbe4f3;}
.tm-meta b{font-size:16.5px; color:#0b1f4d; line-height:1.25;}
.tm-meta em{font-style:normal; font-size:14.5px; color:#5b6b8c; line-height:1.3;}
.tm-ctry{display:inline-flex; align-items:center; gap:8px; font-size:14.5px; color:#5b6b8c;}
.tm-flag{width:20px; height:20px; border-radius:50%; display:block;}
.tm-pager{display:flex; justify-content:center; gap:9px; margin:0 0 26px;}
.tm-pager button{width:10px; height:10px; padding:0; border:0; border-radius:50%; background:#c3d2ee; cursor:pointer; transition:background .2s,width .2s;}
.tm-pager button.on{background:#0b3d91; width:26px; border-radius:6px;}
.tm-stats{list-style:none; margin:0 auto; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); max-width:1040px;}
.tm-stats li{display:flex; align-items:center; gap:16px; padding:6px 22px; justify-content:center;}
.tm-stats li + li{border-left:1px solid #d7e1f2;}
.tm-sic{flex:none; width:62px; height:62px; border-radius:50%; background:#e6eefb; color:#0b1f4d; display:flex; align-items:center; justify-content:center;}
.tm-sic svg{width:32px; height:32px;}
.tm-stats b{display:block; font-size:clamp(22px,2.2vw,30px); line-height:1.1; color:#0b1f4d; font-weight:800;}
.tm-stats em{display:block; font-style:normal; font-size:15px; color:#4b5b7d; margin-top:2px;}
@media (max-width:1050px){.tm-chip{display:none;} .tm-chip:nth-of-type(-n+3){display:none;}}
@media (max-width:700px){
  .tm{padding:44px 0 40px;}
  .tm-eyebrow{font-size:12px; letter-spacing:.22em;}
  .tm-eyebrow::before,.tm-eyebrow::after{width:24px;}
  .tm-card{padding:22px 20px 20px;}
  .tm-stats{grid-template-columns:1fr 1fr; row-gap:18px;}
  .tm-stats li{padding:4px 8px; gap:12px;}
  .tm-stats li + li{border-left:0;}
  .tm-sic{width:50px; height:50px;} .tm-sic svg{width:26px; height:26px;}
}
@media (prefers-reduced-motion:reduce){.tm-track{transition:none;}}

/* ===== Figures strip (under client feedback) ===== */
.fg{background:linear-gradient(180deg,#f1f6fe 0%,#fff 100%); padding:26px 0 34px;}
.fg-in{display:flex; align-items:center; gap:24px; max-width:1320px;}
.fg-line{flex:1 1 40px; min-width:24px; height:1.5px; background:linear-gradient(90deg,transparent,#9fb2d6);}
.fg-line:last-child{background:linear-gradient(90deg,#9fb2d6,transparent);}
.fg-list{list-style:none; margin:0; padding:0; display:flex; align-items:center; justify-content:center; gap:clamp(24px,4.4vw,72px); flex:0 1 auto;}
.fg-list li{display:flex; align-items:center; gap:14px;}
.fg-ic{flex:none; color:#c8941f; display:flex;}
.fg-ic svg{width:clamp(40px,3.4vw,52px); height:clamp(40px,3.4vw,52px);}
.fg-tx b{display:block; font-size:clamp(22px,2.3vw,32px); line-height:1.1; color:#0b1f4d; font-weight:800;}
.fg-tx em{display:block; font-style:normal; font-size:clamp(13px,1.1vw,15.5px); color:#5b6b8c; margin-top:2px;}
@media (max-width:1000px){
  .fg-line{display:none;}
  .fg-list{flex-wrap:wrap; justify-content:center; gap:20px 36px;}
}
@media (max-width:560px){
  .fg-list{display:grid; grid-template-columns:1fr 1fr; gap:20px 10px; width:100%;}
  .fg-list li{gap:10px;}
  .fg-ic svg{width:36px; height:36px;}
}

/* ===== Page loading bar (gold, directly under the menu bar) ===== */
.public-header .pl-bar{position:absolute; left:0; right:0; top:100%; height:3px; overflow:hidden; pointer-events:none; opacity:0; transition:opacity .25s ease; z-index:2;}
.public-header .pl-bar.on{opacity:1;}
.public-header .pl-bar i{display:block; height:100%; width:0; background:linear-gradient(90deg,#d99a12,#f0b429 60%,#ffd977); box-shadow:0 0 8px rgba(240,180,41,.75); border-radius:0 2px 2px 0; transition:width .2s ease-out;}
@media (prefers-reduced-motion:reduce){.public-header .pl-bar i{transition:none;}}
@media print{.public-header .pl-bar{display:none;}}

/* ===== Portal shell (all signed-in roles): navy sidebar with icons, search top bar, Command Center look ===== */
body.shell-pro{background:#f3f6fb;}
body.shell-pro .sidebar{width:244px; background:linear-gradient(180deg,#0b1f3f 0%,#0a1a36 100%); border-right:1px solid rgba(255,255,255,.06);}
body.shell-pro .sidebar .brand{padding:16px 18px; border-bottom:0; min-height:68px;}
body.shell-pro .sidebar .brand a{display:block; line-height:0;}
body.shell-pro .sidebar .brand .bt{font-size:17px; letter-spacing:.3px;}
body.shell-pro .sidebar .role-label{padding:14px 24px 8px; font-size:10.5px; letter-spacing:1.4px; opacity:.55;}
body.shell-pro .sidebar nav{padding:0 10px 12px;}
body.shell-pro .sidebar nav a{border-left:0; border-radius:9px; padding:10px 14px; margin-bottom:2px; gap:13px; font-size:14px; color:rgba(255,255,255,.82);}
body.shell-pro .sidebar nav a .ui-i{flex:none; opacity:.9;}
body.shell-pro .sidebar nav a:hover{background:rgba(255,255,255,.07);}
body.shell-pro .sidebar nav a.active{background:linear-gradient(90deg,#c59a4e,#b5883f); color:#fff; font-weight:600; box-shadow:0 4px 12px rgba(181,136,63,.28);}
body.shell-pro .sidebar .sb-user{border-top:1px solid rgba(255,255,255,.1); padding:14px 14px 16px;}
body.shell-pro .sb-who{display:flex; align-items:center; gap:11px; margin-bottom:10px; min-width:0;}
body.shell-pro .sb-who > div{min-width:0;}
body.shell-pro .sb-who strong{display:block; font-size:13.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
body.shell-pro .sb-av{flex:none; width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.14); display:grid; place-items:center; font-weight:700; font-size:14px;}
body.shell-pro .sidebar .user-box .ub-email{font-size:11.5px; opacity:.8; word-break:normal; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
body.shell-pro .sidebar .user-box form{margin:0;}
body.shell-pro .sidebar .user-box button.sb-logout{display:flex; align-items:center; gap:13px; width:100%; background:transparent; padding:10px 14px; border-radius:9px; font-size:14px; text-align:left; color:rgba(255,255,255,.82);}
body.shell-pro .sidebar .user-box button.sb-logout:hover{background:rgba(255,255,255,.07); color:#fff;}

body.shell-pro .topbar.tb-admin{padding:12px 28px; gap:18px; background:rgba(255,255,255,.92); backdrop-filter:blur(6px); border-bottom:1px solid #e3e9f3; justify-content:flex-start;}
body.shell-pro .tb-admin .page-title{font-size:17px; flex:none;}
body.shell-pro .tb-admin .menu-toggle{padding:0; line-height:0; color:var(--ink);}
body.shell-pro .tb-search{position:relative; flex:1 1 auto; max-width:560px; margin:0 auto 0 4px;}
body.shell-pro .tb-search .ui-i{position:absolute; left:13px; top:50%; transform:translateY(-50%); color:#7a8aa8; pointer-events:none;}
body.shell-pro .tb-search input{width:100%; height:40px; border:1px solid #e1e8f3; background:#fff; border-radius:10px; padding:0 14px 0 39px; font:inherit; font-size:13.5px; color:var(--ink); box-shadow:0 1px 2px rgba(16,24,40,.04);}
body.shell-pro .tb-search input:focus{outline:0; border-color:#c59a4e; box-shadow:0 0 0 3px rgba(197,154,78,.2);}
body.shell-pro .tb-admin .topbar-right{margin-left:auto; gap:20px; flex:none;}
body.shell-pro .tb-bell{position:relative; display:grid; place-items:center; color:#33425f; line-height:0;}
body.shell-pro .tb-bell .dot{position:absolute; top:-6px; right:-7px; background:#e5484d; color:#fff; font-size:10px; font-weight:700; min-width:17px; height:17px; border-radius:9px; display:grid; place-items:center; padding:0 4px; line-height:1;}
body.shell-pro details.tb-user{position:relative;}
body.shell-pro details.tb-user summary{list-style:none; display:flex; align-items:center; gap:10px; cursor:pointer; color:var(--ink);}
body.shell-pro details.tb-user summary::-webkit-details-marker{display:none;}
body.shell-pro .tb-av{width:38px; height:38px; border-radius:50%; background:linear-gradient(135deg,#5b3fd1,#3f2bb0); color:#fff; display:grid; place-items:center; font-weight:700; font-size:15px;}
body.shell-pro .tb-nm{display:flex; flex-direction:column; line-height:1.2; text-align:left;}
body.shell-pro .tb-nm strong{font-size:13.5px;}
body.shell-pro .tb-nm small{font-size:11.5px; color:var(--muted);}
body.shell-pro .tb-menu{position:absolute; right:0; top:calc(100% + 10px); min-width:210px; background:#fff; border:1px solid #e3e9f3; border-radius:12px; box-shadow:0 14px 34px rgba(16,24,40,.16); padding:6px; z-index:30;}
body.shell-pro .tb-menu a,body.shell-pro .tb-menu button{display:flex; align-items:center; gap:10px; width:100%; padding:9px 12px; border:0; background:none; border-radius:8px; font:inherit; font-size:13.5px; color:var(--ink); cursor:pointer; text-align:left; text-decoration:none;}
body.shell-pro .tb-menu a:hover,body.shell-pro .tb-menu button:hover{background:#f1f5fb; text-decoration:none;}
body.shell-pro .tb-menu form{margin:0;}
body.shell-pro .content{padding:22px 28px 36px;}
@media (max-width:900px){
  body.shell-pro .sidebar{width:260px;}
  body.shell-pro .tb-admin .menu-toggle{display:block;}
  body.shell-pro .topbar.tb-admin{padding:10px 14px; gap:10px;}
  body.shell-pro .tb-nm,body.shell-pro details.tb-user summary > .ui-i{display:none;}
  body.shell-pro .content{padding:16px 14px 28px;}
}
@media (max-width:520px){ body.shell-pro .tb-search{display:none;} body.shell-pro .tb-admin .page-title.sr-only{position:static; width:auto; height:auto; clip:auto; margin:0; font-size:16px;} }
body.shell-pro .sidebar .brand .bt{color:#f0b429; font-weight:700; font-size:17px;}
body.shell-pro .sidebar .brand .bt b{color:#fff;}

/* ===== Pro dashboard components (Command Center, Applicant dashboard, ...) ===== */
.cc-wrap{--cc-ink:#142447; --cc-mut:#64749a; --cc-line:#e6ecf5; --cc-card:#fff; --cc-r:14px; --cc-sh:0 1px 2px rgba(16,24,40,.04),0 4px 14px rgba(16,40,90,.05); max-width:1500px; margin:0 auto;}
.cc-wrap *{box-sizing:border-box;}
.cc-top{display:flex; justify-content:space-between; align-items:flex-start; gap:16px 24px; flex-wrap:wrap; margin-bottom:18px;}
.cc-top h2{font-size:30px; line-height:1.15; margin:0 0 5px; color:var(--cc-ink); letter-spacing:-.4px;}
.cc-top p{margin:0; font-size:14px; color:var(--cc-mut); max-width:640px;}
.cc-tools{display:flex; align-items:center; gap:14px; flex-wrap:wrap;}
.cc-date{display:inline-flex; align-items:center; gap:9px; font-size:14px; font-weight:600; color:var(--cc-ink);}
.cc-date .ui-i{color:var(--cc-ink);}
.cc-sel{position:relative;}
.cc-sel select{appearance:none; -webkit-appearance:none; height:42px; border:1px solid var(--cc-line); background:#fff; border-radius:10px; padding:0 38px 0 16px; font:inherit; font-size:14px; font-weight:500; color:var(--cc-ink); cursor:pointer; box-shadow:var(--cc-sh);}
.cc-sel .ui-i{position:absolute; right:12px; top:50%; transform:translateY(-50%); pointer-events:none; color:var(--cc-mut);}
.cc-esc{display:flex; align-items:center; gap:10px; background:#fff5f4; border:1px solid #f6cfcb; border-left:4px solid #d9382c; color:#8a2018; padding:11px 16px; border-radius:10px; margin-bottom:16px; font-size:13.5px;}
.cc-esc a{font-weight:600; color:#8a2018; text-decoration:underline;}

.cc-card{background:var(--cc-card); border:1px solid var(--cc-line); border-radius:var(--cc-r); box-shadow:var(--cc-sh); min-width:0;}
.cc-sec{padding:18px 20px 20px; margin-top:16px;}
.cc-sh{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px;}
.cc-sh h3{display:flex; align-items:center; gap:11px; margin:0; font-size:17px; color:var(--cc-ink);}
.cc-sh h3 .ui-i{color:var(--cc-ink);}
.cc-more{display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:600; color:#1d5fd1; white-space:nowrap;}
.cc-more:hover{text-decoration:none; color:#0b3d91;}

/* tones */
.t-blue{--tc:#2563eb; --tb:#eaf1ff; --tl:#f5f8ff;} .t-sky{--tc:#0e86d4; --tb:#e4f3fc; --tl:#f3faff;}
.t-amber{--tc:#e08a00; --tb:#fff0d4; --tl:#fffaf0;} .t-violet{--tc:#6d4be0; --tb:#efeaff; --tl:#f8f6ff;}
.t-green{--tc:#14a05f; --tb:#dff6ea; --tl:#f2fbf6;} .t-red{--tc:#df3a3a; --tb:#fde6e6; --tl:#fff6f6;}
.t-teal{--tc:#0d9488; --tb:#d9f5f1; --tl:#f2fbfa;} .t-indigo{--tc:#4f46e5; --tb:#e8e8ff; --tl:#f5f5ff;} .t-slate{--tc:#64748b; --tb:#e8edf4; --tl:#f6f8fb;}

/* KPI */
.cc-kpis{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px;}
.cc-kpi{position:relative; overflow:hidden; padding:20px 20px 18px; display:grid; grid-template-columns:auto minmax(0,1fr); gap:0 16px; align-content:start; min-height:152px;}
.cc-kic{width:58px; height:58px; border-radius:50%; background:var(--tc); color:#fff; display:grid; place-items:center; box-shadow:0 6px 14px color-mix(in srgb,var(--tc) 35%,transparent);}
.cc-kl{font-size:11.5px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; color:var(--cc-ink); align-self:center;}
.cc-kv{font-size:32px; font-weight:800; letter-spacing:-.6px; color:var(--cc-ink); line-height:1.1; margin:2px 0 0; word-break:break-word;}
.cc-ks{font-size:13px; color:var(--cc-mut); margin-top:3px; line-height:1.35;}
.cc-ks a{color:var(--cc-mut);}
.cc-kbody{grid-column:1 / -1; margin-top:10px; padding-right:130px; min-height:44px; display:flex; flex-direction:column; justify-content:flex-end;}
.cc-kmain{grid-column:2; min-width:0;}
.cc-spark{position:absolute; right:14px; bottom:14px; width:42%; max-width:170px; height:56px; pointer-events:none;}
.cc-deltas{display:flex; align-items:center; gap:7px; flex-wrap:wrap; margin-top:7px;}
.cc-delta{display:inline-flex; align-items:center; gap:4px; font-size:11.5px; font-weight:700; padding:2px 8px; border-radius:6px;}
.cc-delta.up{background:#dff6ea; color:#0f7a47;} .cc-delta.down{background:#fde6e6; color:#b42318;} .cc-delta.flat{background:#eef1f6; color:#5b6b8c;}
.cc-vs{font-size:10.5px; color:#8a97b3;}

/* pipeline + people */
.cc-pipe{display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:26px;}
.cc-pt{position:relative; display:flex; align-items:center; gap:14px; padding:16px 16px; border-radius:12px; background:var(--tl); border:1px solid color-mix(in srgb,var(--tc) 14%,#fff); color:var(--cc-ink); min-width:0; transition:transform .15s, box-shadow .15s;}
.cc-pt:hover{text-decoration:none; transform:translateY(-1px); box-shadow:0 8px 20px rgba(16,40,90,.09);}
.cc-pipe .cc-pt{padding:14px 12px; gap:11px;}
.cc-pt .ci{flex:none; width:48px; height:48px; border-radius:50%; background:var(--tb); color:var(--tc); display:grid; place-items:center;}
.cc-pt .v{font-size:25px; font-weight:800; line-height:1.05; letter-spacing:-.4px;}
.cc-pt .l{font-size:13.5px; font-weight:500; color:var(--cc-ink); line-height:1.25; margin-top:2px;}
.cc-pt .s{font-size:12px; color:var(--cc-mut); margin-top:1px; line-height:1.25;}
.cc-pipe .cc-pt:not(:last-child)::after{content:""; position:absolute; right:-19px; top:50%; width:8px; height:8px; margin-top:-4px; border-top:2px solid #8aa0cc; border-right:2px solid #8aa0cc; transform:rotate(45deg);}
.cc-people{display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px;}
.cc-people .cc-pt{padding:14px 14px; gap:12px;}
.cc-people .cc-pt .ci{width:44px; height:44px;}
.cc-people .cc-pt .v{font-size:23px;}
.cc-people .cc-pt .l{font-size:13px; font-weight:600;}

/* charts row */
.cc-row2{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:16px; margin-top:16px; align-items:stretch;}
.cc-row2 .cc-sec{margin-top:0; display:flex; flex-direction:column;}
.cc-row2 .cc-donut{flex:1;}
.cc-donut{display:flex; align-items:center; gap:26px; flex-wrap:wrap; justify-content:center;}
.cc-dsvg{flex:none; width:210px; height:210px; position:relative;}
.cc-dsvg svg{width:100%; height:100%; transform:rotate(-90deg);}
.cc-dmid{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;}
.cc-dmid b{font-size:34px; line-height:1; color:var(--cc-ink); letter-spacing:-.5px;} .cc-dmid span{font-size:13px; color:var(--cc-mut); margin-top:3px;}
.cc-leg{flex:1 1 220px; min-width:200px; display:flex; flex-direction:column; gap:2px;}
.cc-leg .r{display:grid; grid-template-columns:14px minmax(0,1fr) auto 54px; gap:10px; align-items:center; padding:7px 0; border-bottom:1px dashed #edf1f8; font-size:13.5px;}
.cc-leg .r:last-child{border-bottom:0;}
.cc-leg i{width:11px; height:11px; border-radius:3px; display:block;}
.cc-leg .n{font-weight:700; text-align:right;} .cc-leg .p{color:var(--cc-mut); text-align:right; font-size:12.5px;}
.cc-tabs{display:inline-flex; align-self:flex-start; background:#eef2f9; border-radius:10px; padding:3px; gap:2px; margin-bottom:8px;}
.cc-tabs button{border:0; background:none; font:inherit; font-size:13px; font-weight:600; color:var(--cc-mut); padding:7px 16px; border-radius:8px; cursor:pointer;}
.cc-tabs button[aria-selected="true"]{background:#0b1f3f; color:#fff; box-shadow:0 2px 6px rgba(11,31,63,.3);}
.cc-line{width:100%; height:auto; display:block;}
.cc-ax{font-size:11.5px; fill:#6b7a99;}
.cc-rsum{display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin:0 0 4px;}
.cc-rsum b{font-size:24px; color:var(--cc-ink); letter-spacing:-.4px;} .cc-rsum span{font-size:12.5px; color:var(--cc-mut);}

/* case progress (short and clean) */
.cp-list{list-style:none; margin:0; padding:0;}
.cp-row{display:grid; grid-template-columns:minmax(0,290px) minmax(0,1fr) auto; gap:18px 26px; align-items:center; padding:16px 0; border-top:1px solid var(--cc-line);}
.cp-row:first-child{border-top:0; padding-top:4px;}
.cp-id{display:flex; align-items:center; gap:13px; min-width:0; padding-right:22px; border-right:1px solid var(--cc-line); height:100%;}
.cp-id .fi{flex:none; width:44px; height:44px; border-radius:11px; background:#eef3fb; color:#43557d; display:grid; place-items:center;}
.cp-id b{display:block; font-size:14.5px; color:var(--cc-ink); letter-spacing:.1px;}
.cp-id a{color:inherit;} .cp-id a:hover{text-decoration:none; color:#1d5fd1;}
.cp-id small{display:block; font-size:12.5px; color:var(--cc-mut); margin-top:1px; line-height:1.3;}
.cp-main{min-width:0;}
.cp-head{display:flex; align-items:center; gap:11px; font-weight:700; font-size:14.5px; color:var(--cc-ink); margin-bottom:10px;}
.cp-badge{flex:none; width:32px; height:32px; border-radius:50%; color:#fff; display:grid; place-items:center; background:#2f6fed;}
.cp-badge.done{background:#19a463;}
.cp-steps{list-style:none; margin:0; padding:0; display:flex; max-width:560px;}
.cp-steps li{flex:1 1 0; position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; min-width:0;}
.cp-steps li::before{content:""; position:absolute; top:9px; left:-50%; width:100%; height:2px; background:#e0e7f3;}
.cp-steps li:first-child::before{display:none;}
.cp-steps li.done::before{background:#19a463;} .cp-steps li.current::before{background:linear-gradient(90deg,#19a463,#2f6fed);}
.cp-steps .d{position:relative; z-index:1; width:20px; height:20px; border-radius:50%; display:grid; place-items:center; background:#e9eef7; color:#9aa7c2; font-size:10.5px; font-weight:700;}
.cp-steps li.done .d{background:#19a463; color:#fff;}
.cp-steps li.current .d{background:#fff; border:5px solid #2f6fed; box-shadow:0 0 0 3px rgba(47,111,237,.18);}
.cp-steps .t{margin-top:7px; font-size:11px; line-height:1.25; color:#7b89a8; padding:0 3px;}
.cp-steps li.current .t{color:var(--cc-ink); font-weight:600;} .cp-steps li.done .t{color:#56668a;}
.cp-last{font-size:12.5px; color:var(--cc-mut); margin-top:10px;} .cp-last b{color:#3c4d73;}
.cp-go{display:inline-flex; align-items:center; gap:9px; border:1px solid #2f6fed; color:#1d5fd1; background:#fff; border-radius:10px; padding:10px 18px; font-size:13.5px; font-weight:600; white-space:nowrap;}
.cp-go:hover{background:#f1f6ff; text-decoration:none;}

/* recent */
.cc-row3{display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:16px; margin-top:16px; align-items:stretch;}
.cc-row3 .cc-sec{margin-top:0;}
.cc-tw{overflow-x:auto; margin:0 -20px -6px; padding:0 20px 6px;}
.cc-tbl{width:100%; border-collapse:collapse; font-size:13.5px; min-width:600px;}
.cc-tbl th{text-align:left; padding:10px 10px; background:#f4f7fc; color:#5b6b8c; font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; white-space:nowrap;}
.cc-tbl th:first-child{border-radius:8px 0 0 8px;} .cc-tbl th:last-child{border-radius:0 8px 8px 0;}
.cc-tbl td{padding:12px 10px; border-bottom:1px solid #edf1f8; vertical-align:middle; white-space:nowrap;}
.cc-tbl tr:last-child td{border-bottom:0;} .cc-tbl tbody tr:hover td{background:#fafcff;}
.cc-tbl .id{font-weight:700; color:var(--cc-ink);} .cc-tbl .id:hover{color:#1d5fd1; text-decoration:none;}
.cc-tbl .who{display:block; font-weight:600; color:var(--cc-ink); max-width:190px; overflow:hidden; text-overflow:ellipsis;}
.cc-tbl .svc{display:inline-flex; align-items:center; gap:9px; max-width:190px;} .cc-tbl .svc span{overflow:hidden; text-overflow:ellipsis;}
.cc-tbl .svc i{flex:none; width:30px; height:30px; border-radius:8px; background:var(--tb); color:var(--tc); display:grid; place-items:center;}
.cc-tbl .dt{color:#3c4d73;} .cc-tbl .dt small{display:block; color:#8a97b3; font-size:11.5px;}
.cc-act{list-style:none; margin:0; padding:0;}
.cc-act li{position:relative; display:grid; grid-template-columns:40px minmax(0,1fr) auto; gap:4px 14px; align-items:center; padding:11px 0;}
.cc-act li + li{border-top:1px solid #f0f3f9;}
.cc-act li:not(:last-child)::after{content:""; position:absolute; left:19px; top:51px; bottom:-10px; width:2px; background:#e8edf6;}
.cc-act .ai{position:relative; width:40px; height:40px; border-radius:50%; background:var(--tc); color:#fff; display:grid; place-items:center; z-index:1;}
.cc-act .cc-tx{min-width:0;} .cc-act .cc-tx b{display:block; font-size:14px; color:var(--cc-ink);}
.cc-act .cc-tx span{display:block; font-size:12.5px; color:var(--cc-mut); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.cc-act .cc-tm{text-align:right; font-size:12.5px; color:#3c4d73; white-space:nowrap;} .cc-act .cc-tm small{display:block; color:#8a97b3; font-size:11.5px;}
.cc-act .by{grid-column:3; grid-row:1; display:none;}
.cc-who{display:inline-flex; align-items:center; gap:8px; background:#f4f7fc; border-radius:10px; padding:6px 12px 6px 7px; margin-left:8px; font-size:12.5px; line-height:1.15; white-space:nowrap;}
.cc-who i{font-style:normal; width:26px; height:26px; border-radius:50%; background:#5b3fd1; color:#fff; display:grid; place-items:center; font-size:11.5px; font-weight:700;}
.cc-who b{display:block; font-size:12.5px;} .cc-who small{display:block; color:#7b89a8; font-size:11px;}
.cc-empty{padding:34px 10px; text-align:center; color:var(--cc-mut);} .cc-empty h4{margin:0 0 4px; color:var(--cc-ink);}


body.shell-pro .sidebar .sb-pw{display:block; margin:-2px 0 6px; padding:2px 14px 6px 62px; font-size:11.5px; color:rgba(255,255,255,.7); text-decoration:underline;}
body.shell-pro .sidebar .sb-pw:hover{color:#fff;}
body.shell-pro .tb-admin .topbar-right{margin-left:auto;}
body.shell-pro .tb-nosearch .page-title:not(.sr-only){margin-right:auto;}

/* Applicant dashboard pieces */
.cc-stats{display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px;}
a.cc-stat{position:relative; overflow:hidden; display:flex; align-items:center; gap:14px; padding:16px 18px; min-height:98px; color:var(--cc-ink); transition:transform .15s, box-shadow .15s;}
a.cc-stat:hover{text-decoration:none; transform:translateY(-1px); box-shadow:0 8px 20px rgba(16,40,90,.09);}
.cc-stat .cc-kic{flex:none; width:52px; height:52px; position:relative; z-index:1;}
.cc-sv{position:relative; z-index:1; display:flex; flex-direction:column; min-width:0;}
.cc-sv b{font-size:28px; line-height:1.05; font-weight:800; letter-spacing:-.4px; color:var(--cc-ink);}
.cc-sv span{font-size:13.5px; color:#3c4d73; margin-top:3px; line-height:1.25;}
.cc-stat .cc-spark{right:0; bottom:0; width:46%; height:52px; opacity:.9;}
.cc-cta{margin:16px 0 0;}
.cc-cta .btn{display:inline-flex; align-items:center; gap:9px; padding:12px 22px; border-radius:10px; font-size:14.5px; font-weight:600;}
.cc-row3.cc-row3-even{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
.cc-idl{display:inline-flex; align-items:center; gap:9px; font-weight:600; color:var(--cc-ink);}
.cc-idl .ui-i{color:#5a73b0; flex:none;}
a.cc-idl:hover{text-decoration:none; color:#1d5fd1;}
.cc-dots{width:36px; text-align:right;} .cc-dots a{color:#5b6b8c; display:inline-grid; place-items:center; width:30px; height:30px; border-radius:8px;} .cc-dots a:hover{background:#eef2f9; color:var(--cc-ink);}
.cc-tbl .badge{font-weight:600;}

.cc-row3.cc-row3-even{grid-template-columns:minmax(0,11fr) minmax(0,9fr);}
.cc-tbl td:nth-child(3) .badge{white-space:normal; display:inline-block; line-height:1.3; text-align:left;}
.cc-row3-even .cc-tbl td:nth-child(3){white-space:normal; min-width:130px; max-width:200px;}

/* ===== Start a verification (Applicant, Employer / Recruiter, University / Institution) ===== */
.sv-wrap .cc-top{margin-bottom:12px;}
.sv-steps{list-style:none; margin:4px 0 20px; padding:0; display:flex; gap:0;}
.sv-steps li{flex:1 1 0; position:relative; display:flex; align-items:flex-start; gap:12px; min-width:0; padding-right:14px;}
.sv-steps li::after{content:""; position:absolute; top:17px; left:46px; right:8px; height:3px; border-radius:3px; background:#e3e9f4;}
.sv-steps li:last-child::after{display:none;}
.sv-steps li.done::after{background:#2f6fed;}
.sv-steps li.active::after{background:linear-gradient(90deg,#2f6fed 0 55%,#e3e9f4 55%);}
.sv-steps .n{position:relative; z-index:1; flex:none; width:36px; height:36px; border-radius:50%; display:grid; place-items:center; background:#e3e9f4; color:#5b6b8c; font-weight:700; font-size:14px;}
.sv-steps li.active .n{background:#1d63ee; color:#fff; box-shadow:0 0 0 4px rgba(29,99,238,.16);}
.sv-steps li.done .n{background:#19a463; color:#fff;}
.sv-steps .tx{display:flex; flex-direction:column; padding-top:44px; margin-left:-48px; min-width:0;}
.sv-steps .tx b{font-size:14.5px; color:var(--cc-ink,#142447);} .sv-steps .tx small{font-size:12.5px; color:var(--cc-mut,#64749a); margin-top:2px; line-height:1.3;}
.sv-steps li.todo .tx b{color:#3c4d73;}
.sv-grid{display:grid; grid-template-columns:minmax(0,1.04fr) minmax(0,1fr); gap:18px; align-items:stretch;}
.sv-card,.sv-info{padding:0; overflow:hidden; display:flex; flex-direction:column;}
.sv-head,.sv-ih{display:flex; align-items:center; gap:14px; padding:18px 24px; border-bottom:1px solid var(--cc-line,#e6ecf5);}
.sv-head h3,.sv-ih h3{margin:0; font-size:19px; color:var(--cc-ink,#142447);} .sv-head p{margin:2px 0 0; font-size:13.5px; color:var(--cc-mut,#64749a);}
.sv-hic{flex:none; width:48px; height:48px; border-radius:12px; background:#eaf1ff; color:#2563eb; display:grid; place-items:center;}
.sv-form{padding:20px 24px 24px; display:flex; flex-direction:column; gap:18px; flex:1;}
.sv-f label:not(.sv-tier){display:block; font-weight:700; font-size:14.5px; color:var(--cc-ink,#142447); margin-bottom:7px;}
.sv-f .required{color:#d33;}
.sv-f select{width:100%; height:48px; border:1px solid #dbe3f0; border-radius:10px; padding:0 14px; font:inherit; font-size:15px; color:var(--cc-ink,#142447); background:#fff;}
.sv-f select:focus{outline:0; border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,.16);}
.sv-f small{display:block; margin-top:6px; font-size:13px; color:var(--cc-mut,#64749a); min-height:1.2em;}
.sv-tiers{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.sv-tier{position:relative; display:flex; gap:12px; border:1.5px solid #dbe3f0; border-radius:12px; padding:14px 14px 14px 12px; cursor:pointer; background:#fff; transition:border-color .15s, box-shadow .15s, background .15s; font-weight:400;}
.sv-tier input{position:absolute; opacity:0; pointer-events:none;}
.sv-tier .rd{flex:none; width:20px; height:20px; margin-top:2px; border-radius:50%; border:2px solid #aab7d0; background:#fff; position:relative;}
.sv-tier:has(input:checked){border-color:#2563eb; background:#f2f7ff; box-shadow:0 0 0 1px #2563eb inset;}
.sv-tier:has(input:checked) .rd{border-color:#2563eb;} .sv-tier:has(input:checked) .rd::after{content:""; position:absolute; inset:3px; border-radius:50%; background:#2563eb;}
.sv-tier:has(input:focus-visible){outline:2px solid #2563eb; outline-offset:2px;}
.sv-tier .tb{display:flex; flex-direction:column; min-width:0;}
.sv-tier .tt{display:flex; align-items:center; gap:9px;} .sv-tier .tt b{font-size:15px; color:var(--cc-ink,#142447);}
.sv-tier .ti{display:grid; place-items:center;} .sv-tier .ti-standard{color:#2563eb;} .sv-tier .ti-express{color:#f59e0b;}
.sv-tier .tp{font-size:24px; font-weight:800; letter-spacing:-.3px; color:var(--cc-ink,#142447); margin:5px 0 1px;}
.sv-tier .td{font-size:13.5px; color:var(--cc-mut,#64749a); margin-bottom:8px;}
.sv-tier ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:3px;}
.sv-tier li{display:flex; align-items:center; gap:8px; font-size:13.5px; color:#2d3d63;} .sv-tier li .ui-i{color:#19a463; flex:none;}
.sv-consent{display:flex; align-items:flex-start; gap:10px; font-size:14px; color:#2d3d63; cursor:pointer;}
.sv-consent input{width:18px; height:18px; margin-top:2px; flex:none;}
.sv-foot{display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-top:auto; padding-top:2px;}
.sv-go{display:inline-flex; align-items:center; gap:10px; padding:14px 26px; font-size:15px; font-weight:700; border-radius:10px;}
.sv-secure{display:inline-flex; align-items:center; gap:8px; font-size:13px; color:var(--cc-mut,#64749a);} .sv-secure .ui-i{color:#6b7a99;}
.sv-ih{justify-content:flex-start;} .sv-chip{margin-left:auto; display:inline-flex; align-items:center; gap:8px; background:#e8f1ff; color:#1d5fd1; font-weight:600; font-size:13.5px; padding:8px 14px; border-radius:9px; max-width:55%;}
.sv-chip svg{width:19px; height:19px; flex:none;}
.sv-desc{margin:0; padding:20px 24px 16px; font-size:15.5px; line-height:1.6; color:#2d3d63; border-bottom:1px solid var(--cc-line,#e6ecf5);}
.sv-rows{padding:6px 24px 2px; display:flex; flex-direction:column;}
.sv-row{display:flex; gap:16px; align-items:center; padding:16px 0; border-bottom:1px solid var(--cc-line,#e6ecf5);}
.sv-row:last-child{border-bottom:0;}
.sv-row[hidden]{display:none;}
.sv-row .ci{flex:none; width:56px; height:56px; border-radius:50%; background:var(--tb); color:var(--tc); display:grid; place-items:center;}
.sv-row b{display:block; font-size:15.5px; color:var(--cc-ink,#142447);} .sv-row p{margin:2px 0 0; font-size:14.5px; color:var(--cc-mut,#64749a);}
.sv-row .lst{display:flex; flex-wrap:wrap; gap:6px; margin-top:6px;} .sv-row .lst span{font-size:13px; background:#f1f5fb; border:1px solid #e3e9f4; color:#2d3d63; padding:3px 10px; border-radius:7px;}
.sv-trust{margin-top:auto; padding:14px 24px 20px; display:grid; gap:9px; background:#f8fafd; border-top:1px solid var(--cc-line,#e6ecf5);}
.sv-trust div{display:flex; gap:10px; align-items:flex-start; font-size:13px; color:var(--cc-mut,#64749a); line-height:1.4;} .sv-trust .ui-i{color:#19a463; flex:none; margin-top:1px;} .sv-trust b{color:var(--cc-ink,#142447);}

/* ===== Shared dashboard rows (every role): six-card variant ===== */
.cc-stats.n6{grid-template-columns:repeat(6,minmax(0,1fr));}
.cc-tbl td .sub{display:block; font-size:12.5px; color:var(--cc-mut); margin-top:1px;}
.cc-tbl td.num{font-variant-numeric:tabular-nums;}

/* ===== Compact sizing for every role (fits laptop screens at 125-150% display scaling) ===== */
body.shell-pro .sidebar{width:220px;}
body.shell-pro .sidebar .brand{padding:12px 16px; min-height:56px;}
body.shell-pro .sidebar .brand .bt{font-size:15.5px;}
body.shell-pro .sidebar .role-label{padding:10px 20px 6px; font-size:10px;}
body.shell-pro .sidebar nav{padding:0 9px 10px;}
body.shell-pro .sidebar nav a{padding:8px 12px; gap:11px; font-size:13.5px; margin-bottom:1px;}
body.shell-pro .sidebar nav a .ui-i{width:18px; height:18px;}
body.shell-pro .sidebar .sb-user{padding:10px 12px 12px;}
body.shell-pro .sb-who{margin-bottom:6px; gap:9px;}
body.shell-pro .sb-av{width:32px; height:32px; font-size:13px;}
body.shell-pro .sb-who strong{font-size:13px;}
body.shell-pro .sidebar .user-box .ub-email{font-size:11px;}
body.shell-pro .sidebar .sb-pw{padding:0 12px 4px 52px; font-size:11px; margin:-2px 0 2px;}
body.shell-pro .sidebar .user-box button.sb-logout{padding:8px 12px; font-size:13.5px; gap:11px;}
body.shell-pro .topbar.tb-admin{padding:8px 22px; gap:14px;}
body.shell-pro .tb-admin .page-title{font-size:15.5px;}
body.shell-pro .tb-search{max-width:480px;}
body.shell-pro .tb-search input{height:36px; font-size:13px; border-radius:9px;}
body.shell-pro .tb-av{width:34px; height:34px; font-size:14px;}
body.shell-pro .tb-nm strong{font-size:13px;} body.shell-pro .tb-nm small{font-size:11px;}
body.shell-pro .tb-admin .topbar-right{gap:16px;}
body.shell-pro .content{padding:16px 22px 26px;}
body.shell-pro:has(.sv-wrap) .tb-admin .page-title:not(.sr-only){display:none;}
.cc-wrap{--cc-r:12px;}
.cc-top{margin-bottom:12px; gap:10px 20px;}
.cc-top h2{font-size:25px; margin-bottom:3px;}
.cc-top p{font-size:13px;}
.cc-date{font-size:13px;}
.cc-sec{padding:14px 18px 16px; margin-top:14px;}
.cc-sh{margin-bottom:10px;} .cc-sh h3{font-size:15.5px; gap:9px;} .cc-more{font-size:12.5px;}
.cc-stats{gap:12px;}
a.cc-stat{min-height:80px; padding:12px 14px; gap:11px;}
.cc-stat .cc-kic{width:44px; height:44px;} .cc-stat .cc-kic .ui-i{width:21px; height:21px;}
.cc-sv b{font-size:24px !important;} .cc-sv span{font-size:12.5px;}
.cc-stat .cc-spark{height:44px;}
.cc-kpis{gap:12px;} .cc-kpi{min-height:126px; padding:15px 16px 14px; gap:0 12px;}
.cc-kic{width:48px; height:48px;} .cc-kv{font-size:27px;} .cc-kl{font-size:11px;} .cc-ks{font-size:12.5px;}
.cc-pt{padding:12px 13px; gap:11px;} .cc-pt .ci{width:40px; height:40px;} .cc-pt .v{font-size:22px;} .cc-pt .l{font-size:13px;}
.cc-people .cc-pt .ci{width:38px; height:38px;} .cc-people .cc-pt .v{font-size:21px;}
.cc-cta{margin-top:12px;} .cc-cta .btn{padding:9px 18px; font-size:13.5px; border-radius:9px;}
.cp-row{padding:12px 0; gap:12px 20px; grid-template-columns:minmax(0,260px) minmax(0,1fr) auto;}
.cp-id .fi{width:38px; height:38px;} .cp-id b{font-size:13.5px;} .cp-id small{font-size:12px;}
.cp-steps .t{font-size:10.5px; margin-top:5px;} .cp-steps .d{width:18px; height:18px;} .cp-steps li::before{top:8px;}
.cp-go{padding:8px 14px; font-size:13px; border-radius:9px;}
.cc-tbl{font-size:13px;} .cc-tbl th{padding:8px 9px; font-size:11px;} .cc-tbl td{padding:9px; } .cc-tbl .dt small{font-size:11px;}
.cc-tbl td .sub{font-size:12px;}
.cc-empty{padding:26px 14px;}
.cc-row3,.cc-row2{gap:12px; margin-top:12px;}
/* Start a verification */
.sv-wrap .cc-top{margin-bottom:6px;}
.sv-steps{margin:2px 0 14px;}
.sv-steps li::after{top:14px; left:40px; height:3px;}
.sv-steps .n{width:30px; height:30px; font-size:13px;}
.sv-steps .tx{padding-top:36px; margin-left:-40px;}
.sv-steps .tx b{font-size:13px;} .sv-steps .tx small{font-size:11.5px;}
.sv-grid{gap:14px;}
.sv-head,.sv-ih{padding:13px 20px; gap:12px;}
.sv-head h3,.sv-ih h3{font-size:16.5px;} .sv-head p{font-size:12.5px;}
.sv-hic{width:40px; height:40px; border-radius:10px;} .sv-hic .ui-i{width:21px; height:21px;}
.sv-form{padding:14px 20px 18px; gap:12px;}
.sv-f label:not(.sv-tier){font-size:13.5px; margin-bottom:5px;}
.sv-f select{height:40px; font-size:14px; padding:0 12px; border-radius:9px;}
.sv-f small{font-size:12px; margin-top:4px;}
.sv-tiers{gap:10px;}
.sv-tier{padding:11px 12px 11px 10px; gap:9px; border-radius:10px;}
.sv-tier .tt b{font-size:14px;} .sv-tier .tp{font-size:20px; margin:3px 0 0;} .sv-tier .td{font-size:12.5px; margin-bottom:5px;}
.sv-tier li{font-size:12.5px; gap:6px;} .sv-tier ul{gap:1px;}
.sv-consent{font-size:13px;}
.sv-go{padding:10px 20px; font-size:14px; border-radius:9px;} .sv-secure{font-size:12px;}
.sv-chip{font-size:12.5px; padding:6px 11px; border-radius:8px;} .sv-chip svg{width:17px; height:17px;}
.sv-desc{padding:14px 20px 12px; font-size:14px; line-height:1.55;}
.sv-rows{padding:2px 20px 0;}
.sv-row{padding:12px 0; gap:13px;}
.sv-row .ci{width:46px; height:46px;} .sv-row b{font-size:14px;} .sv-row p{font-size:13.5px;}
.sv-row .lst{gap:5px; margin-top:5px;} .sv-row .lst span{font-size:12px; padding:2px 8px; border-radius:6px;}
.sv-row .nt{font-size:12px; margin-top:6px;}
.sv-row .grp{margin-top:6px;} .sv-row .grp:first-child{margin-top:5px;}
.sv-row .gt{display:block; font-size:11px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; color:var(--tc); margin-bottom:3px;}
.sv-row .grp .lst{margin-top:0;}
.sv-row .lst span.opt{background:#fff; border-style:dashed; color:#6b7a99;}
.sv-trust{padding:10px 20px 14px; gap:6px;} .sv-trust div{font-size:12px;}

/* =====================================================================
   Layout layer v2 - fit-to-frame scaling, container-based responsiveness,
   compact Start a Verification and Service Information.
   ===================================================================== */
/* 1. Desktop / laptop: scale the shell so the page fits the frame (the sidebar keeps its own height) */
body.shell-pro{--vz:1;}
@media (min-width:901px) and (max-width:1400px){ body.shell-pro{--vz:.85;} }
@media (min-width:1401px) and (max-width:1700px){ body.shell-pro{--vz:.9;} }
@media (min-width:901px){
  body.shell-pro .main{zoom:var(--vz);}
  body.shell-pro .sidebar > *{zoom:var(--vz);}
  body.shell-pro .sidebar{width:calc(220px * var(--vz));}
}
body.shell-pro .content .alert{padding:8px 14px; font-size:12.5px; margin-bottom:10px; border-radius:9px;}
body.shell-pro .content .alert code{font-size:11.5px;}

/* 2. Every dashboard page measures its own width, not the screen's */
.cc-wrap{container:cc / inline-size;}

/* 3. Dashboard components, compact */
.cc-kpis{grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px;}
.cc-kpi{min-height:0; padding:13px 15px 11px; gap:0 12px;}
.cc-kpi .cc-kic{width:42px; height:42px;} .cc-kpi .cc-kic .ui-i{width:20px; height:20px;}
.cc-kv{font-size:24px;} .cc-kbody{margin-top:5px; min-height:30px; padding-right:96px;}
.cc-kpi .cc-spark{height:40px; width:38%; right:12px; bottom:10px;}
.cc-pipe{gap:22px;}
.cc-pipe .cc-pt,.cc-people .cc-pt{padding:10px 11px; gap:9px;}
.cc-pt .ci,.cc-people .cc-pt .ci{width:34px; height:34px;} .cc-pt .ci .ui-i{width:17px; height:17px;}
.cc-pt .v,.cc-people .cc-pt .v{font-size:20px;} .cc-pt .l,.cc-people .cc-pt .l{font-size:12.5px;} .cc-pt .s{font-size:11px;}
.cc-dsvg{width:170px; height:170px;} .cc-dmid b{font-size:28px;}
.cc-row2{grid-template-columns:minmax(0,5fr) minmax(0,6fr);}
.cc-row3{grid-template-columns:minmax(0,7fr) minmax(0,5fr);}
.cc-row3.cc-row3-even{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
.cc-tbl{min-width:0;}
.cc-stats{grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px;}
.cc-stats.n6{grid-template-columns:repeat(6,minmax(0,1fr));}
a.cc-stat{min-height:74px; padding:11px 13px; gap:10px;}
.cc-stat .cc-kic{width:40px; height:40px;} .cc-stat .cc-kic .ui-i{width:19px; height:19px;}
.cc-sv b{font-size:22px !important;} .cc-sv span{font-size:12px; line-height:1.25;}
.cc-stat .cc-spark{width:32%; height:36px;}
@container cc (max-width:1299px){
  .cc-stat .cc-spark{left:0; right:0; bottom:0; width:100%; height:20px; opacity:.45;}
  a.cc-stat{padding-bottom:20px;}
}
@container cc (max-width:1179px){ .cc-stats.n6{grid-template-columns:repeat(3,minmax(0,1fr));} }
@container cc (max-width:1099px){
  .cc-pipe,.cc-people{grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px;}
  .cc-pipe .cc-pt::after{display:none !important;} .cc-who{display:none;}
  .cc-row3,.cc-row3.cc-row3-even{grid-template-columns:minmax(0,1fr);}
}
@container cc (max-width:899px){
  .cc-row2{grid-template-columns:minmax(0,1fr);}
  .cc-stats,.cc-stats.n6{grid-template-columns:repeat(3,minmax(0,1fr));}
  .cp-row{grid-template-columns:minmax(0,1fr) auto; gap:10px 12px;} .cp-main{grid-column:1 / -1; grid-row:2;} .cp-id{border-right:0; padding-right:0;}
}
@container cc (max-width:859px){ .cc-kpis{grid-template-columns:repeat(2,minmax(0,1fr));} }
@container cc (max-width:559px){
  .cc-top{margin-bottom:10px;} .cc-top h2{font-size:21px;} .cc-top p{font-size:12.5px;} .cc-date{font-size:12px;} .cc-date .ui-i{width:16px; height:16px;}
  .cc-kpis{grid-template-columns:minmax(0,1fr);}
  .cc-stats,.cc-stats.n6{grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px;}
  a.cc-stat{padding:11px 11px 18px; gap:8px; min-height:68px;} .cc-stat .cc-kic{width:34px; height:34px;} .cc-stat .cc-kic .ui-i{width:17px; height:17px;} .cc-sv b{font-size:20px !important;}
  .cc-pipe,.cc-people{grid-template-columns:repeat(2,minmax(0,1fr));}
  .cc-sec{padding:13px 12px 14px;} .cc-tw{margin:0 -12px -6px; padding:0 12px 6px;}
  .cc-sh h3{font-size:14.5px;} .cc-more{font-size:12px;}
  .cp-go span{display:none;} .cp-go{padding:7px 10px;} .cp-steps .t{font-size:9.5px; padding:0;}
  .cc-dsvg{width:150px; height:150px;} .cc-ax{font-size:16px;}
  .cc-act li{grid-template-columns:34px minmax(0,1fr);} .cc-act .cc-tm{grid-column:2; text-align:left;} .cc-act .cc-tm small{display:inline; margin-left:6px;}
  .cc-tbl{font-size:12px;} .cc-tbl th,.cc-tbl td{padding:8px 6px; white-space:normal;}
  .cc-tbl .hm,.cc-tbl td.dt,.cc-tbl td.cc-dots{display:none;} .cc-tbl .cc-idl{gap:0;} .cc-tbl .cc-idl .ui-i{display:none;}
  .cc-tbl td .badge{white-space:normal;}
}
@container cc (max-width:279px){ .cc-pipe,.cc-people,.cc-stats,.cc-stats.n6{grid-template-columns:minmax(0,1fr);} }

/* 4. Start a Verification - one frame */
.sv-wrap .cc-top{margin-bottom:6px;} .sv-wrap .cc-top h2{font-size:22px; margin-bottom:1px;} .sv-wrap .cc-top p{font-size:12.5px;}
.sv-steps{list-style:none; margin:0 0 10px; padding:0; display:flex; align-items:center;}
.sv-steps li{flex:1 1 0; display:flex; align-items:center; gap:9px; min-width:0; position:static; padding:0;}
.sv-steps li::after{content:""; flex:1 1 16px; height:3px; border-radius:3px; background:#dfe6f2; margin:0 12px 0 2px; position:static; width:auto; top:auto; left:auto; right:auto;}
.sv-steps li:last-child{flex:0 0 auto;} .sv-steps li:last-child::after{display:none;}
.sv-steps li.done::after{background:#2f6fed;} .sv-steps li.active::after{background:linear-gradient(90deg,#2f6fed 0 50%,#dfe6f2 50%);}
.sv-steps .n{width:28px; height:28px; font-size:12.5px; flex:none;}
.sv-steps li.active .n{box-shadow:0 0 0 3px rgba(29,99,238,.16);}
.sv-steps .tx{display:flex; flex-direction:column; padding:0; margin:0; min-width:0; line-height:1.2;}
.sv-steps .tx b{font-size:12.5px; white-space:nowrap;} .sv-steps .tx small{font-size:11px; margin-top:1px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.sv-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; align-items:stretch;}
.sv-card,.sv-info{overflow:clip;}
.sv-head,.sv-ih{padding:11px 18px; gap:11px;}
.sv-head h3,.sv-ih h3{font-size:15.5px;} .sv-head p{font-size:12px; margin-top:1px;}
.sv-hic{width:36px; height:36px; border-radius:9px;} .sv-hic .ui-i{width:19px; height:19px;}
.sv-form{padding:13px 18px 0; gap:11px;}
.sv-two{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.sv-f label:not(.sv-tier){font-size:12.5px; margin-bottom:4px;}
.sv-f select{height:38px; font-size:13.5px; padding:0 10px; border-radius:8px;}
.sv-tiers{gap:10px;}
.sv-tier{padding:10px 11px 10px 10px; gap:8px; border-radius:10px;}
.sv-tier .tt b{font-size:13.5px;} .sv-tier .tp{font-size:19px; margin:2px 0 0;} .sv-tier .td{font-size:12px; margin-bottom:4px;}
.sv-tier li{font-size:12px; gap:6px;} .sv-tier ul{gap:1px;}
.sv-consent{font-size:12.5px;}
.sv-foot{margin:2px -18px 0; padding:11px 18px 13px; background:#fff; border-top:1px solid var(--cc-line); position:sticky; bottom:0; z-index:3; margin-top:auto;}
.sv-go{padding:10px 20px; font-size:13.5px; border-radius:9px;} .sv-secure{font-size:12px;}
.sv-chip{font-size:12px; padding:5px 10px; border-radius:8px; max-width:60%;} .sv-chip svg{width:16px; height:16px;}
.sv-desc{padding:11px 18px; font-size:13px; line-height:1.5; border-bottom:0;}
.sv-tg{display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--cc-line);}
.sv-tb{padding:11px 18px 12px; min-width:0;}
.sv-tb:nth-child(even){border-left:1px solid var(--cc-line);} .sv-tb:nth-child(n+3){border-top:1px solid var(--cc-line);}
.sv-tb h4{margin:0 0 6px; display:flex; align-items:center; gap:7px; font-size:12.5px; color:var(--cc-ink);} .sv-tb h4 .ui-i{color:var(--tc); flex:none;}
.sv-tb ul,.sv-tb ol{list-style:none; margin:0; padding:0; display:grid; gap:4px; counter-reset:sv;}
.sv-tb li{position:relative; padding-left:15px; font-size:12px; line-height:1.35; color:#2d3d63;}
.sv-tb ul li::before{content:""; position:absolute; left:1px; top:.5em; width:6px; height:6px; border-radius:50%; background:var(--tc);}
.sv-tb ol li{counter-increment:sv; padding-left:20px;}
.sv-tb ol li::before{content:counter(sv); position:absolute; left:0; top:.05em; width:15px; height:15px; border-radius:50%; background:var(--tb); color:var(--tc); font-size:10px; font-weight:700; display:grid; place-items:center;}
.sv-strip{margin-top:auto; border-top:1px solid var(--cc-line); background:#f8fafd; padding:10px 18px; display:grid; grid-template-columns:auto minmax(0,1fr); gap:6px 24px; font-size:12px; color:var(--cc-mut);}
.sv-strip > div{display:flex; align-items:flex-start; gap:8px; min-width:0; line-height:1.4;} .sv-strip .ui-i{color:#19a463; flex:none; margin-top:1px;} .sv-strip b{color:var(--cc-ink);}
@container cc (max-width:859px){ .sv-grid{grid-template-columns:minmax(0,1fr);} }
@container cc (max-width:559px){
  .sv-wrap .cc-top h2{font-size:20px;}
  .sv-steps{margin-bottom:8px;} .sv-steps li{flex:1 1 0 !important; flex-direction:column; gap:4px; text-align:center; position:relative; align-items:center;}
  .sv-steps li::after{position:absolute; top:13px; left:calc(50% + 17px); right:calc(-50% + 17px); width:auto; margin:0; flex:none;}
  .sv-steps li:last-child::after{display:none;}
  .sv-steps .tx{align-items:center;} .sv-steps .tx small{display:none;} .sv-steps .tx b{font-size:10.5px; white-space:normal;}
  .sv-head,.sv-ih{padding:11px 14px;} .sv-form{padding:12px 14px 0; gap:10px;} .sv-foot{margin:2px -14px 0; padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px)); box-shadow:0 -6px 16px rgba(16,40,90,.08);}
  .sv-two{grid-template-columns:1fr;} .sv-tier ul{display:none;} .sv-tier .tp{font-size:18px;}
  .sv-go{flex:1 1 auto; justify-content:center;} .sv-secure{flex:1 1 100%; justify-content:center; font-size:11.5px; order:2;}
  .sv-foot{flex-wrap:wrap; justify-content:center;}
  .sv-chip{display:none;} .sv-desc{padding:10px 14px;}
  .sv-tg{grid-template-columns:1fr;} .sv-tb{padding:10px 14px;} .sv-tb:nth-child(even){border-left:0;} .sv-tb:nth-child(n+2){border-top:1px solid var(--cc-line);}
  .sv-strip{grid-template-columns:1fr; padding:10px 14px;}
}
.sv-tb > summary{list-style:none; display:flex; align-items:center; gap:7px; margin:0 0 6px; font-size:12.5px; font-weight:700; color:var(--cc-ink); cursor:default;}
.sv-tb > summary::-webkit-details-marker{display:none;}
.sv-tb > summary .ui-i{color:var(--tc); flex:none;}
@container cc (max-width:899px){
  .sv-tb > summary{cursor:pointer; margin:0; min-height:24px; padding:2px 0;}
  .sv-tb > summary::after{content:""; margin-left:auto; width:8px; height:8px; border-right:2px solid #8a97b3; border-bottom:2px solid #8a97b3; transform:rotate(45deg) translateY(-2px); transition:transform .15s;}
  .sv-tb[open] > summary{margin-bottom:6px;}
  .sv-tb[open] > summary::after{transform:rotate(-135deg) translate(-2px,-1px);}
}
.cc-tbl td{white-space:normal;}
.cc-tbl td.dt,.cc-tbl td .id,.cc-tbl td.id,.cc-tbl .cc-idl,.cc-tbl td.cc-dots{white-space:nowrap;}
.cc-tbl .svc{max-width:none;} .cc-tbl .who{max-width:140px;}
.cc-tbl td .badge{white-space:nowrap;}
@container cc (max-width:1099px){ .cc-tbl td .badge{white-space:normal;} }
@container cc (max-width:559px){
  .cc-tbl th,.cc-tbl td{padding:8px 4px;} .cc-tbl th:first-child,.cc-tbl td:first-child{padding-left:2px;} .cc-tbl th{font-size:10px; letter-spacing:.3px;}
  .cc-tbl td:nth-child(2),.cc-tbl td:nth-child(3),.cc-row3-even .cc-tbl td:nth-child(3){min-width:0; max-width:none;}
  .cc-tbl .id,.cc-tbl .cc-idl{font-size:11.5px;}
  .cc-tbl td .badge{font-size:10.5px; padding:3px 7px; line-height:1.25;}
  .cc-tbl td .sub{font-size:11px;} .cc-tbl .who{max-width:none;}
}

/* ===== Review & Pay (every role) ===== */
.rp-wrap .cc-top{margin-bottom:8px;}
.rp-grid{display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:12px; align-items:start;}
.rp-card{overflow:clip; display:flex; flex-direction:column;}
.rp-edit{margin-left:auto; display:inline-flex; align-items:center; gap:7px; background:#eaf1ff; color:#1d5fd1; font-weight:600; font-size:12.5px; padding:7px 12px; border-radius:8px; white-space:nowrap;}
.rp-edit:hover{text-decoration:none; background:#dde9ff;}
.rp-rows{margin:0; padding:2px 18px 0;}
.rp-row{display:grid; grid-template-columns:150px minmax(0,1fr); gap:12px; align-items:center; padding:9px 0; border-bottom:1px solid var(--cc-line);}
.rp-row dt{font-size:13px; color:var(--cc-mut); margin:0;}
.rp-row dd{margin:0; display:flex; align-items:center; gap:11px; min-width:0; font-size:13.5px; color:var(--cc-ink);}
.rp-row .ri{flex:none; width:32px; height:32px; border-radius:50%; background:#eef3fb; color:#4a63a0; display:grid; place-items:center;}
.rp-row .rv{min-width:0; flex:1 1 auto; font-weight:500;} .rp-row .ra{margin-left:auto; font-size:12.5px; font-weight:600; white-space:nowrap;}
.rp-total{border-bottom:0;} .rp-total .ri{background:#fff0d4; color:#e08a00;}
.rp-total .rv b{display:block; font-size:21px; letter-spacing:-.3px; line-height:1.15;} .rp-total .rv small{font-size:12px; color:var(--cc-mut); font-weight:400;}
.rp-info{margin:6px 18px 16px; padding:11px 14px 12px; background:#eef5ff; border:1px solid #d7e5fb; border-radius:10px; font-size:12.5px; color:#2d3d63;}
.rp-info b{display:flex; align-items:center; gap:8px; color:#1d5fd1; font-size:13px; margin-bottom:5px;}
.rp-info ul{margin:0; padding-left:18px; display:grid; gap:2px;} .rp-info li{line-height:1.4;}
.rp-body{padding:14px 18px 0;}
.rp-lab{font-size:12.5px; font-weight:700; color:var(--cc-ink); margin:0 0 7px;}
.rp-opts{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:12px;}
.rp-opt{position:relative; display:flex; align-items:flex-start; gap:8px; border:1.5px solid #dbe3f0; border-radius:10px; padding:11px 10px; cursor:pointer; background:#fff; font-weight:400; margin:0;}
.rp-opt input{position:absolute; opacity:0; pointer-events:none;}
.rp-opt .rd{flex:none; width:18px; height:18px; margin-top:1px; border-radius:50%; border:2px solid #aab7d0; background:#fff; position:relative;}
.rp-opt .sym{flex:none; width:28px; height:28px; border-radius:50%; background:#eef3fb; color:#2d4a8a; font-weight:700; font-size:14px; display:grid; place-items:center;}
.rp-opt .tb{display:flex; flex-direction:column; min-width:0; gap:2px;} .rp-opt .tb b{font-size:12.5px; color:var(--cc-ink); line-height:1.25;} .rp-opt .am{font-size:19px; font-weight:800; letter-spacing:-.3px; color:var(--cc-ink);}
.rp-opt:has(input:checked){border-color:#2563eb; background:#f2f7ff; box-shadow:0 0 0 1px #2563eb inset;}
.rp-opt:has(input:checked) .rd{border-color:#2563eb;} .rp-opt:has(input:checked) .rd::after{content:""; position:absolute; inset:2px; border-radius:50%; background:#2563eb;}
.rp-opt:has(input:focus-visible){outline:2px solid #2563eb; outline-offset:2px;}
.rp-gw{margin:0 0 4px;} .rp-gwo{display:flex; align-items:center; gap:8px; font-weight:400; font-size:13px; margin:0 0 6px;} .rp-gwo input{width:auto;}
.rp-note{display:flex; align-items:center; gap:8px; margin:0; font-size:12.5px; color:var(--cc-mut);} .rp-note .ui-i{color:#6b7a99; flex:none;}
.rp-foot{padding:12px 18px 0; display:flex; align-items:center; gap:12px; flex-wrap:wrap;}
.rp-btn{flex:1 1 auto; justify-content:center; display:inline-flex; align-items:center; gap:9px; width:auto;}
.rp-later{font-size:13px; font-weight:600; color:#1d5fd1; padding:9px 4px;}
.rp-safe{margin:14px 18px 16px; display:flex; gap:12px; align-items:flex-start; background:#effaf4; border:1px solid #cdeedd; border-radius:10px; padding:11px 14px; font-size:12.5px; color:#2d4a3d;}
.rp-safe .ui-i{color:#19a463; flex:none;} .rp-safe b{display:block; color:#12603c; font-size:13px; margin-bottom:1px;} .rp-safe span{line-height:1.4;}
@container cc (max-width:859px){
  .rp-grid{grid-template-columns:minmax(0,1fr);}
  .rp-pay{position:relative;}
  .rp-foot{position:sticky; bottom:0; z-index:3; background:#fff; border-top:1px solid var(--cc-line); margin-top:12px; padding:10px 18px calc(10px + env(safe-area-inset-bottom,0px)); box-shadow:0 -6px 16px rgba(16,40,90,.08);}
}
@container cc (max-width:559px){
  .rp-rows{padding:0 14px;} .rp-row{grid-template-columns:1fr; gap:4px; padding:9px 0;} .rp-row dt{font-size:12px;}
  .rp-info{margin:6px 14px 14px;} .rp-body{padding:12px 14px 0;} .rp-foot{padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));} .rp-safe{margin:12px 14px 14px;}
  .rp-edit span{display:none;} .rp-edit{padding:8px;}
  .rp-opts{grid-template-columns:1fr;}
}
.rp-pay .rp-foot{order:1;} .rp-pay .rp-safe{order:2;}
@container cc (max-width:859px){ .rp-pay .rp-foot,.rp-pay .rp-safe{order:0;} .rp-pay .rp-safe{margin-bottom:6px;} }

/* Review & Pay - payment method polish */
.rp-opt{align-items:center; padding:12px 12px; gap:10px; transition:border-color .15s, box-shadow .15s, background .15s;}
.rp-opt:hover{border-color:#9db8ea;}
.rp-opt .rd{margin-top:0;}
.rp-opt .fl{flex:none; width:30px; height:30px; border-radius:50%; object-fit:cover; box-shadow:0 0 0 1px rgba(20,36,71,.12);}
.rp-opt .fl-t{display:grid; place-items:center; background:#eef3fb; font-size:11px; font-weight:700; color:#2d4a8a;}
.rp-opt .tb{gap:1px;} .rp-opt .am{font-size:19px;} .rp-opt .nt,.rp-gwo .nt{font-size:11.5px; color:var(--cc-mut); font-weight:400; line-height:1.3;}
.rp-safe b.gwn{display:inline; font-size:inherit; color:#12603c; margin:0;}
.rp-gws{display:grid; gap:8px; margin-bottom:10px;}
.rp-gwo{position:relative; display:flex; align-items:center; gap:10px; border:1.5px solid #dbe3f0; border-radius:10px; padding:10px 12px; cursor:pointer; background:#fff; margin:0; transition:border-color .15s, background .15s;}
.rp-gwo:hover{border-color:#9db8ea;}
.rp-gwo input{position:absolute; opacity:0; pointer-events:none;}
.rp-gwo .rd{flex:none; width:18px; height:18px; border-radius:50%; border:2px solid #aab7d0; background:#fff; position:relative;}
.rp-gwo .gi{flex:none; width:30px; height:30px; border-radius:8px; background:#eef3fb; color:#2d4a8a; display:grid; place-items:center;}
.rp-gwo .tb{display:flex; flex-direction:column; min-width:0; flex:1;} .rp-gwo .tb b{font-size:13px; color:var(--cc-ink);}
.rp-gwo .rec{flex:none; font-size:10.5px; font-weight:700; letter-spacing:.3px; text-transform:uppercase; color:#12744a; background:#e3f6ec; border-radius:20px; padding:3px 8px;}
.rp-gwo:has(input:checked){border-color:#2563eb; background:#f2f7ff; box-shadow:0 0 0 1px #2563eb inset;}
.rp-gwo:has(input:checked) .rd{border-color:#2563eb;} .rp-gwo:has(input:checked) .rd::after{content:""; position:absolute; inset:2px; border-radius:50%; background:#2563eb;}
.rp-gwo:has(input:focus-visible){outline:2px solid #2563eb; outline-offset:2px;}
.rp-acc{margin-top:12px;}
.rp-acc-l{display:block; font-size:11.5px; font-weight:600; text-transform:uppercase; letter-spacing:.5px; color:var(--cc-mut); margin-bottom:7px;}
.rp-chips{display:flex; flex-wrap:wrap; gap:7px;}
.rp-chip{display:inline-flex; align-items:center; gap:6px; height:30px; padding:0 11px; border:1px solid #dbe3f0; border-radius:8px; background:#fff; font-size:12px; font-weight:600; color:#3a4a70; white-space:nowrap;}
.rp-chip .ui-i{color:#6b7a99;} .rp-chip img{display:block; height:18px; width:auto;}
.rp-note{margin-bottom:0;}
.rp-foot{padding-top:14px;}
@container cc (max-width:559px){ .rp-chip{height:28px; padding:0 9px; font-size:11.5px;} .rp-opts{grid-template-columns:1fr 1fr;} .rp-opt{padding:10px 9px; gap:7px;} .rp-opt .fl{width:26px; height:26px;} .rp-opt .am{font-size:17px;} .rp-opt .tb b{font-size:12px;} .rp-opt .nt{display:none;} }
@container cc (max-width:359px){ .rp-opts{grid-template-columns:1fr;} }
.rp-acc-l{display:flex; align-items:center; gap:6px; text-transform:none; letter-spacing:0; font-size:12px; font-weight:500;} .rp-acc-l .ui-i{color:#6b7a99;}
.rp-chip{height:28px; padding:0 10px; border-radius:7px; background:#fff; font-weight:500;}
.rp-chip img{height:16px;}
.rp-info + * {}

/* ===== Payment Successful (every role that pays) ===== */
.ps-wrap .sv-steps{margin-bottom:10px;}
.ps-hero{display:grid; grid-template-columns:minmax(150px,230px) minmax(0,1fr); gap:18px; align-items:center; padding:18px 26px; margin-bottom:12px; background:linear-gradient(135deg,#fff 40%,#f3fbf7 100%);}
.ps-art-w{display:grid; place-items:center;} .ps-art{width:100%; max-width:210px; height:auto;}
.ps-main{display:flex; flex-direction:column; align-items:flex-start; min-width:0;} .ps-center{align-items:center; text-align:center; grid-column:1 / -1;}
.ps-solo.ps-hero .ps-main:not(.ps-center){align-items:flex-start;}
.ps-pill{display:inline-flex; align-items:center; gap:8px; background:#e3f6ec; color:#12744a; font-weight:700; font-size:13px; padding:6px 14px 6px 10px; border-radius:30px; margin-bottom:8px;}
.ps-pill .ui-i{background:#12a15f; color:#fff; border-radius:50%; padding:2px; width:18px; height:18px;}
.ps-pill.ps-amber{background:#fff1d6; color:#9a5b00;} .ps-pill.ps-amber .ui-i{background:#f5a524;}
.ps-main h2{margin:0 0 6px; font-size:26px; letter-spacing:-.4px; color:var(--cc-ink); line-height:1.15; text-wrap:balance;}
.ps-main > p{margin:0 0 12px; font-size:13.5px; color:var(--cc-mut); max-width:62ch; line-height:1.5;}
.ps-vid{display:flex; align-items:center; gap:12px; background:#eef4fc; border:1px solid #dbe6f6; border-radius:12px; padding:9px 12px; width:min(100%,420px);}
.ps-vic{flex:none; width:40px; height:40px; border-radius:10px; background:#e0ebfb; color:#2f66c8; display:grid; place-items:center;}
.ps-vid div{flex:1; min-width:0;} .ps-vid small{display:block; font-size:11.5px; color:var(--cc-mut);} .ps-vid b{display:block; font-size:21px; letter-spacing:.2px; color:var(--cc-ink); overflow-wrap:anywhere; line-height:1.15;}
.ps-copy{flex:none; display:inline-flex; align-items:center; gap:6px; border:0; background:transparent; color:#2563eb; cursor:pointer; font:inherit; font-size:12.5px; font-weight:600; padding:7px 8px; border-radius:8px;}
.ps-copy:hover{background:#dde9ff;} .ps-copy.ok{color:#12744a;}
.ps-copy-i{padding:5px; margin-left:auto;}
.ps-hint{margin:7px 0 10px !important; font-size:12px !important;}
.ps-go{display:inline-flex; align-items:center; gap:10px; width:auto; padding:11px 24px;}
.ps-acts{display:flex; align-items:center; gap:14px; flex-wrap:wrap;} .ps-center .ps-acts{justify-content:center;}
.ps-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; align-items:stretch;}
.ps-card{overflow:clip; display:flex; flex-direction:column;}
.ps-rows{margin:0; padding:0 18px 4px;}
.ps-row{display:grid; grid-template-columns:140px minmax(0,1fr); gap:12px; align-items:center; padding:9px 0; border-bottom:1px solid var(--cc-line);} .ps-row:last-child{border-bottom:0;}
.ps-row dt{font-size:13px; color:var(--cc-mut); margin:0;}
.ps-row dd{margin:0; display:flex; align-items:center; gap:10px; min-width:0; font-size:13.5px; color:var(--cc-ink); font-weight:500; overflow-wrap:anywhere;}
.ps-row dd b{font-weight:700;}
.ps-row .ri{flex:none; width:26px; height:26px; border-radius:7px; background:#eef3fb; color:#2d5fc4; display:grid; place-items:center;} .ps-row .ri-r{background:#fdecec; color:#d94242;} .ps-row .ri-a{background:#fff3d9; color:#d98a00;}
.ps-flag{flex:none; width:22px; height:22px; border-radius:50%; object-fit:cover; box-shadow:0 0 0 1px rgba(20,36,71,.12);}
.ps-ok{flex:none; width:22px; height:22px; border-radius:50%; background:#12a15f; color:#fff; display:grid; place-items:center;}
.ps-paid{background:#e3f6ec; color:#12744a; font-weight:700; font-size:12.5px; padding:3px 12px; border-radius:20px;} .ps-row dd small{color:var(--cc-mut); font-size:12px; font-weight:400;}
.ps-next{list-style:none; margin:0; padding:6px 18px 4px; display:grid; gap:0; position:relative;}
.ps-next li{position:relative; display:grid; grid-template-columns:34px minmax(0,1fr) auto; gap:12px; align-items:center; padding:9px 0;}
.ps-next li::before{content:""; position:absolute; left:16px; top:0; bottom:0; border-left:2px dashed #d3ddee;} .ps-next li:first-child::before{top:50%;} .ps-next li:last-child::before{bottom:50%;}
.ps-next .n{position:relative; z-index:1; width:34px; height:34px; border-radius:50%; background:#eef1f7; color:#66769a; font-weight:700; font-size:14px; display:grid; place-items:center; border:2px solid #fff; box-shadow:0 0 0 1px #dbe3f0;}
.ps-next .t b{display:block; font-size:13.5px; color:var(--cc-ink);} .ps-next .t span{display:block; font-size:12.5px; color:var(--cc-mut); line-height:1.35;}
.ps-next .p{font-size:11.5px; font-weight:600; padding:5px 12px; border-radius:8px; background:#eef1f7; color:#66769a; white-space:nowrap;}
.ps-next li.current .n{background:#2563eb; color:#fff; box-shadow:0 0 0 1px #2563eb, 0 0 0 5px #dbe8ff;} .ps-next li.current .p{background:#dbe8ff; color:#1d56c9;}
.ps-next li.done .n{background:#12a15f; color:#fff; box-shadow:0 0 0 1px #12a15f;} .ps-next li.done .p{background:#e3f6ec; color:#12744a;}
.ps-note{margin:auto 18px 16px; display:flex; gap:11px; align-items:flex-start; background:#eef5ff; border:1px solid #d7e5fb; border-radius:10px; padding:10px 14px; font-size:12.5px; color:#2d3d63; line-height:1.45;} .ps-note .ui-i{flex:none; color:#2563eb; margin-top:1px;}
.ps-next + .ps-note{margin-top:10px;}
@container cc (max-width:899px){
  .ps-hero{grid-template-columns:minmax(0,1fr); padding:16px 18px; text-align:center; justify-items:center;} .ps-art{max-width:130px;}
  .ps-main{align-items:center;} .ps-main h2{font-size:22px;} .ps-vid{text-align:left;}
  .ps-grid{grid-template-columns:minmax(0,1fr);} .ps-acts{justify-content:center;}
}
@container cc (max-width:559px){
  .ps-main h2{font-size:20px;} .ps-vid b{font-size:18px;} .ps-go{width:100%; justify-content:center;}
  .ps-rows{padding:0 14px 4px;} .ps-row{grid-template-columns:104px minmax(0,1fr); gap:8px;} .ps-next{padding:4px 14px;} .ps-note{margin:10px 14px 14px;}
  .ps-next li{grid-template-columns:30px minmax(0,1fr); row-gap:4px;} .ps-next .n{width:30px; height:30px;} .ps-next li::before{left:14px;}
  .ps-next .p{grid-column:2; justify-self:start; padding:3px 10px;}
}
.ps-main{align-items:center; text-align:center;} .ps-main > p{margin-left:auto; margin-right:auto;} .ps-vid{text-align:left;}
.ps-hero{padding:14px 26px; gap:10px;} .ps-art{max-width:176px;}
.ps-rows{flex:1; display:flex; flex-direction:column;} .ps-row{flex:1;}
.ps-row dd{flex-wrap:wrap;} .ps-paid{white-space:nowrap;}
.ps-solo.ps-hero .ps-main:not(.ps-center){align-items:center;}
@container cc (max-width:559px){ .ps-row{flex:none;} .ps-row dd small{flex-basis:100%; margin-left:32px;} }
.ps-row dd{flex-wrap:nowrap;} .ps-row:last-child dd{flex-wrap:wrap;} .ps-row dd b{min-width:0; overflow-wrap:anywhere;}
@container cc (max-width:559px){ .ps-row dd small{flex-basis:auto; margin-left:0;} }

/* Payment Successful - compact hero (fills the frame, no dead space) */
.ps-wrap .sv-steps{margin-bottom:8px;}
.ps-hero.ps-ready{display:grid; grid-template-columns:auto minmax(0,1fr) minmax(280px,360px); gap:6px 22px; align-items:center; padding:12px 22px; margin-bottom:10px; text-align:left; justify-items:stretch; background:linear-gradient(100deg,#f3fbf7 0%,#fff 55%);}
.ps-ready .ps-art-w{display:grid; place-items:center;} .ps-ready .ps-art{width:112px; max-width:none;}
.ps-ready .ps-txt{min-width:0;}
.ps-ready .ps-pill{margin-bottom:6px; padding:4px 12px 4px 8px; font-size:12.5px;}
.ps-ready .ps-txt h2{margin:0 0 5px; font-size:23px; letter-spacing:-.3px; color:var(--cc-ink); line-height:1.15; text-wrap:balance;}
.ps-ready .ps-txt p{margin:0; font-size:13px; color:var(--cc-mut); line-height:1.5; max-width:64ch;}
.ps-ready .ps-act{display:grid; gap:7px; min-width:0;}
.ps-ready .ps-vid{width:auto; padding:7px 10px; gap:10px; background:#fff; box-shadow:0 1px 2px rgba(20,36,71,.05);}
.ps-ready .ps-vic{width:34px; height:34px;} .ps-ready .ps-vid b{font-size:18px; letter-spacing:.3px;}
.ps-ready .ps-go{width:100%; justify-content:center; padding:9px 18px;}
.ps-ready .ps-hint{margin:0 !important; font-size:11.5px !important; text-align:center; color:var(--cc-mut);}
.ps-grid{gap:10px;}
.ps-card .sv-head{padding:9px 16px;} .ps-row{padding:6px 0;} .ps-rows{padding:0 16px 2px;}
.ps-next{padding:2px 16px 0;} .ps-next li{padding:6px 0;} .ps-next .n{width:30px; height:30px;} .ps-next li::before{left:14px;}
.ps-note{margin:8px 16px 12px; padding:8px 12px; font-size:12px;}
@container cc (max-width:1099px){
  .ps-hero.ps-ready{grid-template-columns:auto minmax(0,1fr); }
  .ps-ready .ps-act{grid-column:1 / -1; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); align-items:center; gap:8px 12px;}
  .ps-ready .ps-hint{grid-column:1 / -1; text-align:left;}
}
@container cc (max-width:899px){
  .ps-hero.ps-ready{padding:12px 16px; gap:8px 14px;}
  .ps-ready .ps-art{width:84px;} .ps-ready .ps-txt h2{font-size:20px;}
}
@container cc (max-width:559px){
  .ps-hero.ps-ready{grid-template-columns:minmax(0,1fr); text-align:center; justify-items:center; padding:12px 14px;}
  .ps-ready .ps-art{width:78px;} .ps-ready .ps-txt{display:flex; flex-direction:column; align-items:center;} .ps-ready .ps-txt h2{font-size:19px;} .ps-ready .ps-txt p{font-size:12.5px;}
  .ps-ready .ps-act{grid-template-columns:minmax(0,1fr); width:100%;} .ps-ready .ps-hint{text-align:center;} .ps-ready .ps-vid{text-align:left;}
  .ps-ready .ps-vid b{font-size:16px;}
}

/* ===== My Applications + case page (Applicant) ===== */
.ap-new{display:inline-flex; align-items:center; gap:8px; width:auto; padding:10px 18px; white-space:nowrap;}
.ap-list .cc-tw{padding:0 4px;}
.ap-tbl th:first-child{padding-left:16px;} .ap-tbl td:first-child{padding-left:16px;}
.ap-vid{display:inline-flex; align-items:center; gap:8px;} .ap-tbl .id{font-weight:700; color:var(--cc-ink);}
.ap-cp{flex:none; display:inline-grid; place-items:center; width:28px; height:28px; border:0; border-radius:7px; background:transparent; color:#3f5fa8; cursor:pointer; padding:0;} .ap-cp:hover{background:#e7efff;} .ap-cp.ok{color:#12a15f; background:#e3f6ec;}
.ap-pend{color:var(--cc-mut); font-weight:500;}
.ap-svc{display:inline-flex; align-items:center; gap:10px; font-weight:500; color:var(--cc-ink);} .ap-svc i{flex:none; width:32px; height:32px; border-radius:9px; background:var(--tb); color:var(--tc); display:grid; place-items:center;}
.ap-b{display:inline-flex; align-items:center; gap:7px; padding:5px 12px; border-radius:20px; font-size:12.5px; font-weight:600; white-space:nowrap; line-height:1.2;}
.ap-b::before{content:""; width:8px; height:8px; border-radius:50%; background:currentColor; flex:none;}
.ap-b.amber{background:#fff1d9; color:#b86e00;} .ap-b.green{background:#e3f6ec; color:#12744a;} .ap-b.red{background:#fde8e8; color:#b42323;} .ap-b.gray{background:#eef1f7; color:#5b6b8c;}
.ap-b.sm{padding:3px 10px; font-size:11px; letter-spacing:.3px;} .ap-b.sm::before{display:none;}
.ap-dt{display:inline-flex; align-items:center; gap:8px; color:#3c4d73; white-space:nowrap;} .ap-dt .ui-i{color:#6b7a99;}
.ap-act{display:inline-flex; align-items:center; gap:8px;} .ap-act form{margin:0; display:inline;}
.ap-btn{display:inline-flex; align-items:center; justify-content:center; gap:7px; border:1px solid #cfd9ea; background:#fff; color:#1d4fb8; font:inherit; font-size:13px; font-weight:600; padding:8px 14px; border-radius:9px; cursor:pointer; text-decoration:none; white-space:nowrap; line-height:1.2;}
.ap-btn:hover{background:#f2f7ff; border-color:#9db8ea; text-decoration:none;}
.ap-btn.dark{background:#0b1b3a; border-color:#0b1b3a; color:#fff;} .ap-btn.dark:hover{background:#142a57;}
.ap-btn.lg{padding:10px 16px; font-size:13.5px;}
.ap-foot{padding:10px 18px 12px; font-size:12.5px; color:var(--cc-mut); border-top:1px solid #edf1f8;}
.ap-back{display:inline-flex; align-items:center; gap:7px; font-size:13px; font-weight:600; color:#1d5fd1; margin:0 0 6px;} .ap-back:hover{text-decoration:none; color:#0f3f95;}
.ap-head{display:flex; justify-content:space-between; align-items:flex-start; gap:14px; flex-wrap:wrap; margin-bottom:10px;}
.ap-hl h2{margin:0; display:flex; align-items:center; gap:8px; font-size:25px; letter-spacing:-.3px; color:var(--cc-ink); overflow-wrap:anywhere;}
.ap-meta{display:flex; align-items:center; flex-wrap:wrap; gap:6px 16px; margin-top:6px; font-size:13.5px; color:#3c4d73;} .ap-ms{font-weight:500;}
.ap-hr{display:flex; gap:8px; flex-wrap:wrap;}
.ap-grid{display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); gap:10px; align-items:start;}
.ap-col{display:grid; gap:10px; min-width:0;}
.ap-col .ps-card .sv-head .up-toggle{margin-left:auto;}
.ap-up{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); gap:10px 12px; padding:12px 16px; background:#f6f9ff; border-bottom:1px solid var(--cc-line);}
.ap-up[hidden]{display:none;}
.ap-f{display:grid; gap:5px; margin:0; font-size:12.5px; font-weight:600; color:var(--cc-ink);} .ap-f small{font-weight:400; color:var(--cc-mut);}
.ap-f select,.ap-f input[type=file]{width:100%; font:inherit; font-size:13px; padding:8px 10px; border:1px solid #cfd9ea; border-radius:8px; background:#fff;}
.ap-upa{grid-column:1 / -1; display:flex; gap:8px; align-items:center; flex-wrap:wrap;} .ap-go{width:auto; display:inline-flex; align-items:center; gap:8px; padding:9px 18px;}
.ap-hintx{grid-column:1 / -1; margin:0; font-size:12px; color:var(--cc-mut);}
.ap-dtbl{min-width:0;} .ap-dtbl td{white-space:normal;} .ap-dtbl .fi b{display:block; font-weight:600; color:var(--cc-ink); overflow-wrap:anywhere;} .ap-dtbl small{display:block; color:#8a97b3; font-size:11.5px;} .ap-dtbl .ty{font-weight:500;} .ap-dtbl .dt{white-space:nowrap;}
.ap-ic{display:inline-flex; gap:7px; align-items:center;} .ap-ic form{margin:0; display:inline;}
.ap-i{display:inline-grid; place-items:center; width:34px; height:34px; border:1px solid #d8e1f0; border-radius:9px; background:#fff; color:#2d5fc4; cursor:pointer; padding:0; text-decoration:none;} .ap-i:hover{background:#eef4ff; border-color:#9db8ea; text-decoration:none;}
.ap-i.del{color:#c0392b;} .ap-i.del:hover{background:#fdecea; border-color:#f0b4ae;}
.ap-steps{list-style:none; margin:0; padding:14px 14px 6px; display:flex;}
.ap-steps li{flex:1 1 0; min-width:0; position:relative; text-align:center; padding:0 3px;}
.ap-steps li::before{content:""; position:absolute; top:15px; left:-50%; width:100%; height:2px; background:#dbe3f0;} .ap-steps li:first-child::before{display:none;}
.ap-steps li.done::before,.ap-steps li.current::before{background:#12a15f;} .ap-steps li.current::before{background:linear-gradient(90deg,#12a15f,#2563eb);}
.ap-steps .d{position:relative; z-index:1; width:32px; height:32px; margin:0 auto 7px; border-radius:50%; background:#fff; border:2px solid #cfd9ea; color:#66769a; font-weight:700; font-size:13px; display:grid; place-items:center;}
.ap-steps li.done .d{background:#12a15f; border-color:#12a15f; color:#fff;} .ap-steps li.current .d{border:3px solid #2563eb; box-shadow:0 0 0 4px #dbe8ff;}
.ap-steps b{display:block; font-size:12.5px; line-height:1.25; color:var(--cc-ink); font-weight:600;} .ap-steps small{display:block; margin-top:2px; font-size:11.5px; color:var(--cc-mut);} .ap-steps li.current small{color:#1d56c9; font-weight:600;}
.ap-note{margin:6px 16px 14px;}
.ap-upd{margin:0 16px 14px; font-size:13px;} .ap-upd summary{cursor:pointer; font-weight:600; color:#1d5fd1; list-style:none;} .ap-upd summary::-webkit-details-marker{display:none;}
.ap-upd ul{list-style:none; margin:8px 0 0; padding:0;} .ap-upd li{display:flex; justify-content:space-between; gap:12px; padding:7px 0; border-top:1px solid var(--cc-line); color:var(--cc-ink);} .ap-upd small{color:var(--cc-mut); white-space:nowrap;}
.ap-next{list-style:none; margin:0; padding:6px 16px 14px; display:grid; gap:0;}
.ap-next li{display:grid; grid-template-columns:32px minmax(0,1fr); gap:12px; align-items:start; padding:8px 0;}
.ap-next .n{width:30px; height:30px; border-radius:50%; background:#e6f0ff; color:#1d56c9; font-weight:700; font-size:13px; display:grid; place-items:center;}
.ap-next b{display:block; font-size:13.5px; color:var(--cc-ink);} .ap-next span:not(.n){display:block; font-size:12.5px; color:var(--cc-mut); line-height:1.4;}
@container cc (max-width:899px){
  .ap-grid{grid-template-columns:minmax(0,1fr);}
}
@container cc (max-width:679px){
  .ap-tbl th.hm,.ap-tbl td.hm,.ap-dtbl th.hm,.ap-dtbl td.hm{display:none;}
}
@container cc (max-width:559px){
  .ap-hl h2{font-size:20px;} .ap-hr{width:100%;} .ap-hr .ap-btn{flex:1 1 auto;}
  .ap-new{padding:9px 14px;} .ap-up{grid-template-columns:minmax(0,1fr);}
  .ap-tbl{min-width:0;} .ap-tbl td,.ap-tbl th{padding-left:8px; padding-right:8px;}
  .ap-btn{padding:8px 12px;} .ap-tbl .ap-b{padding:4px 9px; font-size:11.5px; gap:5px;} .ap-tbl .ap-b::before{width:7px; height:7px;} .ap-vid{gap:4px;} .ap-tbl .id{font-size:13px;}
  .ap-tbl thead{display:none;} .ap-tbl,.ap-tbl tbody{display:block; width:100%;}
  .ap-tbl tr{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 10px; align-items:center; padding:14px 14px; border-top:1px solid #edf1f8;}
  .ap-tbl tr:first-child{border-top:0;}
  .ap-tbl td,.ap-tbl td:first-child{display:block; padding:0; border:0; min-width:0;}
  .ap-tbl td:nth-child(1){grid-column:1 / -1; grid-row:1;} .ap-tbl td:nth-child(3){grid-column:2; grid-row:2; justify-self:end;}
  .ap-tbl td:nth-child(2){grid-column:1; grid-row:2;} .ap-tbl td:nth-child(5){grid-column:1 / -1; grid-row:3;}
  .ap-act{display:flex; gap:8px;} .ap-act>*{flex:1 1 0;} .ap-act .ap-btn{width:100%;}
  .ap-dtbl th:nth-child(1),.ap-dtbl td.ty{display:none;} .ap-dtbl .fi small:after{content:""; }
  .ap-steps{padding:12px 8px 4px;} .ap-steps b{font-size:11px;} .ap-steps small{font-size:10.5px;} .ap-steps .d{width:28px; height:28px;} .ap-steps li::before{top:13px;}
  .ap-note{margin:6px 12px 12px;} .ap-upd{margin:0 12px 12px;} .ap-next{padding:4px 12px 12px;}
  .ap-col .ps-card .sv-head{flex-wrap:wrap;} .ap-col .ps-card .sv-head .up-toggle{margin-left:0; width:100%;}
}

/* Information-requested banner + inline response form */
.ap-req{display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:14px; align-items:center; margin:0 0 14px; padding:14px 18px; background:#fff7e6; border:1px solid #f6d99a; border-radius:14px;}
.ap-req-ic{width:40px; height:40px; border-radius:11px; background:#ffe9bd; color:#b86e00; display:grid; place-items:center;}
.ap-req h3{margin:0 0 2px; font-size:15px; color:#7a4a00;} .ap-req p{margin:0; font-size:13.5px; color:#5c4510; line-height:1.45; word-break:break-word;}
.ap-up .ap-wide,.ap-wide{grid-column:1 / -1;}
.ap-f textarea{width:100%; font:inherit; font-size:13px; padding:8px 10px; border:1px solid #cfd9ea; border-radius:8px; background:#fff; resize:vertical; box-sizing:border-box;}
.ap-f input:not([type=file]){width:100%; font:inherit; font-size:13px; padding:8px 10px; border:1px solid #cfd9ea; border-radius:8px; background:#fff; box-sizing:border-box;}
.ap-link{background:none; border:0; padding:0; font:inherit; font-size:13px; font-weight:600; color:#1d5fd1; cursor:pointer; text-decoration:underline; text-underline-offset:3px;}
.ap-fixbox{border:0; margin:10px 0 0; padding:12px; background:#fff; border:1px dashed #b9c9e6; border-radius:10px; min-width:0;} .ap-fixbox[hidden]{display:none;}
.ap-fixgrid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 12px; margin-top:8px;}
@container cc (max-width:679px){ .ap-req{grid-template-columns:auto minmax(0,1fr);} .ap-req .ap-btn{grid-column:1 / -1;} }
@container cc (max-width:559px){ .ap-fixgrid{grid-template-columns:minmax(0,1fr);} }

/* Wide tables placed directly in a card scroll sideways inside the card on small screens (audit v82) */
@media (max-width:720px){
  .card-body > table.data, .tk-body > table, .form-group > table.data{display:block; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch;}
}

/* ---------- Employer / Institution / Agent / QA pages in the Applicant style (v84) ---------- */
.ap-sub{display:block; font-size:12px; font-weight:400; color:var(--cc-mut); margin-top:1px;}
.ap-wrap .card{background:#fff; border:1px solid var(--cc-line); border-radius:12px; box-shadow:var(--cc-sh); margin-top:12px;}
.ap-wrap .card.mb-16{margin-bottom:0;}
.ap-wrap .card .card-header{padding:14px 18px; border-bottom:1px solid #edf1f8;}
.ap-wrap .card .card-header h3{font-size:16px; color:var(--cc-ink);}
.ap-wrap .case-grid{margin-top:12px;}
.ap-wrap table.data th{background:#f4f7fc; color:#5b6b8c; font-size:11.5px; letter-spacing:.5px;}
.ap-wrap table.data td{border-top:1px solid #edf1f8;}
.ap-wrap .ap-head + .card, .ap-wrap .ap-head + .form-row{margin-top:6px;}
.ap-staff .ap-hr .ap-btn{align-self:flex-start;}
.ap-wrap .cc-sec form .btn, .ap-wrap .card form .btn{border-radius:9px;}
.ap-wrap .ap-list .ap-tbl td .badge{white-space:nowrap;}

/* ---------- Partner role: revenue dashboard and admin rate card (v85) ---------- */
.pr-bar{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:0 0 12px; font-size:13px; color:var(--cc-mut);}
.pr-bar select{font:inherit; font-size:13px; padding:8px 10px; border:1px solid #cfd7e6; border-radius:9px; background:#fff; color:var(--cc-ink); min-width:0;}
.pr-hint{margin:8px 2px 0; font-size:12px; color:var(--cc-mut);}
.pr-tots{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:14px;}
.pr-tot{border-radius:12px; padding:16px 18px; color:#fff; background:linear-gradient(135deg,#0b1b3a,#173a7a); min-width:0;}
.pr-tot.usd{background:linear-gradient(135deg,#0f5b45,#1a8a64);}
.pr-tot small{display:block; opacity:.82; font-size:12.5px;} .pr-tot b{display:block; font-size:32px; margin:2px 0; font-variant-numeric:tabular-nums; overflow-wrap:anywhere;} .pr-tot span{font-size:12.5px; opacity:.88;}
.pr-note{margin-top:14px;}
.pr-tbl th.num,.pr-tbl td.num{text-align:right; font-variant-numeric:tabular-nums;}
.pr-tbl td small{display:block; color:var(--cc-mut); font-size:11.5px;}
.pr-tbl tfoot td{font-weight:700; background:#fafcff; border-top:2px solid var(--cc-line); border-bottom:0;}
.pr-nil{color:#9aa7c2;} .pr-sub{font-size:12.5px; color:var(--cc-mut);}
@container cc (max-width:759px){ .pr-tots{grid-template-columns:minmax(0,1fr);} }
@container cc (max-width:559px){
  .pr-tbl{min-width:0;} .pr-tbl thead{display:none;} .pr-tbl,.pr-tbl tbody,.pr-tbl tfoot{display:block; width:100%;}
  .pr-tbl tr{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px 12px; padding:12px 6px; border-top:1px solid #edf1f8;}
  .pr-tbl tbody tr:first-child{border-top:0;} .pr-tbl tfoot tr{background:#fafcff; border-radius:9px; margin-top:6px; border-top:0;}
  .pr-tbl td,.pr-tbl tfoot td{display:block; padding:0; border:0; background:transparent; min-width:0;}
  .pr-tbl td.pr-s{grid-column:1 / -1;} .pr-tbl td.num{grid-column:1 / -1; text-align:left;}
  .pr-tbl td[data-l]::before{content:attr(data-l); display:block; font-size:10.5px; font-weight:700; letter-spacing:.4px; text-transform:uppercase; color:#7d8bab; margin-bottom:1px;}
  .pr-tbl td.pr-s::before{display:none;}
}
/* admin: partners list, rate card, assign boxes */
.rc-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr)); gap:14px; margin-top:14px; align-items:start;}
.rc-grid .cc-card{margin-top:0; padding:16px 16px 14px;}
.rc-cap{margin:0 0 10px; font-size:13px; color:var(--cc-mut);}
.rc-tbl{width:100%; table-layout:fixed; border-collapse:collapse; min-width:0 !important;}
.rc-tbl th,.rc-tbl td{padding:9px 6px; vertical-align:middle; border-bottom:1px solid #edf1f8; white-space:normal !important;}
.rc-tbl tr:last-child td{border-bottom:0;}
.rc-tbl th:first-child,.rc-tbl td:first-child{width:42%; padding-left:10px;} .rc-tbl th.num{text-align:right;}
.rc-tbl td:first-child{font-weight:500; color:var(--cc-ink); overflow-wrap:anywhere;}
.rc-in{position:relative; display:block;}
.rc-in i{position:absolute; left:10px; top:50%; transform:translateY(-50%); font-style:normal; color:#7d8bab; font-size:13px; pointer-events:none;}
.rc-in input{width:100%; min-width:0; padding:9px 9px 9px 24px; text-align:right; font:inherit; font-size:13px; font-variant-numeric:tabular-nums; border:1px solid #cfd7e6; border-radius:8px; background:#fff; color:var(--cc-ink);}
.rc-in input:focus{outline:2px solid #bcd3fb; border-color:#7aa5ee;}
.rc-save{display:flex; align-items:center; gap:12px; flex-wrap:wrap;}
.pt-chip{display:inline-flex; align-items:center; gap:6px; background:#efe9ff; color:#5a37c4; border-radius:14px; padding:3px 10px; font-size:12px; font-weight:600; white-space:nowrap;}
.pt-chip.none{background:#eef1f7; color:#5b6b8c; font-weight:500;}
.pt-bulk{display:flex; gap:10px; align-items:center; flex-wrap:wrap; background:#fff8e6; border:1px solid #f3dfa8; border-radius:10px; padding:10px 12px; margin:0 0 12px; font-size:13px;}
.pt-bulk select{min-width:180px; max-width:100%;}
.pt-box{margin-bottom:16px;} .pt-box .card-body .row{display:flex; justify-content:space-between; gap:10px; padding:8px 0; border-bottom:1px solid #edf1f8; font-size:13.5px;} .pt-box .card-body .row:last-of-type{border:0;}
.pr-bar select{width:auto; flex:none; min-width:170px; max-width:100%;}
.pr-bar label{margin:0;}
@container cc (max-width:559px){
  .rc-tbl thead{display:none;} .rc-tbl,.rc-tbl tbody{display:block; width:100%;}
  .rc-tbl tr{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:6px 10px; padding:12px 2px; border-bottom:1px solid #edf1f8;}
  .rc-tbl tr:last-child{border-bottom:0;}
  .rc-tbl td,.rc-tbl td:first-child{display:block; width:auto; padding:0; border:0; min-width:0;}
  .rc-tbl td.rc-s{grid-column:1 / -1; font-weight:600;}
  .rc-tbl td[data-l]::before{content:attr(data-l); display:block; font-size:10.5px; font-weight:700; letter-spacing:.4px; text-transform:uppercase; color:#7d8bab; margin-bottom:3px;}
}
.pr-rev small{display:block; color:var(--cc-mut); font-size:11.5px;} .pr-rev b{color:var(--cc-ink);}

/* ---------- Partner payments: Total / Paid / Balance, pay screen, history (v86) ---------- */
.pr-acct{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:14px;}
.pr-acct2{grid-template-columns:repeat(2,minmax(0,1fr));}
.pr-ac{border-radius:12px; padding:16px 18px; color:#fff; background:linear-gradient(135deg,#0b1b3a,#173a7a); min-width:0; display:flex; flex-direction:column; gap:4px;}
.pr-ac.paid{background:linear-gradient(135deg,#0f5b45,#1a8a64);}
.pr-ac.bal{background:linear-gradient(135deg,#9a4a06,#d27d12);}
.pr-ac small{display:block; opacity:.85; font-size:12.5px; letter-spacing:.2px;}
.pr-ac span{font-size:12.5px; opacity:.9; line-height:1.35;}
.pr-two{display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 18px;}
.pr-two b{font-size:26px; line-height:1.2; font-variant-numeric:tabular-nums; overflow-wrap:anywhere;}
.pr-lines{display:flex; flex-direction:column; gap:2px; font-variant-numeric:tabular-nums;} .pr-lines span{font-weight:700; color:var(--cc-ink);}
.pr-bal span{color:#9a4a06;}
@container cc (max-width:759px){ .pr-acct{grid-template-columns:minmax(0,1fr);} .pr-acct2{grid-template-columns:minmax(0,1fr);} }

/* admin pay screen */
.pp-help{margin:0 0 12px; font-size:13px; color:var(--cc-mut);}
.pp-lab{display:flex; align-items:flex-start; gap:10px; cursor:pointer; margin:0; min-width:0;}
.pp-lab input[type=checkbox]{width:18px; height:18px; margin:2px 0 0; flex:none; accent-color:#173a7a;}
.pp-lab span{min-width:0;} .pp-lab span b{display:block; color:var(--cc-ink);} .pp-lab span small{display:block; color:var(--cc-mut); font-size:11.5px; overflow-wrap:anywhere;}
.pp-selall{padding:8px 10px; margin:0 0 6px; background:#f5f8fd; border:1px solid #e3e9f4; border-radius:9px; font-size:13px; font-weight:600; align-items:center;}
.pp-selall input{margin:0;}
.pp-tbl td{vertical-align:middle;}
.pp-sum{display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 12px; margin:14px 0; padding:12px 14px; background:#f1f6ff; border:1px solid #d6e3fb; border-radius:10px;}
.pp-sum span{font-size:12px; font-weight:700; letter-spacing:.4px; text-transform:uppercase; color:#5b6b8c;}
.pp-sum b{font-size:18px; color:var(--cc-ink); font-variant-numeric:tabular-nums; overflow-wrap:anywhere;}
.pp-sum small{flex:1 1 100%; color:#9a4a06; font-size:12px;} .pp-sum small:empty{display:none;}
.pp-fields{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr)); gap:12px; margin-bottom:14px;}
.pp-f{display:block; margin:0; min-width:0;} .pp-f>span{display:block; font-size:12.5px; font-weight:600; color:#44547a; margin-bottom:5px;} .pp-f>span small{font-weight:400; color:var(--cc-mut);}
.pp-f input,.pp-f select{display:block; width:100%; min-width:0; box-sizing:border-box; font:inherit; font-size:13.5px; padding:10px 11px; border:1px solid #cfd7e6; border-radius:9px; background:#fff; color:var(--cc-ink);}
.pp-f input:focus,.pp-f select:focus{outline:2px solid #bcd3fb; border-color:#7aa5ee;}
.pp-wide{grid-column:1 / -1;}
.pp-go{display:flex; align-items:center; gap:12px; flex-wrap:wrap;} .pp-go .btn[disabled]{opacity:.5; cursor:not-allowed;}

/* history tables */
.pr-hist td.num,.pp-tbl td.num,.ph-tbl td.num{font-variant-numeric:tabular-nums;}
.ph-void td{opacity:.7;} .ph-void td.num b{text-decoration:line-through;}
.ph-act{min-width:0;} .ph-act small{display:block; color:var(--cc-mut); font-size:11.5px; margin-top:4px; overflow-wrap:anywhere;}
.ph-cancel summary{list-style:none; cursor:pointer; display:inline-flex;} .ph-cancel summary::-webkit-details-marker{display:none;}
.ph-cancel form{display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; max-width:360px;}
.ph-cancel form input{flex:1 1 180px; min-width:0; font:inherit; font-size:13px; padding:8px 10px; border:1px solid #cfd7e6; border-radius:8px;}
.ph-cancel form small{flex:1 1 100%;}
.pr-pay small{display:block; color:var(--cc-mut); font-size:11.5px; margin-top:3px; overflow-wrap:anywhere;}
.pr-bar label+select{margin-right:6px;}
@container cc (max-width:559px){
  .pr-two b{font-size:24px;}
  .pr-hist td.num,.pp-tbl td.num,.ph-tbl td.num{grid-column:auto; text-align:left;}
  .ph-tbl td[data-l="Applications"],.pr-hist td[data-l="Applications Covered"],.ph-tbl td.ph-act{grid-column:1 / -1;}
  .ap-tbl.pr-six td:nth-child(5){grid-column:1; grid-row:3;}
  .ap-tbl.pr-six td:nth-child(6){grid-column:2; grid-row:3; justify-self:end; text-align:right;}
  .pr-bar select{flex:1 1 140px;}
}
.pr-f{display:inline-flex; align-items:center; gap:8px; min-width:0;} .pr-f label{margin:0; white-space:nowrap;}
.ph-ref{color:#9a4a06 !important;}
@container cc (max-width:559px){
  .pr-f{flex:1 1 100%;} .pr-f label{flex:none;} .pr-f select{flex:1 1 auto; width:auto; min-width:0;}
  .pr-bar .ap-btn{flex:1 1 100%; justify-content:center;}
}

/* ---------- v87: account controls live only in the top-right menu ---------- */
body.shell-pro .tb-menu .tb-who{padding:8px 12px 10px; margin:0 0 4px; border-bottom:1px solid #edf1f8; min-width:0;}
body.shell-pro .tb-menu .tb-who strong{display:block; font-size:13.5px; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
body.shell-pro .tb-menu .tb-who small{display:block; font-size:12px; color:#6b7a99; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
body.shell-pro .tb-menu{max-width:min(280px,calc(100vw - 24px));}
