/* ============ COMPLETE-YOUR-PROFILE BANNER (home page) ============ */
.cs-profile-banner{
  display:flex;align-items:center;gap:14px;
  background:linear-gradient(90deg, rgba(37,99,235,0.07), rgba(16,185,129,0.07));
  border:1px solid rgba(37,99,235,0.18);
  border-radius:var(--radius-sm);
  padding:14px 16px;
  margin:0 0 18px;
}
.cs-profile-banner-ico{font-size:22px;line-height:1;flex-shrink:0;}
.cs-profile-banner-text{flex:1;min-width:0;}
.cs-profile-banner-title{font-family:var(--font-display);font-weight:800;font-size:14.5px;color:var(--ink);}
.cs-profile-banner-sub{font-size:12.5px;color:var(--ink-soft);margin-top:2px;line-height:1.4;}
.cs-profile-banner-btn{flex-shrink:0;padding:9px 16px;font-size:13px;white-space:nowrap;}

@media (max-width:520px){
  .cs-profile-banner{flex-wrap:wrap;}
  .cs-profile-banner-btn{width:100%;}
}

/* ============ COMPLETE-PROFILE MODAL ============ */
body.cpm-lock-scroll{overflow:hidden;}

.cpm-overlay{
  position:fixed;inset:0;z-index:900;
  background:rgba(17,24,39,0.5);
  display:flex;align-items:center;justify-content:center;
  padding:20px;
  animation:cpmFadeIn .2s ease;
}
@keyframes cpmFadeIn{from{opacity:0;}to{opacity:1;}}

.cpm-dialog{
  position:relative;
  width:100%;max-width:480px;max-height:88vh;
  background:#fff;border-radius:24px;box-shadow:var(--shadow-lg);
  padding:32px 28px 24px;
  display:flex;flex-direction:column;
  animation:cpmSlideUp .3s cubic-bezier(.2,.8,.2,1);
}
@keyframes cpmSlideUp{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}

.cpm-close{
  position:absolute;top:18px;right:18px;
  width:32px;height:32px;border-radius:50%;border:none;background:var(--bg-soft);
  color:var(--ink-soft);font-size:14px;cursor:pointer;
}
.cpm-close:hover{background:var(--line);}

.cpm-title{font-family:var(--font-display);font-weight:800;font-size:22px;letter-spacing:-0.02em;margin:0 0 6px;padding-right:30px;}
.cpm-sub{font-size:13.5px;color:var(--ink-soft);line-height:1.5;margin:0 0 20px;}

.cpm-body{overflow-y:auto;flex:1;padding-right:2px;}
.cpm-section-label{font-family:var(--font-display);font-weight:700;font-size:13.5px;color:var(--ink);margin-bottom:10px;}

.cpm-edu-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:6px;}
.cpm-select-card{
  display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;
  padding:14px 10px;border:1.5px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;
  transition:border-color .15s, transform .15s;
}
.cpm-select-card .ob-select-icon{font-size:20px;}
.cpm-select-card .ob-select-title{font-weight:700;font-size:13px;}

.cpm-purpose-row{display:flex;gap:8px;flex-wrap:wrap;}
.cpm-purpose-row .ob-purpose-card{flex:1;min-width:100px;font-size:12.5px;padding:12px 8px;}

.cpm-err{color:#DC2626;font-size:12.5px;font-weight:600;min-height:16px;margin-top:12px;}

.cpm-footer{display:flex;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line);}
.cpm-footer .btn{flex:1;}

@media (max-width:420px){
  .cpm-dialog{padding:26px 20px 18px;border-radius:18px;}
  .cpm-edu-grid{grid-template-columns:1fr 1fr;}
}
