:root{--ctn-blue:#2457d6;--ctn-cyan:#18bfe8;--ctn-purple:#743eea;--ctn-ink:#14213d;--ctn-muted:#667085;--ctn-bg:#f7f9fc;--ctn-border:#e6eaf1;--ctn-white:#fff;--ctn-grad:linear-gradient(135deg,var(--ctn-blue),var(--ctn-purple));--ctn-shadow:0 16px 45px rgba(30,55,110,.10)}
.ctn-directory,.ctn-dashboard,.ctn-public-profile,.ctn-login-required,.ctn-auth-shell{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ctn-ink)}
.ctn-kicker{font-size:11px;letter-spacing:.16em;font-weight:800;color:var(--ctn-blue);text-transform:uppercase}
.ctn-gradient-btn{border:0!important;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--ctn-grad)!important;color:#fff!important;padding:13px 22px;border-radius:12px;text-decoration:none;font-weight:750;cursor:pointer;box-shadow:0 10px 25px rgba(36,87,214,.20);transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}
.ctn-gradient-btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(36,87,214,.26)}
.ctn-gradient-btn:disabled{opacity:.7;cursor:wait;transform:none}
.ctn-outline-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border:1px solid #cfd6e3;border-radius:10px;background:#fff;color:var(--ctn-ink);font-weight:700;text-decoration:none;transition:.2s ease}
.ctn-outline-btn:hover{border-color:var(--ctn-blue);color:var(--ctn-blue);transform:translateY(-1px)}
.ctn-spinner{display:none;width:15px;height:15px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:ctnspin .7s linear infinite}.is-loading .ctn-spinner{display:inline-block}@keyframes ctnspin{to{transform:rotate(360deg)}}

