/* 银发职途 · 测评共用样式 */
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
.page-error-bar{
  display:none;position:sticky;top:0;z-index:200;
  align-items:flex-start;gap:10px;
  margin:0;padding:12px 14px;
  background:#FEF2F2;border-bottom:1px solid #FECACA;color:#991B1B;
  font-size:13px;line-height:1.55;
}
.page-error-bar.show{display:flex}
.page-error-text{flex:1;margin:0}
.page-error-close{
  flex-shrink:0;width:28px;height:28px;border:none;border-radius:99px;
  background:rgba(153,27,27,.08);color:#991B1B;font-size:18px;line-height:1;cursor:pointer;
}
body[data-phase="report"] .topbar-link[href="/"]{pointer-events:none;visibility:hidden}
:root{
  --ink-900:#0052D9;--ink-800:#0047C4;
  --accent-600:#1557FF;--accent-500:#3B72FF;--accent-100:#DDEAFF;--accent-50:#EEF3FF;
  --amber-500:#D97706;--amber-400:#F59E0B;--amber-50:#FFFBEB;
  --n-900:#0F172A;--n-700:#334155;--n-500:#64748B;--n-400:#94A3B8;
  --n-300:#CBD5E1;--n-200:#E2E8F0;--n-100:#F1F5F9;--n-50:#F8FAFC;--white:#FFF;
  --bg:var(--n-50);--card:var(--white);--text:var(--n-900);--text-sec:var(--n-500);
  --border:var(--n-200);--border-light:#EDF1F7;
  --hero:var(--ink-900);--hero-accent:#C8DEFF;
  --btn:var(--accent-600);--btn-shadow:rgba(21,87,255,.35);
  --r:14px;--rs:10px;
  --font-display:'Noto Serif SC',serif;
  --font-ui:'Noto Sans SC',-apple-system,'PingFang SC',sans-serif;
  --safe-top:env(safe-area-inset-top,0);
  --safe-bot:env(safe-area-inset-bottom,0);
}
[data-theme="pro"]{
  --hero:#0D5C4A;--hero-accent:#A7F3D0;
  --ink-900:#0D5C4A;--ink-800:#0A4A3B;
  --accent-600:#059669;--accent-500:#10B981;--accent-100:#D1FAE5;--accent-50:#ECFDF5;
  --btn:#059669;--btn-shadow:rgba(5,150,105,.35);
}
[data-theme="hub"]{
  --hero:#0D5C4A;--hero-accent:#A7F3D0;
  --bg:#f8fafc;--btn:#059669;
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--font-ui);background:var(--bg);color:var(--text);
  font-size:14px;line-height:1.7;max-width:480px;margin:0 auto;min-height:100vh;
  padding-top:var(--safe-top);padding-bottom:calc(var(--safe-bot)+60px);
  -webkit-font-smoothing:antialiased;
}
@media(min-width:481px){body{box-shadow:0 0 0 1px rgba(0,0,0,.06),0 16px 48px rgba(0,0,0,.08)}}