/* Directory */
.ctn-directory{display:grid;grid-template-columns:275px 1fr;gap:32px;background:var(--ctn-bg);padding:28px;border-radius:22px}
.ctn-filters{background:#fff;border:1px solid var(--ctn-border);border-radius:18px;padding:22px;height:max-content;position:sticky;top:25px;box-shadow:0 10px 30px rgba(20,33,61,.05)}
.ctn-filter-title{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--ctn-border);font-size:18px}.ctn-filter-title a{font-size:12px;color:var(--ctn-blue);text-decoration:none}.ctn-filter-group{padding:17px 0;border-bottom:1px solid var(--ctn-border)}.ctn-filter-group label{display:block;font-weight:700;font-size:13px;margin-bottom:8px}.ctn-filter-group select,.ctn-form input,.ctn-form select,.ctn-form textarea,.ctn-form-section input,.ctn-form-section select,.ctn-form-section textarea{width:100%;box-sizing:border-box;border:1px solid #dce2ec;background:#fff;color:var(--ctn-ink);border-radius:10px;padding:12px 13px;outline:none;transition:border-color .2s,box-shadow .2s}.ctn-filter-group select:focus,.ctn-form input:focus,.ctn-form select:focus,.ctn-form textarea:focus,.ctn-form-section input:focus,.ctn-form-section select:focus,.ctn-form-section textarea:focus{border-color:var(--ctn-blue);box-shadow:0 0 0 3px rgba(36,87,214,.10)}.ctn-filters .ctn-gradient-btn{width:100%;margin-top:18px}.ctn-results-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:24px}.ctn-results-head h1{font-size:34px;line-height:1.1;margin:5px 0 8px}.ctn-results-head p{margin:0;color:var(--ctn-muted)}.ctn-count{font-weight:750;color:var(--ctn-blue);background:#eef3ff;padding:9px 13px;border-radius:999px;font-size:13px}.ctn-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.ctn-card{background:#fff;border:1px solid var(--ctn-border);border-radius:17px;overflow:hidden;position:relative;box-shadow:0 10px 25px rgba(20,33,61,.06);transition:transform .22s ease,box-shadow .22s ease}.ctn-card:hover{transform:translateY(-5px);box-shadow:var(--ctn-shadow)}.ctn-card-top{height:78px;background:var(--ctn-grad);padding:12px}.ctn-course-pill{font-size:10px;color:#fff;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:5px 8px;display:inline-block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ctn-card-avatar{margin:-38px auto 0;width:86px;height:86px;position:relative;border-radius:50%;background:#fff;padding:4px;box-shadow:0 7px 18px rgba(20,33,61,.15)}.ctn-avatar{width:100%;height:100%;object-fit:cover;border-radius:50%}.ctn-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eaf0ff,#f3eaff);color:var(--ctn-blue);font-size:27px;font-weight:800}.ctn-card-body{text-align:center;padding:15px 16px 20px}.ctn-card-body h3{font-size:16px;margin:0 0 5px}.ctn-course{font-size:12px;color:var(--ctn-muted);min-height:18px;margin-bottom:15px}.ctn-card .ctn-outline-btn{font-size:12px;padding:8px 13px;border-radius:999px}.ctn-empty{background:#fff;border:1px dashed #ccd5e4;padding:45px;border-radius:15px;color:var(--ctn-muted);text-align:center}

/* Auth */
.ctn-auth-shell{min-height:640px;display:flex;align-items:center;justify-content:center;padding:45px 18px;background:radial-gradient(circle at 15% 15%,rgba(24,191,232,.10),transparent 30%),radial-gradient(circle at 85% 85%,rgba(116,62,234,.10),transparent 30%),#f8faff}.ctn-auth-card{width:min(900px,100%);min-height:500px;background:#fff;border:1px solid var(--ctn-border);border-radius:22px;overflow:hidden;display:grid;grid-template-columns:42% 58%;box-shadow:0 28px 80px rgba(20,33,61,.12);animation:ctnup .5s ease both}@keyframes ctnup{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.ctn-auth-brand{background:var(--ctn-grad);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px;position:relative;overflow:hidden}.ctn-auth-brand:before,.ctn-auth-brand:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.16);border-radius:50%;width:300px;height:300px}.ctn-auth-brand:before{transform:translate(-35%,35%)}.ctn-auth-brand:after{transform:translate(35%,-35%)}.ctn-auth-orb{width:170px;height:170px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 18px 50px rgba(13,35,100,.22);position:relative;z-index:1}.ctn-auth-orb span{font-size:72px;font-weight:900;background:var(--ctn-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.ctn-auth-brand b{display:block;font-size:27px;letter-spacing:.08em;margin-top:22px}.ctn-auth-brand small{display:block;margin-top:5px;opacity:.85}.ctn-auth-form{padding:62px 64px;display:flex;flex-direction:column;justify-content:center}.ctn-auth-form h1{font-size:32px;margin:7px 0}.ctn-auth-form>p{color:var(--ctn-muted);margin:0 0 26px;line-height:1.6}.ctn-form{display:grid;gap:16px}.ctn-form label,.ctn-form-section label{font-size:13px;font-weight:700}.ctn-form label>input,.ctn-form label>select,.ctn-form label>textarea{display:block;margin-top:7px}.ctn-password{position:relative}.ctn-password input{padding-right:45px!important}.ctn-password button{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:none;color:#78849b;cursor:pointer}.ctn-password button.is-visible{color:var(--ctn-blue)}.ctn-forgot{margin:18px auto 0;color:var(--ctn-blue);text-decoration:none;font-size:13px;font-weight:650}.ctn-auth-note{margin-top:25px;color:#98a2b3;font-size:11px;text-align:center}.ctn-alert{padding:12px 14px;border-radius:10px;font-size:13px;margin:0 0 17px}.ctn-alert-error{background:#fff1f2;color:#b42318;border:1px solid #ffd4d8}.ctn-alert-success{background:#ecfdf3;color:#067647;border:1px solid #abefc6}.ctn-auth-small{display:block;min-height:auto;width:min(520px,100%);padding:55px;text-align:center}.ctn-success-icon{width:56px;height:56px;margin:0 auto 18px;border-radius:50%;background:#eafaf2;color:#07864b;display:grid;place-items:center;font-size:25px;font-weight:900}.ctn-text-link{display:block;margin-top:16px;color:var(--ctn-muted);text-decoration:none;font-size:13px}

/* Dashboard */
.ctn-dashboard{background:var(--ctn-bg);padding:28px;border-radius:22px}.ctn-dashboard-top{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:25px}.ctn-dashboard-top h1{font-size:32px;margin:5px 0}.ctn-dashboard-top p{margin:0;color:var(--ctn-muted)}.ctn-profile-status{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--ctn-border);padding:12px 15px;border-radius:999px;font-size:12px;font-weight:700}.ctn-profile-status i{width:35px;height:19px;background:#d0d5dd;border-radius:20px;position:relative}.ctn-profile-status i:after{content:"";position:absolute;width:15px;height:15px;top:2px;left:2px;border-radius:50%;background:#fff;transition:.2s}.ctn-profile-status i.on{background:linear-gradient(90deg,var(--ctn-cyan),var(--ctn-blue))}.ctn-profile-status i.on:after{left:18px}.ctn-tabs{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid var(--ctn-border);border-radius:14px;overflow:hidden;margin-bottom:20px;box-shadow:0 8px 22px rgba(20,33,61,.04)}.ctn-tabs a{text-align:center;text-decoration:none;color:var(--ctn-muted);padding:17px;font-weight:750;position:relative}.ctn-tabs a:after{content:"";position:absolute;left:20%;right:20%;bottom:0;height:3px;border-radius:3px;background:transparent}.ctn-tabs a.active{color:var(--ctn-blue)}.ctn-tabs a.active:after{background:var(--ctn-blue)}.ctn-form-section{background:#fff;border:1px solid var(--ctn-border);border-radius:17px;padding:26px;margin-bottom:18px;scroll-margin-top:20px}.ctn-form-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.ctn-form-head h2{margin:3px 0;font-size:22px}.ctn-form-head>span{color:var(--ctn-muted);font-size:12px}.ctn-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.ctn-form-grid label,.ctn-form-section>label{display:block}.ctn-form-section fieldset{border:0;padding:0;margin:0}.ctn-form-section legend{font-size:13px;font-weight:700;margin-bottom:9px}.ctn-radio{display:inline-flex!important;align-items:center;gap:5px;margin-right:15px!important;font-weight:500!important}.ctn-radio input{width:auto!important}.ctn-full{display:block;margin-top:18px}.ctn-form-section small{display:block;color:#98a2b3;margin-top:7px;font-size:11px}.ctn-photo-editor{display:flex;align-items:center;gap:17px}.ctn-photo-editor>div{width:90px;height:90px;border-radius:50%;overflow:hidden;flex:none}.ctn-photo-editor .ctn-profile-photo{width:100%;height:100%;object-fit:cover}.ctn-upload{font-size:13px!important;color:var(--ctn-blue);cursor:pointer}.ctn-upload input{margin-top:8px!important;padding:8px!important;font-weight:400}.ctn-check{display:flex!important;align-items:center;gap:10px;padding:13px;border:1px solid var(--ctn-border);border-radius:10px}.ctn-check input,.ctn-profile-control input{width:auto!important}.ctn-help{margin-top:5px}.ctn-profile-control{background:#eef5ff;border:1px solid #d9e6ff;border-radius:13px;padding:14px 17px;margin-bottom:18px}.ctn-profile-control label{display:flex;gap:10px;align-items:center;font-size:13px;font-weight:700}.ctn-save-row{display:flex;justify-content:flex-end;gap:12px}.ctn-login-required{padding:60px 20px;text-align:center;background:#f7f9fc;border-radius:18px}.ctn-login-required h2{margin:8px 0 22px}

/* Public profile */
.ctn-public-profile{max-width:1100px;margin:0 auto;padding:30px 10px}.ctn-public-hero{display:flex;align-items:center;gap:25px;padding:30px 5px 34px;position:relative}.ctn-back{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--ctn-border);border-radius:10px;text-decoration:none;color:var(--ctn-ink);position:absolute;left:0;top:0}.ctn-profile-photo-wrap{width:125px;height:125px;border-radius:50%;padding:5px;background:linear-gradient(135deg,var(--ctn-cyan),var(--ctn-purple));box-shadow:0 15px 35px rgba(36,87,214,.18);margin-left:55px}.ctn-profile-photo{width:100%;height:100%;object-fit:cover;border-radius:50%;background:#fff}.ctn-public-title h1{font-size:34px;margin:5px 0}.ctn-profile-course{font-weight:700;color:var(--ctn-blue);margin-bottom:12px}.ctn-public-links{display:flex;gap:9px;flex-wrap:wrap}.ctn-public-links a{font-size:12px;color:var(--ctn-blue);background:#eef4ff;border-radius:999px;padding:6px 10px;text-decoration:none}.ctn-profile-section{background:#fff;border:1px solid var(--ctn-border);border-radius:15px;overflow:hidden;margin:0 0 17px;box-shadow:0 10px 30px rgba(20,33,61,.05)}.ctn-section-bar{background:var(--ctn-grad);color:#fff;padding:12px 17px;font-size:17px;font-weight:800}.ctn-section-body{padding:21px}.ctn-section-body p{margin:0;color:#4f5d75;line-height:1.75}.ctn-tags{display:flex;gap:9px;flex-wrap:wrap}.ctn-tags span{border:1px solid #cfd7e6;padding:8px 12px;border-radius:999px;font-size:12px;background:#fff}.ctn-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px 45px}.ctn-info-grid div{display:grid;gap:4px}.ctn-info-grid b{font-size:13px}.ctn-info-grid span{font-size:12px;color:var(--ctn-muted)}
@media(max-width:1100px){.ctn-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ctn-directory{grid-template-columns:235px 1fr}}
@media(max-width:800px){.ctn-directory{grid-template-columns:1fr;padding:15px}.ctn-filters{position:static}.ctn-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ctn-auth-card{grid-template-columns:1fr}.ctn-auth-brand{min-height:230px;padding:28px}.ctn-auth-orb{width:110px;height:110px}.ctn-auth-orb span{font-size:48px}.ctn-auth-brand b{font-size:20px;margin-top:13px}.ctn-auth-form{padding:35px 25px}.ctn-form-grid{grid-template-columns:1fr}.ctn-dashboard{padding:15px}.ctn-dashboard-top{align-items:flex-start;flex-direction:column}.ctn-save-row{justify-content:stretch;flex-direction:column}.ctn-public-hero{padding-top:55px;align-items:flex-start}.ctn-info-grid{grid-template-columns:1fr}}
@media(max-width:520px){.ctn-grid{grid-template-columns:1fr}.ctn-results-head{align-items:flex-start;flex-direction:column;gap:12px}.ctn-results-head h1{font-size:27px}.ctn-profile-photo-wrap{width:100px;height:100px;margin-left:0}.ctn-public-hero{flex-direction:column}.ctn-back{left:auto;right:0}.ctn-public-title h1{font-size:27px}.ctn-tabs a{padding:14px 7px;font-size:12px}}
.ctn-reset-email{background:#f3f6fa;border:1px solid var(--ctn-border);border-radius:9px;padding:10px 12px;color:var(--ctn-muted);font-size:12px;margin:0 0 18px}.ctn-reset-email strong{color:var(--ctn-ink)}
/* v5.1 refinements */
.ctn-directory a,.ctn-dashboard a,.ctn-public-profile a,.ctn-auth-shell a{ text-decoration:none !important; }
.ctn-tabs a:after{display:none !important;}
.ctn-tabs a.active{background:linear-gradient(180deg,#f4f7ff,#eef3ff);color:var(--ctn-blue);}
.ctn-auth-brand{gap:12px;}
.ctn-auth-logo-icon{width:145px;height:145px;object-fit:contain;display:block;position:relative;z-index:1;filter:drop-shadow(0 14px 24px rgba(12,35,110,.18));}
.ctn-auth-brand b{position:relative;z-index:1;}
.ctn-auth-brand small{position:relative;z-index:1;}
.ctn-inline-skills{display:flex;gap:7px;flex-wrap:wrap;margin:3px 0 12px;}
.ctn-inline-skills span{font-size:11px;font-weight:700;color:#2447d8;background:#eef4ff;border:1px solid #d8e4ff;border-radius:999px;padding:5px 9px;}

.ctn-admin-password{display:block;position:relative;}
.ctn-admin-password input{padding-right:44px !important;box-sizing:border-box;}
.ctn-admin-password button{position:absolute;right:9px;top:50%;transform:translateY(-50%);border:0;background:transparent;cursor:pointer;color:#667085;font-size:17px;line-height:1;padding:4px;}
.ctn-admin-password button:hover{color:#2457d6;}
@media(max-width:800px){.ctn-auth-logo-icon{width:105px;height:105px;}.ctn-auth-brand{min-height:250px;}}
.ctn-autosave-status{margin-right:auto;align-self:center;font-size:12px;color:#667085;font-weight:650;}
.ctn-autosave-status.is-saving{color:#2457d6}.ctn-autosave-status.is-saved{color:#087443}.ctn-autosave-status.is-error{color:#b42318}
.ctn-auth-logo-icon{object-fit:contain;}
.ctn-auth-brand:has(.ctn-auth-logo-icon){justify-content:center;}
.ctn-auth-brand .ctn-auth-logo-icon + div{text-align:center;}
.ctn-outline-btn,.ctn-gradient-btn{ text-decoration:none !important; }
@media(max-width:800px){.ctn-autosave-status{margin-right:0;text-align:center;}}


/* v5.2 layout fixes */
.ctn-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.ctn-card-top{height:64px;}
.ctn-course-pill{display:none!important;}
.ctn-tab-panel.is-hidden{display:none!important;}
.ctn-tab-panel.is-active{display:block;}
.ctn-tabs a,.ctn-outline-btn,.ctn-gradient-btn,.ctn-public-links a,.ctn-back,.ctn-directory a,.ctn-dashboard a,.ctn-public-profile a{text-decoration:none!important;}
.ctn-card .ctn-outline-btn:before,.ctn-card .ctn-outline-btn:after{display:none!important;}
.ctn-outline-btn{text-decoration:none!important;}
.ctn-inline-skills{margin:7px 0 10px;}
.ctn-inline-skills span{display:inline-block;}
.ctn-availability-pill{font-size:11px;color:#fff!important;background:var(--ctn-grad);border-radius:999px;padding:5px 9px;text-decoration:none!important;}
.ctn-public-links span{display:inline-flex;align-items:center;}
@media(max-width:1100px){.ctn-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:800px){.ctn-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:520px){.ctn-grid{grid-template-columns:1fr;}}


/* v5.3 public profile reference layout */
.ctn-reference-profile{max-width:1180px!important;margin:0 auto!important;padding:26px 14px 45px!important;background:#fff!important;}
.ctn-reference-profile .ctn-public-hero{min-height:170px;padding:48px 2px 24px!important;align-items:center!important;gap:24px!important;}
.ctn-reference-profile .ctn-back{width:38px;height:38px;left:0;top:0;border-radius:4px;background:#fff;color:var(--ctn-ink);font-size:26px;line-height:1;border:1px solid #aeb6c4;box-shadow:none;}
.ctn-reference-profile .ctn-profile-photo-wrap{width:112px;height:112px;margin-left:8px;padding:4px;background:var(--ctn-grad);box-shadow:none;flex:none;}
.ctn-reference-profile .ctn-public-title{min-width:0;}
.ctn-reference-profile .ctn-public-title h1{font-size:24px;line-height:1.2;margin:0 0 3px;font-weight:800;}
.ctn-reference-profile .ctn-profile-course{font-size:14px;color:var(--ctn-ink);font-weight:500;margin:0 0 5px;}
.ctn-reference-profile .ctn-public-line{font-size:12px;line-height:1.75;color:var(--ctn-ink);overflow-wrap:anywhere;}
.ctn-reference-profile .ctn-public-line strong{font-weight:700;}
.ctn-reference-profile .ctn-public-line a{color:var(--ctn-blue)!important;text-decoration:none!important;border-bottom:0!important;}
.ctn-reference-profile .ctn-availability-list{display:inline-flex;gap:5px;flex-wrap:wrap;vertical-align:middle;margin-left:3px;}
.ctn-reference-profile .ctn-availability-list span{display:inline-flex;padding:3px 8px;border-radius:4px;background:var(--ctn-grad);color:#fff;font-size:10px;font-weight:750;line-height:1.3;}
.ctn-reference-profile .ctn-profile-section{border-radius:0!important;margin:0 0 17px!important;border:0!important;box-shadow:0 5px 18px rgba(20,33,61,.11)!important;overflow:hidden!important;}
.ctn-reference-profile .ctn-section-bar{background:var(--ctn-grad)!important;padding:8px 10px!important;font-size:17px!important;line-height:1.35!important;border-radius:0!important;}
.ctn-reference-profile .ctn-section-body{padding:15px 10px!important;min-height:58px;}
.ctn-reference-profile .ctn-section-body p{font-size:13px;line-height:1.55;color:#4f5d75;margin:0;}
.ctn-reference-profile .ctn-tags{gap:9px;}
.ctn-reference-profile .ctn-tags span{border:1px solid #202020;background:#fff;border-radius:18px;padding:6px 13px;font-size:12px;color:var(--ctn-ink);}
.ctn-reference-profile .ctn-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 55px;}
.ctn-reference-profile .ctn-info-grid div{gap:3px;}
.ctn-reference-profile .ctn-info-grid b{font-size:14px;color:var(--ctn-ink);font-weight:700;}
.ctn-reference-profile .ctn-info-grid span{font-size:11px;color:#475467;line-height:1.45;}
.ctn-reference-profile .ctn-profile-photo{background:#fff;}
@media(max-width:700px){
 .ctn-reference-profile{padding:18px 10px 30px!important;}
 .ctn-reference-profile .ctn-public-hero{padding-top:54px!important;align-items:flex-start!important;}
 .ctn-reference-profile .ctn-profile-photo-wrap{width:92px;height:92px;margin-left:0;}
 .ctn-reference-profile .ctn-public-title h1{font-size:21px;}
 .ctn-reference-profile .ctn-info-grid{grid-template-columns:1fr;gap:14px;}
}


/* v5.4 — public View Profile is a dedicated read-only route */
.ctn-reference-profile{box-sizing:border-box;width:100%;max-width:1180px!important;margin:0 auto!important;padding:24px 14px 44px!important;background:#fff!important;color:var(--ctn-ink)!important;}
.ctn-reference-profile *{box-sizing:border-box;}
.ctn-reference-profile a{text-decoration:none!important;border:0!important;box-shadow:none!important;}
.ctn-reference-profile .ctn-public-hero{display:grid!important;grid-template-columns:40px 112px minmax(0,1fr)!important;align-items:center!important;gap:18px!important;min-height:165px!important;padding:52px 2px 26px!important;}
.ctn-reference-profile .ctn-back{position:static!important;width:40px!important;height:40px!important;font-size:25px!important;border:1px solid #9da7b5!important;border-radius:4px!important;background:#fff!important;color:var(--ctn-ink)!important;}
.ctn-reference-profile .ctn-profile-photo-wrap{width:112px!important;height:112px!important;margin:0!important;padding:4px!important;border-radius:50%!important;background:var(--ctn-grad)!important;box-shadow:none!important;}
.ctn-reference-profile .ctn-public-title h1{font-size:24px!important;line-height:1.2!important;margin:0 0 2px!important;color:var(--ctn-ink)!important;}
.ctn-reference-profile .ctn-profile-course{font-size:13px!important;line-height:1.35!important;margin:0 0 4px!important;color:var(--ctn-ink)!important;font-weight:500!important;}
.ctn-reference-profile .ctn-public-line{font-size:12px!important;line-height:1.65!important;color:var(--ctn-ink)!important;}
.ctn-reference-profile .ctn-public-line a{color:var(--ctn-blue)!important;}
.ctn-reference-profile .ctn-availability-list{display:inline-flex!important;gap:5px!important;vertical-align:middle!important;margin-left:3px!important;}
.ctn-reference-profile .ctn-availability-list span{background:var(--ctn-grad)!important;color:#fff!important;border-radius:4px!important;padding:3px 8px!important;font-size:10px!important;}
.ctn-reference-profile .ctn-profile-section{width:100%!important;margin:0 0 17px!important;border:0!important;border-radius:0!important;overflow:hidden!important;background:#fff!important;box-shadow:0 5px 18px rgba(20,33,61,.11)!important;}
.ctn-reference-profile .ctn-section-bar{background:var(--ctn-grad)!important;color:#fff!important;padding:8px 10px!important;font-size:17px!important;font-weight:800!important;line-height:1.35!important;}
.ctn-reference-profile .ctn-section-body{padding:15px 10px!important;min-height:58px!important;background:#fff!important;}
.ctn-reference-profile .ctn-section-body p{font-size:13px!important;line-height:1.55!important;color:#4f5d75!important;margin:0!important;}
.ctn-reference-profile .ctn-tags{display:flex!important;gap:9px!important;flex-wrap:wrap!important;}
.ctn-reference-profile .ctn-tags span{display:inline-flex!important;border:1px solid #202020!important;background:#fff!important;border-radius:18px!important;padding:6px 13px!important;font-size:12px!important;color:var(--ctn-ink)!important;}
.ctn-reference-profile .ctn-info-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px 55px!important;}
.ctn-reference-profile .ctn-info-grid div{display:grid!important;gap:3px!important;}
.ctn-reference-profile .ctn-info-grid b{font-size:14px!important;color:var(--ctn-ink)!important;font-weight:700!important;}
.ctn-reference-profile .ctn-info-grid span{font-size:11px!important;color:#475467!important;line-height:1.45!important;}
@media(max-width:700px){
 .ctn-reference-profile{padding:18px 10px 30px!important;}
 .ctn-reference-profile .ctn-public-hero{grid-template-columns:1fr!important;align-items:flex-start!important;padding-top:54px!important;gap:12px!important;}
 .ctn-reference-profile .ctn-back{position:absolute!important;right:10px!important;top:18px!important;}
 .ctn-reference-profile .ctn-profile-photo-wrap{width:92px!important;height:92px!important;}
 .ctn-reference-profile .ctn-info-grid{grid-template-columns:1fr!important;gap:14px!important;}
}

/* v5.5 dashboard workflow */
.ctn-dashboard-top{align-items:center!important;margin-bottom:18px!important;}
.ctn-dashboard-top h1{margin:0!important;font-size:30px!important;font-weight:800!important;color:var(--ctn-ink)!important;}
.ctn-profile-status{appearance:none;border:1px solid var(--ctn-border);font:inherit;cursor:pointer;min-width:150px;justify-content:space-between;transition:.2s ease;}
.ctn-profile-status b{font-size:10px;letter-spacing:.08em;color:var(--ctn-muted);min-width:22px;text-align:left;}
.ctn-profile-status.is-on b{color:var(--ctn-blue);}
.ctn-profile-status.is-saving{opacity:.65;cursor:wait;}
.ctn-profile-status:hover{border-color:var(--ctn-blue);box-shadow:0 5px 16px rgba(36,87,214,.10);}
.ctn-profile-control{display:none!important;}
.ctn-save-row{align-items:center!important;}
.ctn-continue-btn{margin-left:auto!important;min-width:120px;}
.ctn-continue-btn span{font-size:16px;line-height:1;}
.ctn-dashboard .ctn-autosave-status{margin-right:0!important;}
.ctn-dashboard .ctn-tabs{margin-bottom:20px;}
@media(max-width:800px){.ctn-dashboard-top{flex-direction:row!important;align-items:center!important;}.ctn-dashboard-top h1{font-size:25px!important;}.ctn-profile-status{min-width:145px;}.ctn-save-row{flex-direction:row!important;}.ctn-continue-btn{width:auto!important;margin-left:auto!important;}}
@media(max-width:520px){.ctn-dashboard-top{flex-direction:column!important;align-items:stretch!important;gap:14px;}.ctn-profile-status{align-self:flex-end;}.ctn-save-row{flex-direction:column!important;align-items:stretch!important;}.ctn-continue-btn{margin-left:0!important;width:100%!important;}}

/* v5.6 — Courseonic Information is admin-controlled; improve dashboard field spacing */
.ctn-form-section label:not(.ctn-radio):not(.ctn-check),
.ctn-form-section fieldset{line-height:1.35!important;}
.ctn-form-section label:not(.ctn-radio):not(.ctn-check)>input,
.ctn-form-section label:not(.ctn-radio):not(.ctn-check)>select,
.ctn-form-section label:not(.ctn-radio):not(.ctn-check)>textarea{display:block!important;margin-top:9px!important;}
.ctn-form-section .ctn-upload input{margin-top:9px!important;}
.ctn-profile-status{min-width:0!important;padding:10px 13px!important;gap:11px!important;}
.ctn-profile-status i{width:38px!important;height:21px!important;flex:0 0 38px!important;background:#cbd5e1!important;}
.ctn-profile-status i:after{width:17px!important;height:17px!important;top:2px!important;left:2px!important;}
.ctn-profile-status i.on{background:var(--ctn-grad)!important;}
.ctn-profile-status i.on:after{left:19px!important;}
.ctn-profile-status span{font-size:12px!important;font-weight:750!important;color:var(--ctn-ink)!important;white-space:nowrap!important;}
.ctn-profile-status b{display:none!important;}

/* v5.8 — student-only front-end account menu; WordPress admin bar remains for administrators */
.ctn-account-menu{position:fixed;left:22px;top:82px;z-index:99999;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;}
.ctn-account-toggle{width:42px;height:42px;border:1px solid #d9e2f0;border-radius:50%;background:#fff;box-shadow:0 8px 22px rgba(20,33,61,.10);display:grid;place-items:center;cursor:pointer;padding:0;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
.ctn-account-toggle svg{width:20px;height:20px;fill:#173b83;display:block;}
.ctn-account-menu:hover .ctn-account-toggle,.ctn-account-toggle:focus{transform:translateY(-1px);border-color:#7a3ff0;box-shadow:0 10px 26px rgba(36,87,214,.18);outline:none;}
.ctn-account-dropdown{position:absolute;left:0;top:calc(100% + 8px);min-width:108px;background:#fff;border:1px solid #dfe6f2;border-radius:10px;padding:6px;box-shadow:0 14px 30px rgba(20,33,61,.14);opacity:0;visibility:hidden;transform:translateY(-5px);transition:opacity .16s ease,transform .16s ease,visibility .16s ease;}
.ctn-account-menu:hover .ctn-account-dropdown,.ctn-account-menu:focus-within .ctn-account-dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.ctn-account-dropdown a{display:block;padding:9px 11px;border-radius:7px;color:#173b83!important;text-decoration:none!important;font-size:12px;font-weight:700;white-space:nowrap;}
.ctn-account-dropdown a:hover{background:#eef4ff;color:#2447d8!important;}
@media(max-width:700px){.ctn-account-menu{left:12px;top:70px}.ctn-account-toggle{width:38px;height:38px}.ctn-account-toggle svg{width:18px;height:18px;}}

/* v5.9 — final student portal polish */
body.ctn-student-portal #wpadminbar{display:none!important;}
body.ctn-student-portal.admin-bar{padding-top:0!important;}
.ctn-student-portal .ctn-directory a,
.ctn-student-portal .ctn-dashboard a,
.ctn-student-portal .ctn-public-profile a,
.ctn-student-portal .ctn-auth-shell a,
.ctn-student-portal button,
.ctn-student-portal .ctn-outline-btn,
.ctn-student-portal .ctn-gradient-btn{ text-decoration:none!important; }

/* Account icon: simple, Courseonic blue, fixed to the right. */
.ctn-account-menu{left:auto!important;right:22px!important;top:22px!important;}
.ctn-account-toggle{border-color:#d9e2f0!important;background:#fff!important;color:#173b83!important;}
.ctn-account-menu:hover .ctn-account-toggle,
.ctn-account-toggle:hover,
.ctn-account-toggle:focus{border-color:#2457d6!important;background:#fff!important;color:#173b83!important;box-shadow:0 10px 26px rgba(36,87,214,.16)!important;}
.ctn-account-dropdown a:hover{background:#eef4ff!important;color:#2457d6!important;}

/* Profile Status: only the switch is clickable; no pink theme styles can leak into it. */
.ctn-profile-status{display:flex!important;align-items:center!important;gap:10px!important;background:#fff!important;border:0!important;padding:0!important;box-shadow:none!important;min-width:0!important;}
.ctn-profile-status>span{font-size:12px!important;font-weight:750!important;color:var(--ctn-ink)!important;white-space:nowrap!important;}
.ctn-status-switch{appearance:none!important;-webkit-appearance:none!important;position:relative!important;width:48px!important;height:26px!important;min-width:48px!important;padding:0!important;margin:0!important;border:1px solid #cbd5e1!important;border-radius:999px!important;background:#cbd5e1!important;color:transparent!important;box-shadow:none!important;cursor:pointer!important;display:block!important;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease!important;}
.ctn-status-switch:before{content:""!important;display:block!important;position:absolute!important;left:3px!important;top:3px!important;width:18px!important;height:18px!important;border-radius:50%!important;background:#fff!important;box-shadow:0 1px 3px rgba(20,33,61,.18)!important;transition:left .2s ease!important;}
.ctn-status-switch.is-on{background:linear-gradient(90deg,var(--ctn-cyan),var(--ctn-blue))!important;border-color:var(--ctn-blue)!important;}
.ctn-status-switch.is-on:before{left:25px!important;}
.ctn-status-switch i{display:none!important;}
.ctn-status-switch:hover{background:#b9c5d6!important;border-color:#aebbd0!important;box-shadow:0 0 0 3px rgba(36,87,214,.08)!important;}
.ctn-status-switch.is-on:hover{background:linear-gradient(90deg,var(--ctn-cyan),var(--ctn-blue))!important;border-color:var(--ctn-blue)!important;}
.ctn-status-switch:focus-visible{outline:2px solid var(--ctn-blue)!important;outline-offset:3px!important;}
.ctn-status-switch.is-saving{opacity:.65!important;cursor:wait!important;}

/* Exactly 3 talent cards per row on desktop. */
.ctn-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
@media(max-width:980px){.ctn-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:620px){.ctn-grid{grid-template-columns:1fr!important;}}

/* Skills belong directly under the talent name on the public profile. */
.ctn-reference-profile .ctn-public-skills{display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin:4px 0 7px!important;}
.ctn-reference-profile .ctn-public-skills span{display:inline-flex!important;align-items:center!important;padding:4px 9px!important;border-radius:5px!important;background:var(--ctn-grad)!important;color:#fff!important;font-size:10px!important;line-height:1.2!important;font-weight:700!important;}

/* Keep the reference-style public profile clean and read-only. */
.ctn-reference-profile .ctn-back,
.ctn-reference-profile .ctn-profile-section a,
.ctn-reference-profile .ctn-public-title a{ text-decoration:none!important;border-bottom:0!important; }
.ctn-profile-unavailable{margin:40px auto!important;max-width:720px!important;}

@media(max-width:700px){
  .ctn-account-menu{right:12px!important;left:auto!important;top:12px!important;}
  .ctn-profile-status{align-self:flex-end!important;}
}

/* v6.0 — account dropdown, selectable skills and final save action */
.ctn-account-menu{right:20px!important;top:18px!important;position:fixed!important;z-index:2147483000!important;overflow:visible!important;}
.ctn-account-dropdown{right:0!important;left:auto!important;top:calc(100% + 10px)!important;min-width:142px!important;padding:7px!important;z-index:2147483001!important;overflow:visible!important;}
.ctn-account-dropdown a{display:block!important;padding:10px 12px!important;margin:1px 0!important;border-radius:8px!important;}
.ctn-account-dropdown a:hover{background:#eef4ff!important;color:#2447d8!important;}
.ctn-account-menu:hover .ctn-account-dropdown,.ctn-account-menu:focus-within .ctn-account-dropdown{display:block!important;}
.ctn-skill-picker{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px 14px!important;margin-top:12px!important;}
.ctn-skill-option{display:flex!important;align-items:center!important;gap:10px!important;min-height:46px!important;padding:10px 13px!important;border:1px solid var(--ctn-border)!important;border-radius:10px!important;background:#fff!important;cursor:pointer!important;font-size:13px!important;font-weight:650!important;color:var(--ctn-ink)!important;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease!important;}
.ctn-skill-option input{width:17px!important;height:17px!important;flex:0 0 17px!important;margin:0!important;accent-color:var(--ctn-blue)!important;}
.ctn-skill-option:has(input:checked){border-color:#8fb0ff!important;background:#f3f7ff!important;box-shadow:0 4px 12px rgba(36,87,214,.07)!important;}
.ctn-skill-option span{line-height:1.25!important;}
.ctn-save-profile-btn{border:0!important;cursor:pointer!important;}
.ctn-view-profile-btn{min-width:130px!important;text-align:center!important;}
@media(max-width:620px){.ctn-skill-picker{grid-template-columns:1fr!important;}.ctn-account-menu{right:12px!important;top:12px!important;}}

/* v7.1 — final interaction fixes */
.ctn-card .ctn-outline-btn span.ctn-view-arrow,
.ctn-card .ctn-outline-btn span{display:none!important;}
.ctn-card .ctn-outline-btn{text-decoration:none!important;}

/* Keep password eye controls neutral even when the active WordPress theme has pink button styles. */
.ctn-password-toggle,
.ctn-password button.ctn-password-toggle,
.ctn-form .ctn-password-toggle{
  appearance:none!important;-webkit-appearance:none!important;
  background:transparent!important;background-image:none!important;
  border:0!important;outline:0!important;box-shadow:none!important;
  color:#64748b!important;width:34px!important;height:34px!important;
  padding:0!important;margin:0!important;border-radius:7px!important;
  display:grid!important;place-items:center!important;cursor:pointer!important;
}
.ctn-password-toggle:hover,.ctn-password-toggle:focus,.ctn-password-toggle:focus-visible,.ctn-password-toggle:active,.ctn-password-toggle.is-visible{
  background:transparent!important;background-color:transparent!important;background-image:none!important;
  color:#64748b!important;border:0!important;outline:0!important;box-shadow:none!important;
}
.ctn-password-toggle::before,.ctn-password-toggle::after{display:none!important;content:none!important;}
.ctn-eye-icon{width:18px!important;height:18px!important;display:block!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important;}
.ctn-eye-icon circle{fill:none!important;}

/* Skills: clean checkbox + label alignment, two choices per row on desktop. */
.ctn-skill-picker{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important;}
.ctn-skill-option{display:grid!important;grid-template-columns:16px minmax(0,1fr)!important;align-items:center!important;gap:12px!important;text-align:left!important;padding:11px 14px!important;}
.ctn-skill-option input{appearance:none!important;-webkit-appearance:none!important;width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;margin:0!important;border:1.5px solid #b8c5d8!important;border-radius:4px!important;background:#fff!important;position:relative!important;cursor:pointer!important;box-sizing:border-box!important;}
.ctn-skill-option input:checked{background:#2457d6!important;border-color:#2457d6!important;}
.ctn-skill-option input:checked:after{content:"✓"!important;position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-54%)!important;color:#fff!important;font-size:10px!important;font-weight:800!important;line-height:1!important;}
.ctn-skill-option span{display:block!important;line-height:1.35!important;margin:0!important;padding:0!important;}

@media(max-width:620px){.ctn-skill-picker{grid-template-columns:1fr!important;}}

/* v7.2 — immediate profile photo preview/upload and neutral common eye icon */
.ctn-photo-editor > div{width:90px!important;height:90px!important;border-radius:50%!important;overflow:hidden!important;flex:none!important;background:#eef3ff!important;}
.ctn-photo-editor > div > img.ctn-profile-photo{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;border-radius:50%!important;}
button.ctn-password-toggle,button.ctn-password-toggle:hover,button.ctn-password-toggle:focus,button.ctn-password-toggle:focus-visible,button.ctn-password-toggle:active{
  background:transparent!important;background-color:transparent!important;background-image:none!important;
  border:none!important;border-color:transparent!important;box-shadow:none!important;outline:none!important;color:#64748b!important;
}
button.ctn-password-toggle .ctn-eye-icon{color:inherit!important;stroke:currentColor!important;}


/* v7.3 — clean auth field spacing */
.ctn-auth-form .ctn-form > label{display:block!important;line-height:1.35!important;margin:0!important;}
.ctn-auth-form .ctn-form > label>input{margin-top:8px!important;}
.ctn-auth-form .ctn-form > label>.ctn-password{margin-top:8px!important;}
.ctn-auth-form .ctn-password input{width:100%!important;box-sizing:border-box!important;}

/* v7.4 — medium skill checkboxes with comfortable label spacing */
.ctn-skill-picker .ctn-skill-option{grid-template-columns:16px minmax(0,1fr)!important;column-gap:12px!important;}
.ctn-skill-picker .ctn-skill-option input{width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;}
.ctn-skill-picker .ctn-skill-option span{padding-left:0!important;line-height:1.4!important;}