.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:var(--hero);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(255,255,255,.12)}
.topbar--brand{padding:11px 16px 12px;background:var(--hero)}
.topbar-brand{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.topbar-logo-img{
  width:40px;height:40px;flex-shrink:0;border-radius:10px;
  background:rgba(255,255,255,.96);padding:2px;
  object-fit:cover;object-position:center 8%;
}
.topbar-brand-text{min-width:0;flex:1}
.topbar-name{
  font-family:var(--font-display);font-size:17px;font-weight:700;color:#fff;
  line-height:1.25;letter-spacing:1px;margin:0;
}
.topbar-tagline{
  font-size:10px;color:rgba(255,255,255,.75);line-height:1.5;
  margin:3px 0 0;font-weight:400;
}
.topbar-logo{width:30px;height:30px;border-radius:8px;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:13px;font-weight:700;color:var(--hero)}
.topbar-tag{font-size:11px;color:rgba(255,255,255,.65)}
.topbar-link{
  font-size:11.5px;color:rgba(255,255,255,.9);text-decoration:none;
  padding:5px 10px;border:1px solid rgba(255,255,255,.28);border-radius:99px;
  flex-shrink:0;white-space:nowrap;align-self:center;
}

.notice-bar{background:var(--ink-800);padding:8px 20px;display:flex;align-items:center;justify-content:center;gap:8px}
.notice-dot{width:5px;height:5px;border-radius:50%;background:#fff;animation:blink 2.4s ease infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}
.notice-text{font-size:11.5px;color:rgba(255,255,255,.85)}

.hero{background:var(--hero);padding:32px 20px 28px;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}
.hero-eyebrow{
  display:inline-block;position:relative;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);
  padding:5px 14px;border-radius:99px;font-size:11px;color:rgba(255,255,255,.92);
  letter-spacing:.5px;margin-bottom:16px;
}
.hero h1{font-family:var(--font-display);font-size:25px;font-weight:900;line-height:1.45;color:#fff;margin-bottom:12px;position:relative}
.hero h1 em{font-style:normal;color:var(--hero-accent)}
.hero-sub{font-size:13.5px;color:rgba(255,255,255,.8);line-height:1.75;margin-bottom:18px;position:relative;font-weight:400}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:12px;overflow:hidden;margin-bottom:12px;position:relative}
.hero-stat{padding:14px 8px;text-align:center}
.hero-stat+.hero-stat{border-left:1px solid rgba(255,255,255,.18)}
.hs-num{font-size:22px;font-weight:800;color:#fff;font-family:var(--font-display);line-height:1.1}
.hs-num sup{font-size:11px;font-weight:600;opacity:.75;margin-left:1px;vertical-align:super}
.hs-label{font-size:10px;color:rgba(255,255,255,.68);line-height:1.45;margin-top:4px}
.hero-archive-note{
  position:relative;font-size:11px;color:rgba(255,255,255,.72);line-height:1.65;
  margin-bottom:16px;padding:10px 12px;background:rgba(0,0,0,.12);
  border-radius:var(--rs);border:1px solid rgba(255,255,255,.1);
}
.hero-price{
  display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;
  column-gap:12px;row-gap:2px;align-items:center;
  background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.18);
  border-radius:10px;padding:12px 16px;margin-bottom:12px;position:relative;
}
.hero-price>div:first-child{grid-row:span 2;display:flex;align-items:baseline;gap:2px}
.hero-price--detail{
  display:flex;align-items:stretch;gap:0;
  padding:14px 14px 14px 16px;
}
.hero-price-amt{
  flex-shrink:0;display:flex;align-items:baseline;gap:2px;
  padding-right:14px;margin-right:14px;
  border-right:1px solid rgba(255,255,255,.16);
  align-self:center;
}
.hero-price-info{
  flex:1;min-width:0;display:flex;flex-direction:column;
  justify-content:center;gap:6px;
}
.hero-price-head{
  display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;
}
.hero-price--detail .hp-badge{
  align-self:auto;flex-shrink:0;margin:0;
}
.hero-price--detail .hp-note-lead{
  flex:1;min-width:0;margin:0;
}
.hero-price--detail .hp-note-sub{
  margin:0;font-size:10.5px;line-height:1.6;color:rgba(255,255,255,.68);
}
.hero-price--detail .hp-note{
  margin:0;display:flex;flex-direction:column;gap:4px;
  font-size:11px;line-height:1.55;color:rgba(255,255,255,.72);
}
.hp-note-lead{
  font-size:12px;font-weight:600;color:#fff;line-height:1.45;
}
.hp-note-sub{font-size:10.5px;line-height:1.6;color:rgba(255,255,255,.68)}
.hp-note-accent{
  font-style:normal;font-weight:600;color:rgba(255,255,255,.95);
}
.hp-currency{font-size:14px;color:rgba(255,255,255,.7);font-weight:600}
.hp-num{font-size:30px;font-weight:800;color:#fff;line-height:1}
.hp-badge{
  justify-self:start;font-size:11px;font-weight:700;color:#fff;
  background:rgba(255,255,255,.18);padding:3px 10px;border-radius:99px;
}
.hp-note{grid-column:2;font-size:11px;color:rgba(255,255,255,.65);justify-self:start}
.btn-hero-cta{width:100%;padding:15px;border-radius:var(--r);border:none;background:#fff;color:var(--hero);font-size:15px;font-weight:600;cursor:pointer;margin-bottom:10px}
.hero-quick-actions{display:flex;flex-direction:column;gap:8px;position:relative;z-index:2}
.btn-hero-ghost{
  width:100%;min-height:44px;padding:11px 14px;border-radius:var(--rs);
  border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.92);font-size:12.5px;font-weight:500;
  font-family:var(--font-ui);cursor:pointer;text-align:center;text-decoration:none;
  position:relative;z-index:2;touch-action:manipulation;-webkit-tap-highlight-color:rgba(255,255,255,.2);
  display:flex;align-items:center;justify-content:center;box-sizing:border-box;
}
.btn-hero-ghost:active{background:rgba(255,255,255,.15)}
.btn-hero-cta{position:relative;z-index:2;touch-action:manipulation}
.hero-alt-path{
  position:relative;z-index:2;margin:0;font-size:11.5px;color:rgba(255,255,255,.65);
  text-align:center;line-height:1.65;
}
.hero-alt-path a{color:rgba(255,255,255,.92);text-decoration:underline;text-underline-offset:3px}
.hero-alt-path a:active{opacity:.85}

[data-theme="hub"] .hub-cards{padding-top:20px;padding-bottom:32px}
.hub-card{
  display:block;background:var(--card);border:1px solid var(--border);border-radius:var(--r);
  padding:20px;margin-bottom:14px;text-decoration:none;color:inherit;transition:.15s;
  width:100%;max-width:100%;
}
.hub-card:active{transform:scale(.99)}
.hub-card-tag{
  font-size:10.5px;font-weight:600;letter-spacing:.3px;
  color:var(--accent-600);margin-bottom:10px;line-height:1.55;
  word-break:break-word;
}
[data-theme="hub"] .hub-card.pro .hub-card-tag{color:#059669}
.hub-card-hook{
  display:flex;align-items:flex-start;justify-content:space-between;gap:10px;
  font-family:var(--font-display);font-size:17px;font-weight:800;
  line-height:1.45;margin-bottom:6px;color:var(--n-900);letter-spacing:-.2px;
}
.hub-card-hook-text{flex:1;min-width:0;word-break:break-word}
.hub-card-action{
  font-size:12.5px;font-weight:600;color:var(--accent-600);
  letter-spacing:.2px;margin-bottom:14px;line-height:1.5;
}
[data-theme="hub"] .hub-card.pro .hub-card-action{color:#059669}
.hub-card-name{
  font-size:11px;font-weight:600;color:var(--accent-600);
  letter-spacing:1px;margin-bottom:14px;
}
[data-theme="hub"] .hub-card.pro .hub-card-name{color:#059669}
.hub-card h2{font-family:var(--font-display);font-size:18px;margin-bottom:14px;line-height:1.35}
.hub-card-body{display:flex;flex-direction:column;gap:9px}
.hub-card-row{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:var(--n-700);line-height:1.65;text-align:left}
.hub-card-label{
  flex-shrink:0;width:32px;font-size:10px;font-weight:600;letter-spacing:.5px;
  color:var(--n-400);padding-top:2px;line-height:1.5;
}
.hub-card-row span:last-child{
  flex:1;min-width:0;word-break:break-word;overflow-wrap:break-word;
}
.hub-card-meta{
  display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:16px;padding-top:14px;
  border-top:1px solid var(--border-light);font-size:10.5px;color:var(--n-500);line-height:1.5;
}
[data-theme="hub"] .hub-card-meta{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;
}
[data-theme="hub"] .hub-card-meta span{
  min-width:0;text-align:center;
  word-break:break-word;overflow-wrap:break-word;
}
.hub-card-meta span{position:relative}
@media(min-width:381px){
  .hub-card-meta span+span::before{
    content:'';position:absolute;left:-6px;top:50%;transform:translateY(-50%);
    width:3px;height:3px;border-radius:50%;background:var(--n-300);
  }
}
@media(max-width:380px){
  [data-theme="hub"] .hub-card-meta{grid-template-columns:1fr}
  [data-theme="hub"] .hub-card-meta span{text-align:left}
}
.hub-card-arrow{
  flex-shrink:0;color:var(--accent-600);font-size:18px;font-weight:400;line-height:1.35;
}
[data-theme="hub"] .hub-card.pro .hub-card-arrow{color:#059669}

.section-divider{height:8px;background:var(--n-100);border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light)}
.sec-header{padding:24px 20px 0}
.sec-eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;color:var(--accent-600);margin-bottom:6px}
.sec-title{font-family:var(--font-display);font-size:19px;font-weight:800}
.sec-sub{font-size:12.5px;color:var(--text-sec);margin-top:6px;line-height:1.7}

.form-wrap{padding:12px 20px 0}
.field{background:var(--card);border-radius:var(--r);padding:16px;margin-bottom:8px;border:1px solid var(--border-light)}
.field-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.field-q{font-size:13.5px;font-weight:600}
.field-tag{font-size:9.5px;color:var(--n-400);background:var(--n-100);padding:3px 9px;border-radius:99px}
.city-input{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--rs);font-size:14px;font-family:var(--font-ui);outline:none}
.city-input:focus{border-color:var(--accent-600);box-shadow:0 0 0 3px rgba(21,87,255,.08)}
.region-picker{display:grid;grid-template-columns:1fr;gap:8px}
.region-select{
  width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--rs);
  font-size:14px;font-family:var(--font-ui);outline:none;background:var(--white);color:var(--text);
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2394A3B8' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;padding-right:34px;
}
.region-select:focus{border-color:var(--accent-600);box-shadow:0 0 0 3px rgba(21,87,255,.08)}
.region-select:disabled{background-color:var(--n-50);color:var(--n-400)}
.region-fallback-note{font-size:11px;color:var(--text-sec);line-height:1.55;margin-top:8px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{padding:8px 15px;border:1.5px solid var(--border);border-radius:99px;font-size:12.5px;cursor:pointer;background:var(--white);color:var(--n-700);user-select:none}
.chip.sel{background:var(--accent-50);border-color:var(--accent-600);color:var(--accent-600);font-weight:600}
.chip-wrap{display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.chip-wrap .chip{align-self:stretch;text-align:left}
.chip-sub{font-size:10px;color:var(--n-400);padding:0 4px;line-height:1.4}
.chips--grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.chips--grid>.chip-wrap{margin:0}
.chip-wrap--full{grid-column:1/-1}
.chip-wrap--full .chip{width:100%;text-align:center}
.chip-wrap--full .chip-sub{text-align:center;width:100%;padding:0}
.field-hint{font-size:11.5px;color:var(--text-sec);line-height:1.65;margin-top:10px;padding:10px 12px;background:var(--n-50);border-radius:var(--rs)}
.field-hint--cross{border-left:3px solid var(--accent-600)}
.field-hint--cross a{color:var(--accent-600);font-weight:600;text-decoration:none}
.field-hint--pro{border-left:3px solid #1557FF}
.field-hint--pro a{color:#1557FF;font-weight:600;text-decoration:none}
.field-hint strong{color:var(--text);font-weight:600}
#field-major{display:none}

.form-route-cards{padding:0 20px 12px;display:flex;flex-direction:column;gap:10px}
.route-card{
  display:block;width:100%;text-align:left;padding:14px 16px;border-radius:var(--r);
  border:1px solid var(--border-light);background:var(--card);cursor:pointer;
  font-family:var(--font-ui);text-decoration:none;color:inherit;
  touch-action:manipulation;-webkit-tap-highlight-color:transparent;
}
.route-card--cross{border-left:3px solid #1557FF}
.route-card--pro{border-left:3px solid #059669}
.route-card--cert{border-left:3px solid var(--accent-600)}
.route-card-tag{font-size:9px;font-weight:700;letter-spacing:1px;color:var(--accent-600);text-transform:uppercase}
.route-card--cross .route-card-tag{color:#1557FF}
.route-card--pro .route-card-tag{color:#059669}
.route-card--pro .route-card-arrow{color:#059669}
.route-card-title{display:block;font-size:14px;font-weight:700;margin:6px 0 4px;color:var(--text)}
.route-card-desc{display:block;font-size:11.5px;color:var(--text-sec);line-height:1.55}
.route-card-arrow{display:block;font-size:11px;font-weight:600;color:var(--accent-600);margin-top:8px}
.route-card--cross .route-card-arrow{color:#1557FF}

.submit-wrap{padding:10px 20px 24px}
.disclaimer{font-size:10.5px;color:var(--n-400);text-align:center;margin-bottom:12px;line-height:1.75}
.btn-submit{width:100%;padding:16px;border-radius:var(--r);border:none;background:var(--btn);color:#fff;font-size:15px;font-weight:600;cursor:pointer;box-shadow:0 4px 20px var(--btn-shadow)}
.btn-submit:disabled{background:var(--n-300);box-shadow:none}

.overlay{
  position:fixed;inset:0;background:rgba(8,17,31,.6);backdrop-filter:blur(6px);
  display:none;flex-direction:column;align-items:center;justify-content:flex-end;z-index:100;
}
.overlay.show{display:flex}
.pay-sheet{
  background:var(--white);width:100%;max-width:480px;margin:0 auto;
  border-radius:20px 20px 0 0;padding:20px 20px calc(20px + var(--safe-bot));
  animation:slideUp .28s ease;box-sizing:border-box;
}
@media(min-width:481px){
  .overlay{align-items:center}
  .pay-sheet{border-radius:20px;margin-bottom:24px;max-height:calc(100vh - 48px);overflow-y:auto}
}
@keyframes slideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
.pay-drag{width:32px;height:3px;background:var(--n-200);border-radius:2px;margin:0 auto 20px}
.pay-title{font-family:var(--font-display);font-size:17px;font-weight:700;text-align:center;margin-bottom:6px}
.pay-desc{font-size:12px;color:var(--text-sec);text-align:center;margin-bottom:16px}
.pay-amount-wrap{text-align:center;margin:0 0 10px}
.pay-amount{
  display:inline-flex;align-items:baseline;justify-content:center;gap:2px;
  margin:0;line-height:1;
}
.pay-currency{font-size:20px;font-weight:700;color:var(--n-700);line-height:1}
.pay-price-num{font-size:36px;font-weight:800;color:var(--text);line-height:1;letter-spacing:-0.5px}
.pay-hint{font-size:12px;color:var(--text-sec);background:var(--n-50);border-radius:var(--rs);padding:11px 14px;margin:12px 0 16px;line-height:1.75;border:1px solid var(--border)}
.btn-paid,.btn-contact-submit{width:100%;padding:14px;border-radius:var(--r);border:none;background:var(--btn);color:#fff;font-size:14px;font-weight:600;cursor:pointer;margin-bottom:8px}
.btn-pay-cancel,.btn-ok-close{width:100%;padding:12px;border:none;background:transparent;color:var(--n-500);font-size:13px;cursor:pointer}
.contact-input-box{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--rs);font-size:14px;margin-bottom:10px;font-family:var(--font-ui)}
.pay-step2,.pay-step3{display:none}
.ok-icon{width:52px;height:52px;background:var(--accent-50);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;color:var(--accent-600);font-size:22px;font-weight:700}

#loadingSection{display:none;padding:48px 20px;text-align:center}
.loading-ring{width:44px;height:44px;border:3px solid var(--n-200);border-top-color:var(--accent-600);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 20px}
@keyframes spin{to{transform:rotate(360deg)}}
.loading-title{font-size:16px;font-weight:600;margin-bottom:6px}
.loading-tip{font-size:12px;color:var(--n-500);margin-bottom:24px}
.loading-step{font-size:12px;color:var(--n-400);padding:8px 0;opacity:.4;transition:.3s}
.loading-step.on{color:var(--accent-600);opacity:1;font-weight:600}

#reportSection{display:none}
.rpt-header{background:var(--hero);padding:28px 20px;color:#fff}
.rpt-label{font-size:10px;opacity:.7;letter-spacing:1px;margin-bottom:8px}
.rpt-city-badge{display:inline-block;font-size:12px;background:rgba(255,255,255,.15);padding:4px 12px;border-radius:99px;margin-bottom:12px}
.rpt-summary{font-size:13px;line-height:1.8;opacity:.95;font-weight:400}
.rpt-summary p{margin-bottom:10px}
.rpt-summary p:last-child{margin-bottom:0}
.rpt-summary strong{font-weight:600;color:#fff}
.rpt-greet{font-size:15px;font-weight:700;opacity:1;margin-bottom:14px!important;letter-spacing:.3px}
.rpt-context-tag{
  display:inline-block;font-size:10px;letter-spacing:.4px;line-height:1.4;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);
  padding:5px 12px;border-radius:99px;margin:0 0 14px;opacity:.92;
}
.rpt-intro-p{margin-bottom:11px!important;line-height:1.78}
.rpt-recommend-lead{
  font-size:13.5px;font-weight:600;line-height:1.65;margin:14px 0 8px!important;
  padding-top:12px;border-top:1px solid rgba(255,255,255,.15);
}
.rpt-profile-brief{
  margin:12px 0 10px;padding:12px 14px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);
  border-radius:12px;
}
.rpt-brief-row{
  display:flex;gap:10px;margin:0;font-size:12.5px;line-height:1.65;
}
.rpt-brief-row+.rpt-brief-row{margin-top:8px}
.rpt-brief-label{
  flex-shrink:0;font-weight:600;opacity:.82;min-width:4.5em;
}
.rpt-brief-row>span:last-child{flex:1;opacity:.95}
.rpt-job-names{font-weight:500;opacity:.95}
.rpt-intro-hint{font-size:11.5px;opacity:.8;margin-bottom:4px!important}
.rpt-sec{padding:20px}
.rpt-sec-title{font-family:var(--font-display);font-size:16px;font-weight:700;margin-bottom:10px}

.job-rank-list{
  list-style:none;margin:0;padding:0;
  background:var(--card);border:1px solid var(--border-light);
  border-radius:var(--r);overflow:hidden;
}
.job-rank-item{
  display:flex;align-items:center;gap:12px;
  padding:14px 16px;border-bottom:1px solid var(--border-light);
}
.job-rank-item:last-child{border-bottom:none}
.job-rank-num{
  flex-shrink:0;width:28px;height:28px;border-radius:99px;
  background:var(--accent-50);color:var(--accent-600);
  font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;
}
.job-rank-name{font-size:14px;font-weight:600;line-height:1.45;color:var(--text)}

.job-card{background:var(--card);border-radius:var(--r);border:1px solid var(--border-light);margin-bottom:10px;overflow:hidden}
.job-card-hd{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer}
.job-card-locked .job-card-hd{cursor:default}
.job-card-hd-main{flex:1;min-width:0}
.job-card-hd .job-rank-num{
  flex-shrink:0;width:28px;height:28px;border-radius:99px;
  background:var(--accent-50);color:var(--accent-600);
  font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;
}
.job-expand-icon{
  flex-shrink:0;font-size:20px;line-height:1;color:var(--n-400);
  transform:rotate(90deg);transition:transform .2s ease;
}
.job-card:has(.job-card-bd.open) .job-expand-icon{transform:rotate(-90deg)}
.job-name{font-size:14px;font-weight:600;line-height:1.4}
.job-reason{font-size:11.5px;color:var(--text-sec);margin-top:4px;line-height:1.5}
.job-lock-badge{
  flex-shrink:0;font-size:10px;font-weight:700;color:var(--accent-600);
  background:var(--accent-50);border:1px solid var(--accent-100);
  padding:4px 8px;border-radius:99px;white-space:nowrap;
}
.job-score{flex-shrink:0;font-size:11px;font-weight:700;color:var(--accent-600);background:var(--accent-50);padding:4px 10px;border-radius:99px}
.job-card-bd{display:none;padding:0 16px 16px;border-top:1px solid var(--border-light)}
.job-card-bd.open{display:block}
.job-tag-row{margin:10px 0}
.job-tag{font-size:10px;background:var(--n-100);color:var(--n-700);padding:3px 10px;border-radius:99px;margin-right:6px}
.job-sec-name{font-size:11px;font-weight:600;color:var(--n-500);margin:12px 0 6px;letter-spacing:.5px}
.job-text{font-size:12.5px;color:var(--n-700);line-height:1.75}
.job-list{font-size:12px;color:var(--n-700);padding-left:18px;line-height:1.7}
.cert-pills{display:flex;flex-wrap:wrap;gap:6px}
.cert-pill{font-size:10px;background:var(--accent-50);color:var(--accent-600);padding:4px 10px;border-radius:99px;line-height:1.4}
.misc-box{background:var(--amber-50);border-radius:var(--rs);padding:12px;margin-top:12px;font-size:12px;line-height:1.7}
.misc-label{font-size:10px;font-weight:600;color:var(--amber-500);margin-bottom:4px}
.edu-hint{font-size:11.5px;color:var(--accent-600);background:var(--accent-50);border-left:3px solid var(--accent-600);padding:10px 12px;margin-top:12px;line-height:1.6;border-radius:0 var(--rs) var(--rs) 0}
.job-detail-note{font-size:11px;color:var(--n-500);margin-top:12px;line-height:1.65;padding-top:10px;border-top:1px solid var(--border-light)}

.report-alt-block{
  margin-top:16px;padding:16px;
  background:var(--n-50);border:1px dashed var(--border);
  border-radius:var(--r);
}
.report-alt-title{font-size:14px;font-weight:700;color:var(--text);margin-bottom:6px}
.report-alt-desc{font-size:12px;color:var(--text-sec);line-height:1.7;margin-bottom:12px}
.report-alt-actions{display:flex;flex-wrap:wrap;gap:10px}
.btn-report-alt{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:40px;padding:0 16px;border-radius:10px;
  font-size:13px;font-weight:600;text-decoration:none;
  background:var(--accent-600);color:#fff;border:none;cursor:pointer;
}
.btn-report-alt-ghost{background:#fff;color:var(--accent-600);border:1px solid var(--accent-200)}

.rpt-footer{
  padding:24px 20px;font-size:11.5px;color:var(--n-600);text-align:center;
  line-height:1.75;font-weight:500;
}
.rpt-footer-brand{font-weight:700;color:var(--text)}
.rpt-footer-sub{display:block;margin-top:6px;font-size:10px;color:var(--n-400);font-weight:400}
.report-exit-actions{
  display:grid;gap:10px;margin:0 20px 22px;
}
.report-exit-btn{
  display:flex;align-items:center;justify-content:center;box-sizing:border-box;
  min-height:44px;padding:12px 14px;border-radius:var(--r);
  font-family:var(--font-ui);font-size:13px;font-weight:700;text-decoration:none;
  cursor:pointer;
}
.report-exit-btn-primary{
  border:1px solid var(--accent-600);background:var(--accent-600);color:#fff;
}
.report-exit-btn-secondary{
  border:1px solid var(--accent-200);background:#fff;color:var(--accent-600);
}
.report-exit-home{
  display:block;padding:4px 0;text-align:center;color:var(--n-500);
  font-size:12px;font-weight:600;text-decoration:none;
}

/* 联系方式 */
.field-contact{border:1.5px solid var(--accent-100);background:var(--accent-50)}
.contact-input{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--rs);font-size:14px;font-family:var(--font-ui);outline:none;margin-bottom:10px}
.contact-input:last-child{margin-bottom:0}
.contact-input:focus{border-color:var(--accent-600);box-shadow:0 0 0 3px rgba(21,87,255,.08)}
.contact-note{font-size:11px;color:var(--text-sec);line-height:1.65;margin-top:10px}

/* 支付弹层 */
.pay-qr-wrap{text-align:center;margin:12px 0}
.pay-qr-wrap img{width:min(220px,72vw);border-radius:12px;border:1px solid var(--border)}
.pay-merchant{font-size:11px;color:var(--n-500);text-align:center;margin-bottom:8px}
.pay-remark-box{
  background:#FEF3C7;border:1px solid #FCD34D;border-radius:var(--rs);
  padding:12px 14px;margin:12px 0;text-align:center;color:#92400E;
}
.pay-remark-lead{
  display:flex;align-items:center;justify-content:center;gap:5px;
  margin:0 0 10px;font-size:12.5px;line-height:1.5;font-weight:500;
}
.pay-remark-icon{flex-shrink:0;font-size:13px;line-height:1}
.pay-remark-code-row{
  display:flex;align-items:center;justify-content:center;gap:10px;
  margin:0;line-height:1;
}
.pay-remark-label{font-size:13px;font-weight:500;color:#92400E;white-space:nowrap}
.pay-remark-code{
  font-size:24px;font-weight:800;letter-spacing:6px;color:#B45309;
  font-variant-numeric:tabular-nums;line-height:1;
}
.pay-check{display:flex;align-items:flex-start;gap:10px;margin:14px 0;padding:12px;background:var(--n-50);border-radius:var(--rs);border:1px solid var(--border);cursor:pointer}
.pay-check input{width:18px;height:18px;margin-top:2px;accent-color:var(--accent-600);flex-shrink:0}
.pay-check span{font-size:12px;line-height:1.6;color:var(--n-700)}

/* 详档告知 */
.delivery-banner{display:flex;gap:14px;background:linear-gradient(135deg,var(--accent-50),#fff);border:1px solid var(--accent-100);border-radius:var(--r);padding:16px;margin-bottom:16px}
.delivery-icon{font-size:28px;flex-shrink:0}
.delivery-text{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-sec);line-height:1.65}
.delivery-text strong{font-size:14px;color:var(--text)}
.delivery-meta{font-size:11px;color:var(--n-500)}
.delivery-meta em{font-style:normal;color:var(--accent-600);font-weight:600}

/* 简版岗位卡 */
.job-card-simple{display:flex;gap:12px;padding:14px 16px;align-items:flex-start}
.job-simple-rank{width:28px;height:28px;border-radius:8px;background:var(--accent-600);color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.job-simple-body{flex:1;min-width:0}
.job-simple-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px}
.job-simple-teaser{font-size:12px;color:var(--n-500);margin-top:8px;line-height:1.6}
.job-simple-lock{font-size:11px;color:var(--accent-600);margin-top:8px;font-weight:500;line-height:1.55}

/* 导流区 */
.follow-section{
  padding:24px 20px 28px;
  background:linear-gradient(180deg,var(--n-100) 0%,var(--bg) 120px);
  border-top:1px solid var(--border-light);
}
.follow-head{margin-bottom:16px}
.follow-eyebrow{
  font-size:10px;font-weight:600;letter-spacing:2px;
  color:var(--accent-600);text-transform:uppercase;margin-bottom:6px;
}
.follow-title{
  font-family:var(--font-display);font-size:18px;font-weight:800;
  line-height:1.45;color:var(--text);
}
.follow-subtitle{
  margin-top:6px;font-size:12px;color:var(--text-sec);line-height:1.6;
}
.follow-steps{
  list-style:none;margin:0 0 18px;padding:0;
  display:flex;flex-direction:column;gap:8px;
}
.follow-steps li{
  display:flex;align-items:flex-start;gap:10px;
  font-size:12px;color:var(--n-700);line-height:1.6;
  background:var(--card);border:1px solid var(--border-light);
  border-radius:var(--rs);padding:10px 12px;
}
.follow-step-num{
  flex-shrink:0;width:20px;height:20px;border-radius:6px;
  background:var(--accent-600);color:#fff;
  font-size:11px;font-weight:700;
  display:flex;align-items:center;justify-content:center;
}
.follow-step-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.follow-steps strong{color:var(--accent-600);font-weight:600}
.btn-follow-copy{
  align-self:flex-start;border:none;border-radius:8px;
  background:var(--accent-600);color:#fff;
  font-family:var(--font-ui);font-size:11px;font-weight:700;
  padding:8px 11px;line-height:1;cursor:pointer;
}
.btn-follow-copy.is-copied{background:#0D5C4A}

.follow-primary{
  position:relative;background:var(--card);
  border:1.5px solid var(--accent-100);
  border-radius:16px;padding:16px;
  box-shadow:0 8px 28px rgba(15,23,42,.06);
  margin-bottom:20px;
}
.follow-primary-tag{
  position:absolute;top:12px;right:12px;
  font-size:10px;font-weight:600;color:#fff;
  background:var(--accent-600);padding:3px 10px;border-radius:99px;
}
.follow-primary-body{
  display:flex;align-items:center;gap:16px;
}
.follow-qr-frame{
  flex-shrink:0;width:118px;
  background:var(--n-50);border:1px solid var(--border-light);
  border-radius:12px;padding:8px;text-align:center;
}
.follow-qr-frame img{
  width:100px;height:100px;object-fit:contain;
  border-radius:8px;display:block;margin:0 auto;
}
.follow-qr-frame.is-empty img{display:none}
.follow-qr-caption{
  display:block;margin-top:6px;font-size:10px;color:var(--n-500);
}
.follow-primary-info{flex:1;min-width:0;padding-top:4px}
.follow-label{
  font-size:15px;font-weight:700;color:var(--text);
  line-height:1.4;margin-bottom:8px;
}
.follow-id{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;
  margin-bottom:8px;font-size:12px;
}
.follow-id span{
  color:var(--n-500);background:var(--n-100);
  padding:2px 8px;border-radius:4px;font-size:10px;
}
.follow-id em{
  font-style:normal;font-weight:600;color:var(--accent-600);
  word-break:break-all;
}
.follow-hint{
  font-size:11.5px;color:var(--text-sec);line-height:1.65;
  padding-left:10px;border-left:2px solid var(--accent-100);
}

.follow-more-title{
  font-size:11px;font-weight:600;color:var(--n-500);
  letter-spacing:1px;margin-bottom:10px;text-align:center;
}
.follow-channels{
  display:flex;justify-content:center;align-items:flex-start;
  gap:16px;flex-wrap:wrap;
}
.follow-channel{
  flex:0 0 132px;width:132px;max-width:calc(50% - 8px);
  background:var(--card);border:1px solid var(--border-light);
  border-radius:var(--r);padding:14px 10px 12px;text-align:center;
  box-sizing:border-box;
}
.follow-channel-qr{
  width:96px;height:96px;margin:0 auto 10px;
  background:#fff;border:1px solid var(--border-light);
  border-radius:12px;
  display:flex;align-items:center;justify-content:center;
}
.follow-channel-qr img{
  display:block;width:84px;height:84px;object-fit:contain;
}
.follow-channel-qr--mini img{
  width:76px;height:76px;object-fit:contain;object-position:center;
}
.follow-channel-label{
  font-size:11px;font-weight:600;color:var(--n-700);
  line-height:1.5;word-break:keep-all;text-align:center;
  display:flex;align-items:center;justify-content:center;
  min-height:18px;margin:0 auto;
}
.follow-channels:has(.follow-channel:only-child){justify-content:center}
.follow-channels:has(.follow-channel:only-child) .follow-channel{max-width:160px}
@media(max-width:360px){
  .follow-primary-body{flex-direction:column;align-items:stretch}
  .follow-qr-frame{width:100%;max-width:140px;margin:0 auto}
  .follow-primary-info{text-align:center;padding-top:0}
  .follow-hint{text-align:left}
}

/* 考证登记入口 */
.cert-entry-wrap{padding:0 20px 16px}
.report-cert-block{
  margin:0 20px 12px;
  background:linear-gradient(145deg,var(--accent-50) 0%,#fff 58%);
  border:1px solid var(--accent-100);
  border-radius:calc(var(--r) + 2px);
  overflow:hidden;
  position:relative;
}
.report-cert-block::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:4px;
  background:linear-gradient(180deg,var(--btn),var(--accent-500));
}
.report-cert-inner{padding:18px 16px 16px 20px}
.report-cert-eyebrow{
  display:inline-block;font-size:10px;font-weight:700;letter-spacing:.6px;
  color:var(--accent-600);margin-bottom:10px;
  background:rgba(255,255,255,.75);border:1px solid var(--accent-100);
  padding:4px 10px;border-radius:99px;
}
.report-cert-title{
  display:flex;flex-direction:column;gap:4px;
  font-family:var(--font-display);line-height:1.4;margin-bottom:12px;color:var(--text);
}
.report-cert-title-lead{font-size:14px;font-weight:600;color:var(--text-sec)}
.report-cert-title-main{font-size:17px;font-weight:700;color:var(--text)}
.report-cert-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.report-cert-tag{
  font-size:10px;font-weight:600;color:var(--accent-600);
  background:rgba(255,255,255,.9);border:1px solid var(--accent-100);
  padding:4px 9px;border-radius:99px;line-height:1.35;
}
.report-cert-desc{font-size:11.5px;color:var(--text-sec);line-height:1.6;margin-bottom:14px}
.report-cert-block .cert-entry-wrap{padding:0;margin:0}
.btn-cert-entry{
  width:100%;padding:14px 16px;border-radius:var(--r);
  font-size:13px;font-weight:600;font-family:var(--font-ui);cursor:pointer;
  display:flex;align-items:center;justify-content:flex-start;gap:8px;
  color:var(--text);transition:.15s;touch-action:manipulation;
}
.btn-cert-entry-text{flex:1;min-width:0;text-align:left;line-height:1.45}
.btn-cert-entry--hub{
  border:1.5px dashed var(--accent-100);background:var(--card);
}
.btn-cert-entry--hub:active{background:var(--accent-50);border-style:solid}
.btn-cert-entry--report{
  border:none;background:var(--btn);color:#fff;
  box-shadow:0 4px 16px var(--btn-shadow);
  justify-content:space-between;align-items:center;
  padding:14px 16px;border-radius:calc(var(--r) + 2px);
  gap:10px;
}
.btn-cert-entry--report:active{opacity:.92;transform:scale(.995)}
.btn-cert-report-text{
  flex:1;min-width:0;text-align:left;
  font-size:13px;font-weight:600;line-height:1.5;
}
.btn-cert-report-arrow{
  flex-shrink:0;width:28px;height:28px;border-radius:50%;
  background:rgba(255,255,255,.18);
  display:flex;align-items:center;justify-content:center;
  font-size:15px;font-weight:700;line-height:1;
}
@media(max-width:360px){
  .report-cert-title-main{font-size:16px}
  .btn-cert-report-text{font-size:12.5px}
}
.btn-cert-entry-icon{font-size:18px;line-height:1}
.cert-entry-badge{
  flex-shrink:0;font-size:9px;font-weight:700;color:var(--accent-600);
  background:var(--accent-50);padding:4px 8px;border-radius:99px;
  white-space:nowrap;letter-spacing:.2px;
}
.hub-cards .cert-entry-wrap{padding:0}
[data-theme="hub"] .hub-cards .btn-cert-entry--hub{
  border-color:var(--accent-100);background:var(--card);color:var(--n-700);
}
[data-theme="hub"] .hub-cards .cert-entry-badge{background:var(--accent-50);color:#059669}

/* 考证弹层 */
.cert-overlay{
  position:fixed;inset:0;background:rgba(8,17,31,.55);backdrop-filter:blur(6px);
  display:none;align-items:flex-end;justify-content:center;z-index:200;
}
.cert-overlay.show{display:flex}
.cert-sheet{
  background:var(--white);width:100%;max-width:480px;border-radius:20px 20px 0 0;
  max-height:92vh;overflow-y:auto;padding-bottom:calc(20px + var(--safe-bot));
  animation:slideUp .28s ease;
}
.cert-drag{width:32px;height:3px;background:var(--n-200);border-radius:2px;margin:14px auto 0}
.cert-hd{
  padding:14px 20px 12px;display:flex;justify-content:space-between;align-items:center;
  position:sticky;top:0;background:var(--white);z-index:2;border-bottom:1px solid var(--border-light);
}
.cert-hd-title{font-family:var(--font-display);font-size:16px;font-weight:700}
.cert-close{
  width:30px;height:30px;border:none;background:var(--n-100);border-radius:50%;
  cursor:pointer;font-size:18px;color:var(--n-500);line-height:1;
}
.cert-body{padding:16px 20px 8px}
.cert-loading{font-size:13px;color:var(--text-sec);text-align:center;padding:32px 12px;line-height:1.6}
.cert-intro{font-size:12.5px;color:var(--text-sec);line-height:1.7;margin-bottom:14px}
.cf{margin-bottom:14px}
.cl{font-size:12px;font-weight:600;color:var(--text);margin-bottom:6px;display:block}
.cl .req{color:#DC2626;margin-left:2px}
.cl .hint{font-weight:400;color:var(--n-400);font-size:10px;margin-left:4px}
.ci{
  width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--rs);
  font-size:14px;font-family:var(--font-ui);outline:none;
}
.ci:focus{border-color:var(--accent-600);box-shadow:0 0 0 3px rgba(21,87,255,.08)}
.cert-type-row{display:flex;gap:8px}
.cert-type-chip{
  flex:1;padding:10px 8px;border:1.5px solid var(--border);border-radius:var(--rs);
  background:var(--white);font-size:12.5px;font-weight:600;cursor:pointer;color:var(--n-700);
}
.cert-type-chip.on{background:var(--accent-50);border-color:var(--accent-600);color:var(--accent-600)}
.cert-type-hint{font-size:11px;color:var(--n-500);margin-top:8px;line-height:1.65}
.cert-search{margin-bottom:8px}
.cert-pick-count{font-size:11px;color:var(--accent-600);font-weight:600;margin:6px 0 10px}
.cert-pick-list{
  max-height:min(42vh,320px);overflow-y:auto;border:1px solid var(--border-light);
  border-radius:var(--rs);background:var(--n-50);padding:8px;
}
.cert-pick-empty{font-size:12px;color:var(--n-500);text-align:center;padding:24px 12px}
.cert-not-found{
  padding:16px 14px;border-radius:var(--rs);
  background:var(--white);border:1px dashed var(--accent-100);
  text-align:center;
}
.cert-not-found-label{font-size:10px;font-weight:600;letter-spacing:1px;color:var(--n-400);margin-bottom:6px}
.cert-not-found-query{
  font-family:var(--font-display);font-size:15px;font-weight:800;color:var(--text);
  line-height:1.45;margin-bottom:10px;word-break:break-word;
}
.cert-not-found-desc{
  font-size:12px;color:var(--text-sec);line-height:1.75;text-align:left;
  margin-bottom:14px;padding:10px 12px;background:var(--accent-50);
  border-radius:var(--rs);border-left:3px solid var(--accent-600);
}
.btn-cert-custom{
  width:100%;padding:12px;border:none;border-radius:var(--rs);
  background:var(--accent-600);color:#fff;font-size:13px;font-weight:600;
  font-family:var(--font-ui);cursor:pointer;margin-bottom:8px;
}
.btn-cert-custom:disabled{background:var(--n-300)}
.cert-not-found-tip{font-size:10.5px;color:var(--n-400);line-height:1.6}
.cert-cat{margin-bottom:12px}
.cert-cat:last-child{margin-bottom:0}
.cert-cat-title{
  font-size:11px;font-weight:700;color:var(--n-500);letter-spacing:.5px;
  margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;
}
.cert-cat-title span{font-weight:500;color:var(--n-400)}
.cert-chip-grid{display:flex;flex-wrap:wrap;gap:6px}
.cert-pick-chip{
  text-align:left;padding:8px 10px;border:1.5px solid var(--border);border-radius:var(--rs);
  background:var(--white);cursor:pointer;max-width:100%;transition:.12s;
}
.cert-pick-chip.on{background:var(--accent-50);border-color:var(--accent-600)}
.cert-pick-chip.disabled{opacity:.45;cursor:not-allowed}
.cert-pick-name{display:block;font-size:12px;font-weight:600;color:var(--text);line-height:1.35}
.cert-pick-meta{display:block;font-size:10px;color:var(--n-500);margin-top:2px;line-height:1.4}
.cert-tr-hint{font-size:11px;color:var(--n-500);margin-bottom:10px;line-height:1.55}
.cert-tr-back{
  display:inline-flex;align-items:center;gap:4px;padding:0;border:none;background:none;
  font-size:12px;font-weight:600;color:var(--accent-600);cursor:pointer;margin-bottom:8px;
}
.cert-tr-crumb{font-size:13px;font-weight:700;color:var(--text);margin-bottom:4px}
.cert-cat-banners{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cert-cat-banner{
  text-align:left;padding:12px;border:1.5px solid var(--border);border-radius:var(--rs);
  background:var(--white);cursor:pointer;transition:.12s;
}
.cert-cat-banner:hover,.cert-cat-banner:focus-visible{border-color:var(--accent-600);background:var(--accent-50)}
.cert-cat-banner-label{display:block;font-size:13px;font-weight:700;color:var(--text);line-height:1.35}
.cert-cat-banner-desc{display:block;font-size:10px;color:var(--n-500);margin-top:4px;line-height:1.45}
.cert-cat-banner-count{display:block;font-size:10px;color:var(--accent-600);font-weight:600;margin-top:6px}
.cert-type-list{display:flex;flex-direction:column;gap:6px}
.cert-type-item{border:1px solid var(--border-light);border-radius:var(--rs);overflow:hidden;background:var(--white)}
.cert-type-head{
  width:100%;padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:8px;
  border:none;background:var(--white);cursor:pointer;text-align:left;
}
.cert-type-head:not(:has(.cert-type-meta)){justify-content:flex-start}
.cert-type-head.open{background:var(--accent-50)}
.cert-type-name{font-size:12.5px;font-weight:600;color:var(--text);line-height:1.35}
.cert-type-meta{font-size:10px;color:var(--n-500);white-space:nowrap;flex-shrink:0}
.cert-org-list{padding:0 8px 8px;background:var(--n-50)}
.cert-search-results{display:flex;flex-direction:column;gap:6px}
.cert-org-opt{
  width:100%;padding:9px 10px;border:1.5px solid var(--border);border-radius:8px;
  background:var(--white);cursor:pointer;text-align:left;transition:.12s;
}
.cert-org-opt:first-child{margin-top:4px}
.cert-org-opt.on{background:var(--accent-50);border-color:var(--accent-600)}
.cert-org-opt.disabled{opacity:.45;cursor:not-allowed}
.cert-org-name{display:block;font-size:12px;font-weight:600;color:var(--text);line-height:1.35}
.cert-org-meta{display:block;font-size:10px;color:var(--n-500);margin-top:2px;line-height:1.45}
.cert-notify{
  display:flex;align-items:flex-start;gap:10px;padding:12px 14px;
  background:var(--n-50);border-radius:var(--rs);border:1px solid var(--border);cursor:pointer;
}
.cert-notify input{width:16px;height:16px;margin-top:2px;accent-color:var(--accent-600);flex-shrink:0}
.cn-text{font-size:12px;line-height:1.55;color:var(--n-700)}
.cn-text small{display:block;margin-top:3px;font-size:10px;color:var(--n-500)}
.btn-cert-sub{
  width:100%;padding:14px;border-radius:var(--r);border:none;background:var(--btn);
  color:#fff;font-size:14px;font-weight:600;cursor:pointer;margin-top:14px;
}
.btn-cert-sub:disabled{background:var(--n-300);cursor:not-allowed}
.cert-foot-note{font-size:10px;color:var(--n-400);text-align:center;margin-top:12px;line-height:1.6}
.cert-success{padding:28px 8px 12px;text-align:center}
.cert-ok-icon{
  width:52px;height:52px;border-radius:50%;background:var(--accent-50);
  color:var(--accent-600);font-size:22px;font-weight:700;
  display:flex;align-items:center;justify-content:center;margin:0 auto 12px;
}
.cert-ok-title{font-family:var(--font-display);font-size:17px;font-weight:700;margin-bottom:8px}
.cert-ok-sub{font-size:12px;color:var(--text-sec);line-height:1.75;margin-bottom:20px}
.cert-qr-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:12px}
.cert-qr-item img{width:100px;height:100px;object-fit:contain;border-radius:10px;border:1px solid var(--border-light)}
.cert-qr-item span{display:block;font-size:10.5px;color:var(--n-500);margin-top:6px;max-width:110px}
.cert-qr-guide{
  width:100%;max-width:260px;margin:0 auto 18px;
  padding:10px 12px;border:1px solid var(--border-light);
  border-radius:var(--rs);background:var(--n-50);
}
.cert-qr-keywords{font-size:12px;font-weight:700;color:var(--text);line-height:1.55;margin-bottom:3px}
.cert-qr-desc{font-size:11px;color:var(--text-sec);line-height:1.55}
.btn-cert-done{
  width:100%;padding:12px;border:1px solid var(--border);border-radius:var(--r);
  background:var(--card);font-size:13px;cursor:pointer;color:var(--text-sec);
}
