/* پروفایل: توکن‌های رنگ — قالب رزومه تیم‌زوم */
:root{
  --brand:#7c4dff;--brand-hover:#6b3de8;--brand-light:#ede9fe;--brand-tint:#f5f3ff;
  --blue:#3b82f6;--blue-dark:#2563eb;--blue-light:#dbeafe;
  --green:#10b981;--green-dark:#059669;--green-light:#d1fae5;
  --gray-50:#f7fafc;--gray-100:#edf2f7;--gray-200:#e2e8f0;
  --gray-400:#a0aec0;--gray-500:#718096;--gray-600:#4a5568;
  --gray-700:#2d3748;--gray-900:#1a202c;
  --white:#fff;--border:#e2e8f0;
  --radius:8px;--radius-lg:16px;
  --shadow-sm:0 1px 3px rgba(0,0,0,.06);
  --shadow:0 4px 6px -1px rgba(0,0,0,.08),0 2px 4px -2px rgba(0,0,0,.06);
  --site-secondary:var(--brand);--site-secondary-hover:var(--brand-hover);--site-secondary-tint:var(--brand-tint);
}
body.layout-profile{font-size:14px;background:#f9fafb;color:var(--gray-700);font-family:Vazirmatn,"Plus Jakarta Sans",system-ui,sans-serif}
/* جستجوی پیشرفته در هدر روی صفحه پروفایل استفاده نمی‌شود */
body.layout-profile .header .filter-ico-btn{display:none!important}

/* PAGE */
.page{max-width:1440px;margin:0 auto;padding:24px 20px;display:grid;grid-template-columns:1fr minmax(260px,28%);gap:20px;align-items:start}
.page--visitor{grid-template-columns:1fr minmax(260px,28%);max-width:1440px}
.profile-main{min-width:0;display:flex;flex-direction:column;gap:16px}
.profile-main-sections{display:flex;flex-direction:column;gap:16px;min-width:0}
.profile-sidebar{display:flex;flex-direction:column;gap:16px;min-width:0}
@media(max-width:1023px){
  .page,.page--visitor{grid-template-columns:1fr}
  .profile-sidebar{order:2}
  .profile-main{order:1}
}

/* CARD */
.card{background:white;border:none;border-radius:var(--radius-lg);overflow:hidden;margin-bottom:0;box-shadow:var(--shadow)}
#contact.card{overflow:visible}
#contact.card .card-body{overflow:visible}
.profile-hero-card{position:relative}
.profile-hero-card.card{overflow:visible}
.profile-hero-card .profile-info-row,
.profile-hero-card .profile-inline-form{overflow:visible}
.card-body{padding:16px}

.panel-select{width:100%;padding:9px 12px;border:1.5px solid var(--gray-200);border-radius:var(--radius);font-size:13px;font-family:inherit;outline:none;background:white;color:var(--gray-900);transition:border-color .2s;cursor:pointer}
.panel-select:focus{border-color:var(--site-secondary,#141d30)}

/* PROFILE HERO */
.profile-banner{height:180px;position:relative;background:linear-gradient(135deg,#667eea,#764ba2);overflow:hidden;border-radius:var(--radius-lg) var(--radius-lg) 0 0}
.profile-banner img{width:100%;height:100%;object-fit:cover}
.banner-camera{position:absolute;top:10px;right:12px;width:32px;height:32px;background:rgba(255,255,255,.15);border:1.5px solid rgba(255,255,255,.4);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:white;backdrop-filter:blur(4px)}
.profile-avatar-row{position:relative;display:flex;align-items:flex-start;min-height:55px}
.profile-avatar-wrap{position:relative;width:120px;height:120px;margin-top:-60px;margin-right:24px;margin-left:0;flex-shrink:0}
.profile-avatar-wrap img.profile-avatar{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
.profile-avatar{width:120px;height:120px;border-radius:50%;border:5px solid white;object-fit:cover;background:linear-gradient(135deg,var(--brand),#6366f1);display:flex;align-items:center;justify-content:center;color:white;font-size:38px;font-weight:800;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.12)}
.profile-avatar-online{position:absolute;bottom:6px;right:6px;width:16px;height:16px;border-radius:50%;background:var(--green);border:3px solid white;z-index:2}
.avatar-camera{
  position:absolute;top:0;right:0;z-index:3;
  width:28px;height:28px;
  background:white;border:1.5px solid var(--border);border-radius:50%;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  color:var(--gray-600);box-shadow:var(--shadow-sm);
  transform:translate(15%,-15%);
}

.profile-info-row{position:relative;display:flex;align-items:flex-start;padding:0 16px 14px;gap:12px}
.profile-info-main{flex:1;min-width:0;padding-top:8px}

/* Readiness dropdown (left side in RTL) */
.profile-readiness{
  position:relative;flex-shrink:0;align-self:flex-start;margin-top:8px;min-width:0;max-width:min(240px,42vw);
}
.profile-readiness-trigger,
.profile-readiness-badge{
  display:inline-flex;align-items:center;gap:8px;width:100%;max-width:100%;
  min-height:38px;padding:7px 12px;border-radius:10px;border:1.5px solid #e2e8f0;
  background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);font:inherit;font-size:12px;font-weight:600;
  color:#334155;cursor:pointer;box-shadow:0 1px 3px rgba(15,23,42,.06);transition:border-color .15s,box-shadow .15s,background .15s;
}
.profile-readiness-badge{cursor:default}
.profile-readiness-trigger:hover{border-color:#cbd5e1;box-shadow:0 2px 8px rgba(15,23,42,.08)}
.profile-readiness-dot{
  width:8px;height:8px;border-radius:50%;flex-shrink:0;background:#94a3b8;
}
.profile-readiness-label{
  flex:1;min-width:0;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.35;
}
.profile-readiness-chevron{flex-shrink:0;color:#64748b;transition:transform .15s}
.profile-readiness.is-open .profile-readiness-chevron{transform:rotate(180deg)}
.profile-readiness-menu{
  position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:40;display:none;
  padding:6px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;
  box-shadow:0 12px 32px rgba(15,23,42,.14);
}
.profile-readiness.is-open .profile-readiness-menu{display:block}
.profile-readiness-option{
  display:flex;align-items:center;gap:8px;width:100%;padding:9px 10px;border:none;border-radius:8px;
  background:transparent;font:inherit;font-size:12px;font-weight:600;color:#334155;text-align:right;cursor:pointer;
}
.profile-readiness-option:hover{background:#f8fafc}
.profile-readiness-option.is-selected{background:#f1f5f9}
.profile-readiness-option-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.profile-readiness-option-dot--consult{background:#d97706}
.profile-readiness-option-dot--team{background:#7c3aed}
.profile-readiness-option-dot--hire{background:#2563eb}
.profile-readiness-option-dot--none{background:#94a3b8}
.profile-readiness-option-label{flex:1;min-width:0;line-height:1.4}
.profile-readiness-option-check{flex-shrink:0;color:#0f172a}
.profile-readiness-err{margin:6px 0 0;font-size:11px;color:#b91c1c;line-height:1.4}
.profile-readiness--consult .profile-readiness-trigger,
.profile-readiness--consult .profile-readiness-badge{border-color:#fde68a;background:linear-gradient(180deg,#fffbeb 0%,#fff 100%)}
.profile-readiness--consult .profile-readiness-dot{background:#d97706}
.profile-readiness--team .profile-readiness-trigger,
.profile-readiness--team .profile-readiness-badge{border-color:#ddd6fe;background:linear-gradient(180deg,#f5f3ff 0%,#fff 100%)}
.profile-readiness--team .profile-readiness-dot{background:#7c3aed}
.profile-readiness--hire .profile-readiness-trigger,
.profile-readiness--hire .profile-readiness-badge{border-color:#bfdbfe;background:linear-gradient(180deg,#eff6ff 0%,#fff 100%)}
.profile-readiness--hire .profile-readiness-dot{background:#2563eb}
.profile-readiness--none .profile-readiness-dot{background:#94a3b8}
@media (max-width:640px){
  .profile-info-row{flex-wrap:wrap}
  .profile-readiness{max-width:100%;width:100%;margin-top:4px}
}

.profile-connections-stats{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px;font-size:13px;color:#64748b;position:relative}
.profile-connections-stats strong{color:var(--site-secondary);font-weight:800;font-size:14px;line-height:1}
.profile-connections-hidden{font-size:12px;color:#94a3b8}
.profile-connections-gear{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border,#e2e8f0);border-radius:8px;background:#fff;color:#64748b;cursor:pointer;padding:0;transition:background .15s,color .15s,border-color .15s}
.profile-connections-gear:hover{background:#f8fafc;color:#0f172a;border-color:#cbd5e1}
.profile-connections-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:30;min-width:240px;padding:12px 14px;background:#fff;border:1px solid var(--border,#e2e8f0);border-radius:10px;box-shadow:0 10px 30px rgba(15,23,42,.12)}
.profile-connections-toggle{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:#334155;line-height:1.5;cursor:pointer}
.profile-connections-toggle input{margin-top:2px;flex-shrink:0}

.profile-connections-trigger{
  display:inline-flex;align-items:center;gap:7px;padding:6px 12px 6px 10px;
  border:1px solid #e2e8f0;background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);
  font:inherit;font-size:12px;font-weight:600;color:#475569;cursor:pointer;border-radius:999px;
  box-shadow:0 1px 2px rgba(15,23,42,.05);
  transition:color .15s,background .15s,border-color .15s,box-shadow .15s,transform .15s;
}
.profile-connections-trigger__ico{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:50%;flex-shrink:0;
  background:var(--site-secondary-tint);color:var(--site-secondary);
}
.profile-connections-trigger__count{display:inline-flex;align-items:center;line-height:1}
.profile-connections-trigger__label{color:#64748b;font-weight:600}
.profile-connections-trigger:hover{
  color:#0f172a;border-color:#cbd5e1;
  background:linear-gradient(180deg,#fff 0%,#eef2f7 100%);
  box-shadow:0 2px 8px rgba(15,23,42,.08);
  transform:translateY(-1px);
}
.profile-connections-trigger:hover .profile-connections-trigger__label{color:#334155}
.profile-connections-trigger:active{transform:translateY(0);box-shadow:0 1px 2px rgba(15,23,42,.05)}

.profile-conn-modal{
  position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .2s;
}
.profile-conn-modal--visible{opacity:1}
.profile-conn-modal__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.45);backdrop-filter:blur(2px)}
.profile-conn-modal__box{
  position:relative;display:flex;flex-direction:column;max-height:min(72vh,640px);
  background:#fff;border-radius:16px;padding:20px 18px 16px;max-width:min(560px,92vw);width:100%;
  box-shadow:0 12px 48px rgba(15,23,42,.2);transform:translateY(16px);transition:transform .2s;
  z-index:1;text-align:right;direction:rtl;overflow:hidden;
}
.profile-conn-modal--visible .profile-conn-modal__box{transform:translateY(0)}
.profile-conn-modal__close{
  position:absolute;top:10px;left:12px;background:none;border:none;font-size:22px;line-height:1;
  cursor:pointer;color:var(--gray-500,#64748b);padding:2px 6px;border-radius:6px;transition:color .15s;z-index:2;
}
.profile-conn-modal__close:hover{color:var(--gray-900,#0f172a)}
.profile-conn-modal__title{
  flex:0 0 auto;font-size:17px;font-weight:800;color:var(--gray-900,#0f172a);
  margin:0 0 12px;padding-inline-end:28px;
}
.profile-conn-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}
.profile-conn-modal__status{font-size:14px;color:#64748b;text-align:center;padding:24px 12px;margin:0}
.profile-conn-modal__status--err{color:#b91c1c}

.profile-resume-link__box{max-width:min(520px,92vw)}
.profile-resume-link__hint{font-size:13px;color:#64748b;line-height:1.65;margin:0 0 14px}
.profile-resume-link__field{
  display:flex;align-items:center;gap:8px;margin-bottom:10px;
  border:1px solid #e2e8f0;border-radius:10px;padding:8px 12px;background:#f8fafc;
}
.profile-resume-link__label{font-size:14px;font-weight:600;color:#475569;white-space:nowrap;direction:ltr}
.profile-resume-link__input{
  flex:1;min-width:0;border:none;background:transparent;font-size:14px;color:#0f172a;
  outline:none;direction:ltr;text-align:left;
}
.profile-resume-link__status-wrap{min-height:22px;margin:0 0 10px}
.profile-resume-link__status{font-size:13px;color:#64748b;margin:0}
.profile-resume-link__status--err{color:#b91c1c}
.profile-resume-link__status--ok{color:#15803d}
.profile-resume-link__preview{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;
  padding:10px 12px;border-radius:10px;background:#f1f5f9;
}
.profile-resume-link__preview-url{
  flex:1;min-width:0;font-size:12px;color:#334155;word-break:break-all;
}
.profile-resume-link__copy{flex-shrink:0}
.profile-resume-link__actions{
  display:flex;align-items:center;justify-content:flex-end;gap:10px;
  margin-top:16px;padding-top:14px;border-top:1px solid #e2e8f0;
}
.profile-resume-print-modal__box{
  max-width:min(760px,96vw);max-height:min(92vh,920px);
}
.profile-resume-print-modal__hint{
  font-size:13px;color:#64748b;line-height:1.65;margin:-4px 0 14px;padding-inline-end:28px;
}
.profile-resume-print-modal__preview{
  flex:1 1 auto;min-height:0;overflow:auto;
  background:linear-gradient(160deg,#e2e8f0 0%,#f1f5f9 45%,#e8edf4 100%);
  border-radius:12px;padding:18px 14px;margin-bottom:14px;
  border:1px solid #e2e8f0;
}
.profile-resume-print-modal__iframe{
  display:block;width:100%;min-height:480px;border:0;border-radius:10px;
  background:transparent;
  box-shadow:0 6px 28px rgba(15,23,42,.12);
}
.profile-resume-print-modal__actions{
  display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0;
}
.profile-conn-modal__list{list-style:none;margin:0;padding:0}
.profile-conn-item-row{display:flex;align-items:center;gap:6px}
.profile-conn-item{
  display:flex;align-items:center;gap:12px;padding:10px 8px;border-radius:10px;
  text-decoration:none;color:inherit;transition:background .15s;flex:1;min-width:0;
}
.profile-conn-item:hover{background:#f8fafc}
.profile-conn-item__remove{
  flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;border:1px solid #fecaca;border-radius:8px;background:#fff;
  color:#dc2626;cursor:pointer;padding:0;transition:background .15s,border-color .15s,color .15s;
}
.profile-conn-item__remove:hover:not(:disabled){background:#fef2f2;border-color:#fca5a5}
.profile-conn-item__remove:disabled{opacity:.55;cursor:not-allowed}
.profile-conn-item__avatar{
  width:44px;height:44px;border-radius:50%;object-fit:cover;flex-shrink:0;
  background:#e2e8f0;color:#475569;display:flex;align-items:center;justify-content:center;
  font-size:16px;font-weight:700;
}
.profile-conn-item__avatar--fallback{display:flex}
.profile-conn-item__text{min-width:0;flex:1}
.profile-conn-item__name{display:block;font-size:14px;font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-conn-item__role{display:block;font-size:12px;color:#64748b;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.profile-conn-confirm{z-index:10001}
.profile-conn-confirm__box{
  position:relative;max-width:min(420px,92vw);width:100%;padding:26px 22px 22px;
  background:#fff;border-radius:18px;box-shadow:0 16px 56px rgba(15,23,42,.24);
  transform:translateY(16px);transition:transform .2s;z-index:1;
  text-align:center;direction:rtl;
}
.profile-conn-modal--visible .profile-conn-confirm__box{transform:translateY(0)}
.profile-conn-confirm__icon{
  width:54px;height:54px;border-radius:50%;margin:0 auto 14px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%);color:#dc2626;
  border:1px solid #fecaca;
}
.profile-conn-confirm__title{
  margin:0 0 8px;font-size:18px;font-weight:800;color:#0f172a;line-height:1.4;
}
.profile-conn-confirm__text{
  margin:0 0 14px;font-size:14px;color:#475569;line-height:1.75;
}
.profile-conn-confirm__user{
  display:flex;align-items:center;gap:12px;justify-content:flex-start;
  padding:12px 14px;margin:0 0 12px;background:#f8fafc;border:1px solid #e2e8f0;
  border-radius:14px;text-align:right;
}
.profile-conn-confirm__avatar{
  width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0;
  background:#e2e8f0;color:#475569;display:flex;align-items:center;justify-content:center;
  font-size:18px;font-weight:700;
}
.profile-conn-confirm__avatar--fallback{display:flex}
.profile-conn-confirm__user-text{min-width:0;flex:1}
.profile-conn-confirm__name{font-size:15px;font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-conn-confirm__role{font-size:12px;color:#64748b;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-conn-confirm__hint{
  margin:0 0 20px;font-size:12px;color:#94a3b8;line-height:1.6;
}
.profile-conn-confirm__actions{
  display:flex;gap:10px;justify-content:center;flex-wrap:wrap;
}
.profile-conn-confirm__actions .btn-outline{
  min-width:120px;justify-content:center;padding:10px 20px;
}
.profile-conn-confirm__actions .btn-primary{
  min-width:140px;justify-content:center;padding:10px 20px;
  background:#dc2626;border:none;
}
.profile-conn-confirm__actions .btn-primary:hover:not(:disabled){background:#b91c1c}
.profile-conn-confirm__actions .btn-primary:disabled,
.profile-conn-confirm__actions .btn-outline:disabled{opacity:.6;cursor:not-allowed}

.profile-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.profile-name{font-size:24px;font-weight:700;color:var(--gray-700)}
.profile-verified{color:var(--brand)}
.profile-headline{font-size:15px;color:var(--gray-500);font-weight:500;margin-bottom:6px}
.profile-location{font-size:13px;color:var(--gray-500);display:flex;align-items:center;gap:4px}
.contact-link{color:var(--site-secondary);font-weight:600;font-size:13px;cursor:pointer}

.profile-actions{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}
.profile-follow-btn--connected{
  border-color:#bbf7d0;background:#f0fdf4;color:#15803d;cursor:default;
}
.profile-follow-btn--connected:hover{background:#f0fdf4}
.profile-follow-btn--none{border-style:dashed}
.profile-follow-btn--pending-sent,.profile-follow-btn--pending-received{
  border-color:#fde68a;background:#fffbeb;color:#b45309;
}
.profile-follow-btn--pending-sent:hover,.profile-follow-btn--pending-received:hover{background:#fef3c7}
.btn-primary{padding:9px 20px;background:var(--brand);color:white;border:none;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.btn-primary:hover{background:var(--brand-hover)}
.btn-outline{padding:9px 18px;border:1.5px solid var(--gray-200);background:transparent;color:var(--gray-600);border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s;white-space:nowrap;display:flex;align-items:center;gap:6px}
.btn-outline:hover{background:var(--gray-50);border-color:var(--brand);color:var(--brand)}
.btn-outline--brand{border-color:var(--brand);color:var(--brand)}
.btn-outline--brand:hover{background:var(--brand-tint)}
.btn-more{padding:8px 18px;border:1.5px solid var(--gray-200);background:transparent;color:var(--gray-700);border-radius:20px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;display:flex;align-items:center;gap:5px}
.btn-more:hover{background:var(--gray-50)}
.profile-edit-btn{width:30px;height:30px;border:none;background:transparent;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gray-500);transition:background .2s,color .2s}
.profile-edit-btn:hover{background:var(--gray-50);color:var(--gray-700)}
.profile-edit-btn--in-name{width:28px;height:28px;flex-shrink:0}
.profile-name-group{display:inline-flex;align-items:center;gap:4px;min-width:0}
.profile-name-group .profile-name{min-width:0}

/* STRENGTH CARD */
.strength-card{padding:14px 16px;display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center}
.strength-left .s-label{font-size:13px;color:var(--gray-700);font-weight:600}
.strength-left .s-level{color:var(--site-secondary);font-weight:700}
.strength-left .s-hint{font-size:12px;color:var(--gray-500);margin:3px 0 10px}
.progress-bar-wrap{height:4px;background:var(--gray-100);border-radius:4px;overflow:hidden}
.progress-bar{height:100%;background:var(--green);border-radius:4px;transition:width .6s ease}
.s-pct{font-size:12px;color:var(--gray-500);font-weight:600;margin-top:4px;text-align:right}
.strength-right{border-left:1px solid var(--border);padding-left:16px}
.skills-label{font-size:12px;color:var(--gray-500);font-weight:700;margin-bottom:8px}
.top-skill-chips{display:flex;flex-wrap:wrap;gap:6px}
.top-skill-chip{padding:5px 12px;border:1.5px solid var(--border);border-radius:20px;font-size:12px;font-weight:600;color:var(--gray-700);background:white}
.strength-arrow{color:var(--gray-400);cursor:pointer}

/* SECTION */
.section-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.section-hd-title{display:flex;align-items:center;gap:8px;min-width:0}
.section-title{font-size:17px;font-weight:700;color:var(--gray-700)}
.section-icon-deco{width:36px;height:36px;border-radius:10px;background:var(--brand-tint);color:var(--brand);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.section-icon-deco--skills{background:#fff7ed;color:#ea580c}
.section-icon-deco--exp{background:#eff6ff;color:#2563eb}
.section-icon-deco--edu{background:#ecfdf5;color:#059669}
.section-icon-deco--projects{background:var(--brand-tint);color:var(--brand)}
.section-hd--with-icon .section-hd-start{display:flex;align-items:center;gap:10px}
.section-actions{display:flex;align-items:center;gap:6px}
.icon-btn{width:30px;height:30px;border:none;background:transparent;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gray-500);transition:background .2s}
.icon-btn:hover{background:var(--gray-50);color:var(--gray-700)}

/* ABOUT */
.about-text{font-size:14px;color:var(--gray-600);line-height:1.7}
.see-more{color:var(--gray-600);font-size:13px;font-weight:600;cursor:pointer;background:none;border:none;font-family:inherit;padding:0;margin-top:4px}

/* SKILLS (surfaces aligned with app-base / search chips on #f0f2f7 canvas) */
.skills-legend{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;
  margin:-4px 0 12px;padding:8px 10px;border-radius:8px;
  background:var(--site-secondary-tint);border:1px solid #e2e8f0;
  font-size:11px;color:var(--gray-600);line-height:1.4;
}
.skills-legend__hint{font-weight:700;color:var(--gray-700);margin-inline-end:2px}
.skills-legend__item{display:inline-flex;align-items:center;gap:5px;font-weight:600;color:var(--gray-700)}
.skills-legend__item .skill-dots-row{gap:3px}
.skills-legend__item .sdot{width:6px;height:6px}
.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px}
@media(max-width:520px){.skills-grid{grid-template-columns:1fr}}
.skill-item{
  padding:12px 14px;
  border:1.5px solid #e5e7eb;
  border-radius:10px;
  background:#f9fafb;
  box-shadow:0 1px 2px rgba(17,24,39,.05);
  transition:border-color .2s ease, box-shadow .2s ease;
}
.skill-item:hover{
  border-color:var(--site-secondary);
  box-shadow:0 2px 12px rgba(20,29,48,.12);
}
.skill-name{font-size:13px;font-weight:700;color:var(--gray-900);margin-bottom:8px;line-height:1.35}
.skill-meta-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.skill-dots-row{display:flex;gap:4px;align-items:center}
.skill-exp-badge{
  font-size:11px;font-weight:700;color:var(--site-secondary);
  background:var(--site-secondary-tint);padding:2px 8px;border-radius:999px;
  white-space:nowrap;line-height:1.4;
}
.sdot{width:7px;height:7px;border-radius:50%;background:var(--green)}
.sdot.sdot--purple{background:var(--brand)}
.sdot.empty{background:#e2e8f0;opacity:1}
.show-all-btn{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;padding:10px;border:none;background:transparent;color:var(--gray-600);font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;margin-top:10px;border-top:1px solid var(--border);transition:color .2s}
.show-all-btn:hover{color:var(--gray-900)}

/* EXPERIENCE & EDUCATION — vertical timeline (mockup) */
#experience.card,#education.card,#key-projects.card{overflow:visible}
#experience.card .card-body--career,#education.card .card-body--career,#key-projects.card .card-body{overflow:visible}
#experience.card,#education.card{border-radius:20px;box-shadow:0 1px 3px rgba(15,23,42,.05)}
.card-body--career{padding:22px 24px 20px}
.card-body--career .section-hd{margin-bottom:18px}
.card-body--career .section-title{font-size:16px;font-weight:800;color:#1f2937}
.career-list.career-list--timeline{display:flex;flex-direction:column;gap:0;margin-top:2px;overflow:visible}
.career-timeline-item{
  display:grid;
  grid-template-columns:32px 48px minmax(0,1fr) 24px minmax(92px,auto);
  column-gap:16px;
  align-items:stretch;
  --career-item-gap:40px;
  padding-bottom:var(--career-item-gap);
  position:relative;
  overflow:visible;
}
.career-timeline__owner{grid-column:1}
.career-timeline__logo{grid-column:2}
.career-timeline__content{grid-column:3;min-width:0;padding-top:1px}
.career-timeline__track{grid-column:4}
.career-timeline__dates{grid-column:5}
body:not(.profile-owner) .career-timeline-item{
  grid-template-columns:48px minmax(0,1fr) 24px minmax(92px,auto);
}
body:not(.profile-owner) .career-timeline__logo{grid-column:1}
body:not(.profile-owner) .career-timeline__content{grid-column:2}
body:not(.profile-owner) .career-timeline__track{grid-column:3}
body:not(.profile-owner) .career-timeline__dates{grid-column:4}
.career-timeline-item:last-child{--career-item-gap:4px;padding-bottom:var(--career-item-gap)}
.career-timeline__dates{
  display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;
  gap:4px;text-align:end;padding-top:3px;min-width:0;
}
.career-timeline__range{
  font-size:12px;font-weight:500;color:#6b7280;white-space:nowrap;line-height:1.35;
}
.career-timeline__duration{
  font-size:11px;font-weight:400;color:#9ca3af;white-space:nowrap;line-height:1.35;
}
.career-timeline__track{
  position:relative;display:flex;justify-content:center;align-self:stretch;
  padding-top:6px;min-height:100%;
}
.career-timeline__line{
  position:absolute;left:50%;transform:translateX(-50%);
  top:12px;width:2px;background:#ede9fe;z-index:0;pointer-events:none;
}
.career-timeline-item:not(:last-child) .career-timeline__line{
  height:calc(100% - 12px + var(--career-item-gap) + 12px);
}
.career-timeline-item:last-child .career-timeline__line{display:none}
.career-timeline__dot{
  width:12px;height:12px;border-radius:50%;background:var(--brand);
  position:relative;z-index:1;flex-shrink:0;
}
.career-timeline__title{
  margin:0 0 5px;font-size:15px;font-weight:700;color:#1f2937;line-height:1.45;
}
.career-timeline__subtitle{
  margin:0;font-size:13px;font-weight:500;color:var(--blue-dark);line-height:1.45;
}
.career-timeline__subtitle-row{
  display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 8px;
}
.career-timeline__subtitle-row .career-timeline__subtitle{margin:0}
.career-timeline__phone-btn{
  display:inline-flex;align-items:center;gap:5px;flex-shrink:0;
  padding:4px 10px;border:1px solid #d1fae5;border-radius:999px;
  background:#ecfdf5;color:#059669;text-decoration:none;
  font-size:12px;font-weight:600;line-height:1.2;
  transition:background .15s,border-color .15s,transform .15s;
}
.career-timeline__phone-btn svg{width:14px;height:14px;flex-shrink:0}
.career-timeline__phone-btn:hover{background:#d1fae5;border-color:#a7f3d0;transform:translateY(-1px)}
.career-timeline__phone-btn:focus-visible{outline:2px solid #34d399;outline-offset:2px}
.career-timeline__phone-label{direction:ltr;unicode-bidi:isolate}
.career-timeline__desc{
  margin:0;font-size:12px;color:#9ca3af;line-height:1.65;
  overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;
  overflow-wrap:anywhere;word-break:break-word;
}
.career-timeline__more-btn{
  display:inline-flex;align-items:center;margin-top:6px;padding:0;
  border:none;background:transparent;color:var(--brand);
  font:inherit;font-size:12px;font-weight:700;cursor:pointer;
  line-height:1.4;transition:opacity .15s,color .15s;
}
.career-timeline__more-btn:hover{opacity:.8;text-decoration:underline;text-underline-offset:3px}
.career-timeline__more-btn:focus-visible{
  outline:2px solid var(--brand);outline-offset:2px;border-radius:4px;
}
.career-timeline__logo{
  grid-column:2;
  flex-shrink:0;width:46px;height:46px;border-radius:12px;
  border:1px solid #e5e7eb;background:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:15px;font-weight:800;color:#6b7280;overflow:hidden;
}
.career-timeline__logo--exp{
  background:#fff;color:#374151;font-size:14px;font-weight:800;
}
.career-timeline__logo--edu{
  background:#fff;color:var(--brand);
}
.career-timeline__logo--edu svg{display:block;width:20px;height:20px}
.career-timeline__logo--edu img{display:block;width:100%;height:100%;object-fit:contain;padding:4px}
.career-timeline__owner{position:relative;z-index:2;justify-self:center;align-self:start;grid-column:1}
.career-timeline__menu-btn{
  width:30px;height:30px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;
  cursor:pointer;color:#9ca3af;display:inline-flex;align-items:center;justify-content:center;
  padding:0;transition:background .15s,color .15s,border-color .15s;
}
.career-timeline__menu-btn:hover{background:#f9fafb;color:#4b5563;border-color:#d1d5db}
.career-timeline__dropdown{
  position:absolute;top:calc(100% + 6px);inset-inline-start:0;inset-inline-end:auto;z-index:30;
  min-width:132px;padding:6px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;
  box-shadow:0 10px 28px rgba(15,23,42,.12);
}
.career-timeline__dropdown.timeline-actions{margin-top:0}
.career-list-footer{display:flex;justify-content:flex-end;margin-top:12px}
.career-view-all{
  display:inline-flex;align-items:center;gap:6px;
  padding:9px 18px;font-size:13px;font-weight:600;color:var(--brand);
  background:#fff;border:1px solid #e5e7eb;border-radius:22px;
  cursor:pointer;font-family:inherit;transition:border-color .15s,background .15s;
}
.career-view-all:hover{background:#fafafa;border-color:#d1d5db}
.career-view-all svg{flex-shrink:0;opacity:.75}
@media(max-width:640px){
  .card-body--career{padding:16px}
  .career-timeline-item{
    grid-template-columns:28px 40px minmax(0,1fr) 18px minmax(76px,auto);
    column-gap:10px;--career-item-gap:28px;
  }
  body:not(.profile-owner) .career-timeline-item{
    grid-template-columns:40px minmax(0,1fr) 18px minmax(76px,auto);
  }
  .career-timeline__logo{width:40px;height:40px;border-radius:10px}
  .career-timeline__range{font-size:11px}
  .career-timeline__duration{font-size:10px}
  .career-timeline__title{font-size:14px}
}

/* EXPERIENCE & EDUCATION — legacy card styles (unused) */
.career-list{display:flex;flex-direction:column;gap:12px}
.career-card{
  display:flex;align-items:flex-start;gap:14px;
  padding:16px 18px;border-radius:14px;
  background:linear-gradient(135deg,#fafbff 0%,#fff 55%);
  border:1px solid #e8edf4;
  box-shadow:0 1px 3px rgba(15,23,42,.04);
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
  position:relative;overflow:hidden;
}
.career-card:hover{border-color:#c7d2fe;box-shadow:0 6px 20px rgba(99,102,241,.08);transform:translateY(-1px)}
.career-card--edu{background:linear-gradient(135deg,#f0fdf9 0%,#fff 55%)}
.career-card--edu:hover{border-color:#a7f3d0;box-shadow:0 6px 20px rgba(16,185,129,.08)}
.career-card__badge{
  flex-shrink:0;width:46px;height:46px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  font-size:17px;font-weight:800;line-height:1;
  box-shadow:0 2px 8px rgba(15,23,42,.06);
}
.career-card__badge--exp{
  background:linear-gradient(145deg,#6366f1,#7c4dff);color:#fff;
}
.career-card__badge--edu{
  background:linear-gradient(145deg,#10b981,#059669);color:#fff;
}
.career-card__badge--edu svg{display:block}
.career-card__body{flex:1;min-width:0;position:relative;padding-inline-start:2px}
.career-card__header{
  display:flex;align-items:flex-start;justify-content:space-between;gap:14px 20px;
  flex-wrap:wrap;margin-bottom:0;
}
.career-card__info{flex:1;min-width:0}
.career-card__title{
  margin:0 0 4px;font-size:15px;font-weight:800;color:var(--gray-900);line-height:1.4;
}
.career-card__subtitle{
  margin:0;font-size:13px;font-weight:600;color:var(--gray-600);line-height:1.45;
}
.career-card__meta{
  display:flex;flex-direction:column;align-items:flex-end;gap:4px;
  flex-shrink:0;text-align:left;
}
.career-card__dates{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 10px;border-radius:999px;
  background:#f1f5f9;border:1px solid #e2e8f0;
  font-size:11.5px;font-weight:700;color:#475569;white-space:nowrap;line-height:1.3;
}
.career-card__duration{
  font-size:11px;font-weight:700;color:#94a3b8;white-space:nowrap;line-height:1.3;
}
.career-card__desc{
  margin:10px 0 0;font-size:13px;color:var(--gray-600);line-height:1.7;
  overflow-wrap:anywhere;word-break:break-word;
  padding-top:10px;border-top:1px dashed #e8edf4;
}
.career-card__owner{position:absolute;top:0;left:0;z-index:2}
.career-card__menu-btn{
  width:28px;height:28px;border:none;background:transparent;border-radius:8px;
  cursor:pointer;color:var(--gray-400);display:inline-flex;align-items:center;justify-content:center;
  padding:0;transition:background .15s,color .15s;
}
.career-card__menu-btn:hover{background:var(--gray-100);color:var(--gray-700)}
.career-card__dropdown{position:absolute;top:calc(100% + 4px);left:0;z-index:5;min-width:120px}
.career-card__body:has(.career-card__owner){padding-top:2px}
@media(max-width:640px){
  .career-card{padding:14px;gap:12px}
  .career-card__badge{width:40px;height:40px;font-size:15px;border-radius:10px}
  .career-card__header{flex-direction:column;gap:8px}
  .career-card__meta{align-items:flex-start;text-align:right;flex-direction:row;flex-wrap:wrap;gap:8px}
  .career-card__owner{opacity:1}
}
body.profile-owner .career-card__owner{opacity:0;transition:opacity .15s ease}
body.profile-owner .career-card:hover .career-card__owner,
body.profile-owner .career-card:focus-within .career-card__owner{opacity:1}
@media(max-width:640px){
  body.profile-owner .career-card__owner{opacity:1}
}

/* EXPERIENCE (legacy item styles) */
.exp-item{display:flex;gap:12px;padding:14px 0;border-top:1px solid var(--border)}
.exp-item:first-child{border-top:none;padding-top:0}
.exp-logo{width:44px;height:44px;border-radius:8px;overflow:hidden;flex-shrink:0;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;background:white}
.exp-logo img{width:100%;height:100%;object-fit:contain}
.exp-content{flex:1}
.exp-title{font-size:14px;font-weight:700;color:var(--gray-900)}
.exp-company{font-size:13px;font-weight:600;color:var(--gray-700)}
.exp-meta{font-size:12px;color:var(--gray-500);margin:2px 0 6px;display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.exp-desc{
  font-size:13px;
  color:var(--gray-600);
  line-height:1.6;
  /* جلوگیری از سرریز افقی متن‌های خیلی طولانی */
  overflow-wrap:anywhere;
  word-break:break-word;
}
.exp-location{font-size:12px;color:var(--gray-500);margin-top:2px}
body.profile-owner .exp-item-actions{margin-top:8px;display:flex;gap:6px;opacity:0;transition:opacity .15s ease}
body.profile-owner .exp-item:hover .exp-item-actions,
body.profile-owner .exp-item:focus-within .exp-item-actions{opacity:1}

/* EDUCATION */
.edu-item{display:flex;gap:12px;padding:14px 0;border-top:1px solid var(--border)}
.edu-item:first-child{border-top:none;padding-top:0}
.edu-logo{width:44px;height:44px;border-radius:50%;overflow:hidden;flex-shrink:0;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;background:#f0f0f0}
.edu-logo img{width:100%;height:100%;object-fit:contain}
.edu-content{flex:1}
.edu-school{font-size:14px;font-weight:700;color:var(--gray-900)}
.edu-degree{font-size:13px;color:var(--gray-600);font-weight:500}
.edu-years{font-size:12px;color:var(--gray-500);margin-top:2px}

/* INTERESTS */
.interest-chips{display:flex;flex-wrap:wrap;gap:8px}
.interest-chip{padding:7px 14px;border:1.5px solid var(--border);border-radius:20px;font-size:13px;font-weight:600;color:var(--gray-700);background:white;cursor:pointer;transition:all .2s}
.interest-chip:hover,.interest-chip.active{border-color:var(--site-secondary);color:var(--site-secondary);background:var(--site-secondary-tint)}

/* ACCOMPLISHMENTS */
.accomp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:4px}
.accomp-item{display:flex;align-items:flex-start;gap:10px}
.accomp-icon{font-size:26px;flex-shrink:0;margin-top:2px}
.accomp-title{font-size:13px;font-weight:700;color:var(--gray-900)}
.accomp-desc{font-size:12px;color:var(--gray-500);margin-top:2px;line-height:1.5}

/* RIGHT SIDEBAR */
.sidebar{display:flex;flex-direction:column;gap:8px}

/* PROFILE OVERVIEW */
.overview-card .card-body{padding:16px}
.overview-ring-wrap{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.ring-svg-wrap{position:relative;width:56px;height:56px;flex-shrink:0}
.ring-pct{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:var(--site-secondary)}
.overview-title{font-size:14px;font-weight:700;color:var(--gray-900)}
.overview-sub{font-size:12px;color:var(--gray-500)}
.overview-items{display:flex;flex-direction:column;gap:10px;max-height:min(320px,50vh);overflow-y:auto;padding-inline-end:2px}
.overview-sub{line-height:1.45}
.overview-item{display:flex;align-items:center;gap:10px}
.overview-item-line{flex:1;height:1px;background:var(--border)}
.overview-item-label{font-size:12px;color:var(--gray-600);font-weight:500;flex:1;min-width:0}
.check-icon{width:18px;height:18px;border-radius:50%;background:var(--green-light);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.check-icon.done{background:var(--green)}
.check-icon.done svg{color:white}
.check-empty{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--gray-300);flex-shrink:0}
.overview-improve{display:flex;align-items:center;gap:6px;color:var(--site-secondary);font-size:12px;font-weight:700;cursor:pointer;margin-top:12px}

/* PEOPLE YOU MAY KNOW */
.people-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.people-title{font-size:14px;font-weight:700}
.see-all-link{font-size:13px;font-weight:600;color:var(--site-secondary);cursor:pointer}
.person-item{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.person-avatar{width:42px;height:42px;border-radius:50%;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:white}
.person-name{font-size:13px;font-weight:700;color:var(--gray-900)}
.person-role{font-size:11px;color:var(--gray-500);margin-top:1px}
.follow-btn{display:flex;align-items:center;gap:4px;padding:5px 12px;border:1.5px solid var(--site-secondary);border-radius:20px;background:white;color:var(--site-secondary);font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;margin-top:5px;transition:all .2s}
.follow-btn:hover{background:var(--site-secondary-tint)}

/* BOOST CARD */
.boost-card .card-body{padding:16px}
.boost-title{font-size:14px;font-weight:700;color:var(--gray-900);line-height:1.4;margin-bottom:6px}
.boost-desc{font-size:12px;color:var(--gray-500);margin-bottom:10px;line-height:1.5}
.boost-btn{padding:7px 16px;border:1.5px solid var(--site-secondary);border-radius:20px;background:white;color:var(--site-secondary);font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .2s}
.boost-btn:hover{background:var(--site-secondary-tint)}
.boost-preview{margin-top:12px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);background:var(--gray-50);height:60px;display:flex;align-items:center;justify-content:center}
.boost-preview-inner{display:flex;gap:8px;align-items:center;padding:10px}
.preview-line{height:8px;border-radius:4px;background:var(--gray-200)}
.preview-circle{width:32px;height:32px;border-radius:50%;background:var(--gray-200);flex-shrink:0}
.preview-search{width:28px;height:28px;border-radius:50%;background:#c7d5f0;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:auto}

/* Jalali date fields (profile experience & education forms) */
.jalali-date-field .jalali-date-display:disabled{opacity:.55;cursor:not-allowed;background:var(--gray-100,#f3f4f6)}
.jalali-date-field .jalali-cal-btn:disabled{opacity:.55;cursor:not-allowed}
.jalali-picker-popup{background:#fff;border:1px solid var(--border,#e5e7eb);border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.12);padding:12px;width:300px;font-family:inherit;font-size:13px;z-index:10000}
.jalali-picker-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:6px}
.jalali-picker-mid{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;min-width:0}
.jalali-picker-title{text-align:center;font-weight:700;color:var(--gray-900,#111827);font-size:14px;white-space:nowrap}
.jalali-picker-year-btn{flex:0 0 auto;min-width:64px;padding:6px 10px;border:1px solid var(--border,#e5e7eb);border-radius:8px;font:inherit;font-weight:700;background:#fff;cursor:pointer;color:var(--gray-900,#111827);transition:border-color .18s,background .18s}
.jalali-picker-year-btn:hover,.jalali-picker-year-btn--open{border-color:var(--site-secondary);background:var(--site-secondary-tint);color:var(--site-secondary)}
.jalali-picker-years{max-height:210px;overflow-y:auto;margin-top:2px}
.jalali-picker-years-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.jalali-picker-year-option{min-height:36px;border:1px solid var(--border,#e5e7eb);border-radius:8px;background:var(--gray-50,#f9fafb);cursor:pointer;font:inherit;font-size:13px;font-weight:600;color:var(--gray-900,#111827)}
.jalali-picker-year-option:hover{border-color:var(--site-secondary);background:var(--site-secondary-tint);color:var(--site-secondary)}
.jalali-picker-year-option--active{background:var(--site-secondary);border-color:var(--site-secondary);color:#fff}
.jalali-picker-nav-btn{width:36px;height:34px;border:1px solid var(--border,#e5e7eb);border-radius:8px;background:var(--gray-50,#f9fafb);cursor:pointer;font-size:18px;line-height:1;color:#374151;font-family:inherit}
.jalali-picker-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:6px;text-align:center;font-size:11px;color:#6b7280;font-weight:600}
.jalali-picker-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.jalali-picker-day{min-height:32px;border:none;border-radius:8px;background:#f3f4f6;cursor:pointer;font:inherit;font-size:13px;color:#111827}
.jalali-picker-day:hover{background:#e0e7ff}
.jalali-picker-day--out{min-height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;font:inherit;font-size:12px;color:#c4c4c4;background:#f9fafb;cursor:default;user-select:none}
.jalali-picker-cell.jalali-picker-empty{min-height:32px}

/* Inline profile forms (experience / education / skills editor) */
.profile-form-nested{
  margin-top:12px;
  padding:16px;
  border:1.5px solid #e5e7eb;
  background:#f9fafb;
  border-radius:10px;
  box-shadow:none;
}
.profile-form-nested .profile-form-title{
  font-size:15px;
  font-weight:800;
  color:var(--gray-900);
  margin:0 0 14px;
  padding-bottom:10px;
  border-bottom:1px solid var(--border);
}
.prof-form-grid{
  display:grid;
  gap:12px;
  grid-template-columns:repeat(2,1fr);
}
@media(max-width:520px){.prof-form-grid{grid-template-columns:1fr}}
.prof-form-label{
  font-size:12px;
  font-weight:700;
  color:var(--gray-600);
  display:flex;
  flex-direction:column;
  gap:6px;
}
.prof-form-label .prof-form-input,
.prof-form-label select.prof-form-input,
.prof-form-label textarea.prof-form-input{
  padding:10px 12px;
  border:1.5px solid var(--border);
  border-radius:10px;
  font:inherit;
  background:var(--white);
  color:var(--gray-900);
  transition:border-color .2s, box-shadow .2s;
}
.prof-form-label .prof-form-input:focus,
.prof-form-label select.prof-form-input:focus,
.prof-form-label textarea.prof-form-input:focus{
  outline:none;
  border-color:var(--site-secondary);
  box-shadow:0 0 0 3px rgba(20,29,48,.12);
}
.prof-form-label select.prof-form-input{
  cursor:pointer;
  appearance:auto;
}
.prof-form-full{grid-column:1/-1}
.prof-period-toggle{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  background:var(--white);
  border:1.5px solid var(--border);
  border-radius:10px;
  box-shadow:none;
  margin-bottom:2px;
  cursor:pointer;
  font-family:inherit;
}
.prof-period-toggle input[type="checkbox"]{
  width:18px;
  height:18px;
  accent-color:var(--site-secondary);
  cursor:pointer;
  flex-shrink:0;
}
.prof-period-toggle span{
  font-size:13px;
  font-weight:700;
  color:var(--gray-800);
}
.jalali-date-field.prof-date-row .jalali-date-display{
  padding:10px 12px;
  border:1.5px solid var(--border);
  border-radius:10px;
  font:inherit;
  background:var(--white);
}
.jalali-date-field.prof-date-row .jalali-cal-btn{
  padding:10px 14px;
  border:1.5px solid var(--border);
  border-radius:10px;
  background:var(--white);
  font-weight:600;
  color:var(--site-secondary);
}
.jalali-date-field.prof-date-row .jalali-cal-btn:hover:not(:disabled){
  background:var(--site-secondary-tint);
  border-color:var(--site-secondary);
}
.profile-form-actions{
  margin-top:16px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

/* لیست مهارت: منوی پیشنهاد زیر کارت بیرون نزند */
#skills.card{overflow:visible}

/* Skills editor */
.skills-editor-panel{
  margin-bottom:14px;
  padding:12px;
  background:#f9fafb;
  border-radius:10px;
  border:1.5px solid #e5e7eb;
  box-shadow:none;
}
.skills-editor-panel .skills-add-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:stretch;
  margin-bottom:12px;
}
.skills-editor-panel .skills-add-row select,
.skills-editor-panel .skills-add-row .profile-skill-add-input{
  padding:10px 12px;
  border:1.5px solid var(--border);
  border-radius:10px;
  font:inherit;
  font-size:13px;
  background:var(--white);
  min-height:42px;
}
.skills-editor-panel .skills-add-row .skill-ac-wrap{
  flex:1;
  min-width:160px;
  position:relative;
}
.skills-editor-panel .skill-ac-inner{position:relative;width:100%}
.skills-editor-panel .profile-skill-add-input{width:100%;box-sizing:border-box}
.skills-editor-panel .skill-ac-dropdown{
  display:none;
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 4px);
  max-height:240px;
  overflow-y:auto;
  background:var(--white);
  border:1.5px solid var(--gray-200);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  z-index:220;
}
.skills-editor-panel .skill-ac-dropdown.open{display:block}
.skills-editor-panel .skill-ac-item{
  width:100%;
  border:none;
  background:transparent;
  margin:0;
  padding:10px 12px;
  font-size:13px;
  font-family:inherit;
  text-align:right;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:var(--gray-900);
}
.skills-editor-panel .skill-ac-item:hover,
.skills-editor-panel .skill-ac-item.active{background:var(--site-secondary-tint)}
.skills-editor-panel .skill-ac-name{font-weight:600}
.skills-editor-panel .skill-ac-slug{font-size:11px;color:var(--gray-400);font-weight:500;text-transform:lowercase}
.skills-editor-panel .skill-ac-empty{padding:12px;font-size:13px;color:var(--gray-500)}
.skills-editor-panel .skill-ac-item--custom{border-top:1px dashed var(--border);background:var(--site-secondary-tint, #f5f3ff)}
.skills-editor-panel .skill-ac-item--custom .skill-ac-slug{color:var(--gray-500);font-size:11px}
.skill-picked-custom-tag{font-size:10px;font-weight:700;color:#7c3aed;margin-right:4px}

/* Education form autocomplete (same field types as advanced search) */
.prof-edu-ac-wrap{position:relative;width:100%}
.prof-edu-ac-inner{position:relative;width:100%}
.profile-inline-form .prof-edu-ac-wrap{width:100%}
.profile-inline-form .skill-ac-dropdown{
  position:absolute;
  top:calc(100% + 4px);
  right:0;
  left:0;
  z-index:220;
  max-height:220px;
  overflow-y:auto;
  background:#fff;
  border:1.5px solid var(--gray-200,#e5e7eb);
  border-radius:10px;
  box-shadow:0 8px 24px rgba(0,0,0,.08);
  display:none;
}
.profile-inline-form .skill-ac-dropdown.open{display:block}
.profile-inline-form .skill-ac-item{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  width:100%;
  padding:9px 12px;
  border:none;
  background:transparent;
  cursor:pointer;
  text-align:right;
  font-family:inherit;
  color:var(--gray-900);
}
.profile-inline-form .skill-ac-item:hover,
.profile-inline-form .skill-ac-item.active{background:var(--site-secondary-tint,#e8ebf0)}
.profile-inline-form .skill-ac-name{font-weight:600;font-size:13px}
.profile-inline-form .skill-ac-slug{font-size:10px;color:var(--gray-400);font-weight:500;text-transform:lowercase}
.profile-inline-form .skill-ac-alias{font-size:11px;color:var(--gray-500);font-weight:500;line-height:1.35}
#profile-job-title-wrap .skill-ac-item{
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
#profile-job-title-wrap .skill-ac-name{flex:1;min-width:0;text-align:right}
#profile-job-title-wrap .skill-ac-alias{flex-shrink:0;text-align:left;font-size:10px;color:var(--gray-400)}
.profile-inline-form .skill-ac-empty{padding:12px;font-size:13px;color:var(--gray-500)}
.profile-inline-form{
  margin-top:12px;display:grid;gap:10px;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.profile-inline-form > label{
  display:flex;flex-direction:column;gap:4px;
  font-size:12px;font-weight:600;color:var(--gray-600);min-width:0;
}
.profile-inline-form__full{grid-column:1/-1}
.profile-inline-form .panel-input-like,
.profile-inline-form .panel-select{
  width:100%;box-sizing:border-box;
  padding:8px;border:1px solid var(--border);border-radius:8px;font:inherit;
}
.profile-form-nested .skill-ac-dropdown{
  position:absolute;
  top:calc(100% + 4px);
  right:0;
  left:0;
  z-index:40;
  max-height:220px;
  overflow-y:auto;
  background:#fff;
  border:1.5px solid var(--gray-200,#e5e7eb);
  border-radius:10px;
  box-shadow:0 8px 24px rgba(0,0,0,.08);
  display:none;
}
.profile-form-nested .skill-ac-dropdown.open{display:block}
.profile-form-nested .skill-ac-item{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  width:100%;
  padding:9px 12px;
  border:none;
  background:transparent;
  cursor:pointer;
  text-align:right;
  font-family:inherit;
  color:var(--gray-900);
}
.profile-form-nested .skill-ac-item:hover,
.profile-form-nested .skill-ac-item.active{background:var(--site-secondary-tint,#e8ebf0)}
.profile-form-nested .skill-ac-name{font-weight:600;font-size:13px}
.profile-form-nested .skill-ac-slug{font-size:10px;color:var(--gray-400);font-weight:500;text-transform:lowercase}
.profile-form-nested .skill-ac-empty{padding:10px 12px;font-size:12px;color:var(--gray-500)}
.prof-form-select{cursor:pointer;appearance:auto}
.skills-editor-panel .profile-skill-catalog-empty{
  flex:1;
  min-width:160px;
  padding:10px 12px;
  font-size:13px;
  color:var(--gray-500);
  align-self:center;
}
.skill-editor-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
  padding:12px 14px;
  margin-bottom:8px;
  background:#f9fafb;
  border:1.5px solid #e5e7eb;
  border-radius:10px;
  box-shadow:none;
  transition:border-color .2s;
}
.skill-editor-row:hover{border-color:var(--site-secondary)}
.skill-editor-row .skill-editor-name{font-weight:800;font-size:14px;color:var(--gray-900);flex:1;min-width:120px}
.skill-editor-row .skill-editor-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.skill-level-seg{
  display:inline-flex;
  flex-wrap:wrap;
  gap:3px;
  padding:4px;
  background:var(--white);
  border:1px solid var(--border);
  border-radius:10px;
  max-width:100%;
}
.skill-level-seg[data-skill-level-id] button.skill-level-pill:focus-visible{outline:2px solid var(--site-secondary);outline-offset:2px}
.skill-add-level-wrap{margin-top:10px}
.skill-add-level-wrap .skill-level-seg{padding:5px;width:100%;justify-content:stretch}
.skill-add-level-wrap .skill-level-pill{flex:1;min-width:0;text-align:center}
.skill-level-pill{
  border:none;
  background:transparent;
  margin:0;
  padding:7px 8px;
  border-radius:8px;
  font:inherit;
  font-size:11px;
  font-weight:700;
  line-height:1.25;
  color:var(--gray-600);
  cursor:pointer;
  transition:background .15s,color .15s,border-color .15s;
  white-space:nowrap;
}
@media(max-width:400px){.skill-level-pill{font-size:10px;padding:7px 5px}}
.skill-level-pill:hover{color:var(--site-secondary);background:var(--site-secondary-tint)}
.skill-level-pill.is-on{background:var(--site-secondary);color:#fff}
.skill-level-pill.is-on:hover{background:var(--site-secondary-hover);color:#fff}
.skill-tenure-wrap{
  display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap;
  padding:4px 8px;background:var(--white);border:1px solid var(--border);border-radius:10px;
}
.skill-tenure-label{font-size:11px;font-weight:700;color:var(--gray-500);margin-left:2px}
.skill-tenure-unit{font-size:10px;font-weight:600;color:var(--gray-500)}
.skill-tenure-years,.skill-tenure-months{
  border:1px solid var(--border);border-radius:6px;background:#fff;
  font:inherit;font-size:12px;font-weight:700;color:var(--gray-800);
  padding:4px 6px;min-width:44px;max-width:56px;text-align:center;
  -moz-appearance:textfield;
}
.skill-tenure-years::-webkit-outer-spin-button,.skill-tenure-years::-webkit-inner-spin-button,
.skill-tenure-months::-webkit-outer-spin-button,.skill-tenure-months::-webkit-inner-spin-button{
  -webkit-appearance:none;margin:0;
}
.skill-tenure-years:focus,.skill-tenure-months:focus{
  outline:2px solid var(--site-secondary);outline-offset:1px;border-color:var(--site-secondary);
}
.skill-add-tenure-wrap{margin-top:8px}
.skill-rm-btn{
  width:34px;height:34px;padding:0!important;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  border:1.5px solid var(--border)!important;
  border-radius:10px!important;
  background:var(--white)!important;
  color:var(--gray-500)!important;
  cursor:pointer;
  font-size:18px!important;
  font-weight:700!important;
  line-height:1!important;
  transition:background .2s, color .2s, border-color .2s;
}
.skill-rm-btn:hover{
  background:#fef2f2!important;
  border-color:#fecaca!important;
  color:#b91c1c!important;
}

.profile-meta-line{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:6px}
.profile-meta-line .profile-location{margin-top:0}
.profile-meta-line .profile-age-meta{margin:0}
.profile-age-meta{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:500;color:var(--gray-500);line-height:1.35;vertical-align:middle}
.profile-age-meta__sep{color:var(--gray-400);user-select:none;font-weight:400;margin-left:2px}
.profile-age-meta__ico{flex-shrink:0;color:var(--gray-500);opacity:.88}
.profile-age-meta__txt{color:var(--gray-600);font-weight:500}
.profile-field-hint{display:block;font-size:11px;font-weight:500;color:var(--gray-500);margin-top:6px;line-height:1.45}
.profile-inline-err{grid-column:1/-1;margin:4px 0 0;font-size:12px;font-weight:600;color:#b91c1c;line-height:1.4}
.profile-field-err{display:block;margin-top:4px;font-size:12px;font-weight:600;color:#b91c1c;line-height:1.35}
.prof-form-label--invalid .prof-form-input,
.prof-form-label--invalid .jalali-date-display{border-color:#b91c1c!important}
.prof-form-label--invalid .jalali-cal-btn{border-color:#b91c1c}

/* ── Contact section (Kon/inbox-inspired) ── */
.profile-contact-panel{position:relative;margin-top:4px}
.profile-contact-panel--view{padding-top:4px}
.profile-contact-help{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;height:22px;border-radius:999px;color:#7c3aed;background:#f5f3ff;border:1px solid #ddd6fe;cursor:help;z-index:30;transition:background .15s,border-color .15s;font-size:0;line-height:0}
.profile-contact-help svg{pointer-events:none;flex-shrink:0}
.profile-contact-help:hover,.profile-contact-help:focus-visible{background:#ede9fe;border-color:#c4b5fd;box-shadow:0 4px 16px rgba(124,58,237,.14);outline:none}
.profile-contact-help-popup{position:absolute;top:calc(100% + 10px);right:0;left:auto;width:min(340px,calc(100vw - 32px));padding:14px 16px;border-radius:14px;background:#fff;border:2px solid #e8edf4;box-shadow:0 12px 40px rgba(15,23,42,.16);font-size:12.5px;line-height:1.65;color:#475569;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s;pointer-events:none;text-align:right;z-index:200;white-space:normal;word-wrap:break-word}
.profile-contact-help-popup strong{display:block;margin-bottom:8px;font-size:13px;color:#1e293b}
.profile-contact-help-popup p{margin:0 0 8px}
.profile-contact-help-popup p:last-child{margin-bottom:0}
.profile-contact-help-note{color:#7c3aed;font-weight:600}
.profile-contact-help:hover .profile-contact-help-popup,.profile-contact-help:focus-visible .profile-contact-help-popup,.profile-contact-help:focus-within .profile-contact-help-popup{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.profile-contact-fields{
  display:flex;
  flex-direction:column;
  gap:5px;
  --contact-label-w:84px;
  --contact-input-max:minmax(0,1fr);
  --contact-access-w:128px;
  --contact-add-w:26px;
  --contact-gap:6px;
  --contact-side-pad:5px;
}
.profile-contact-group{display:flex;flex-direction:column;border:1px solid #e8edf4;border-radius:8px;background:#fff;overflow:hidden}
.profile-contact-group-line,
.profile-contact-row{
  display:grid;
  grid-template-columns:var(--contact-label-w) var(--contact-input-max) var(--contact-access-w);
  gap:4px var(--contact-gap);
  align-items:center;
  padding-block:3px;
  padding-inline:var(--contact-side-pad);
  min-height:30px;
}
.profile-contact-group-line--has-add,
.profile-contact-row--has-add{
  grid-template-columns:var(--contact-label-w) var(--contact-input-max) var(--contact-access-w) var(--contact-add-w);
}
.profile-contact-group-line--no-add,
.profile-contact-row--no-add{
  grid-template-columns:var(--contact-label-w) var(--contact-input-max) calc(var(--contact-access-w) + var(--contact-add-w) + var(--contact-gap));
  padding-inline-end:var(--contact-side-pad);
}
.profile-contact-group-line+.profile-contact-group-line{border-top:1px solid #f1f5f9}
.profile-contact-row{border:1px solid #e8edf4;border-radius:8px;background:#fff;transition:border-color .15s,box-shadow .15s}
.profile-contact-row:hover{border-color:#ddd6fe;box-shadow:0 1px 4px rgba(124,58,237,.05)}
.profile-contact-label{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:10px;
  font-weight:800;
  color:#64748b;
  white-space:nowrap;
  line-height:1.2;
  overflow:hidden;
  text-overflow:ellipsis;
}
.profile-contact-field-icon{width:16px;height:16px;flex-shrink:0;object-fit:contain;border-radius:4px}
.profile-contact-label--empty{visibility:hidden}
.profile-contact-access-wrap{position:relative;width:100%;min-width:0}
.profile-contact-access-wrap::after{
  content:"";
  position:absolute;
  inset-inline-end:7px;
  top:50%;
  width:10px;
  height:10px;
  transform:translateY(-50%);
  pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat center/contain;
  opacity:.85;
}
.profile-contact-add-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;height:22px;padding:0;border:1px dashed #c4b5fd;border-radius:6px;background:transparent;color:#7c3aed;font-size:14px;font-weight:700;line-height:1;cursor:pointer;font-family:inherit;transition:all .15s;justify-self:center}
.profile-contact-add-btn:hover{background:#f5f3ff;border-color:#a78bfa}
@media(max-width:560px){
  .profile-contact-fields{--contact-label-w:72px;--contact-access-w:108px;--contact-add-w:24px;--contact-gap:4px;--contact-side-pad:4px}
  .profile-contact-group-line,.profile-contact-row{gap:3px var(--contact-gap);padding-block:3px}
  .profile-contact-label{font-size:9px}
  .profile-contact-input,.profile-contact-access{font-size:11px;padding:3px 5px}
  .profile-contact-add-btn{width:20px;height:20px;font-size:13px}
}
.profile-contact-input{width:100%;min-width:0;padding:4px 6px;border:1px solid #e2e8f0;border-radius:6px;font:inherit;font-size:12px;background:#fff;color:#334155;transition:border-color .15s,box-shadow .15s;line-height:1.3}
.profile-contact-input:focus{border-color:#7c3aed;outline:none;box-shadow:0 0 0 2px rgba(124,58,237,.1)}
.profile-contact-input::placeholder{color:#cbd5e1;font-size:10px}
.profile-contact-access{
  width:100%;
  min-width:0;
  font-size:10px;
  font-weight:600;
  padding:4px 6px;
  padding-inline-end:22px;
  border:1px solid #e2e8f0;
  border-radius:6px;
  background:#f8fafc;
  color:#475569;
  font-family:inherit;
  cursor:pointer;
  appearance:none;
  line-height:1.3;
  text-align:start;
  white-space:nowrap;
}
.profile-contact-access:focus{border-color:#7c3aed;outline:none;box-shadow:0 0 0 2px rgba(124,58,237,.1);background-color:#fff}
.profile-contact-actions{margin-top:10px}
.profile-contact-display{display:flex;flex-direction:column;gap:14px}
.profile-contact-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:10px}

/* ===== Contact display (row-based) ===== */
.profile-contact-subsection{display:flex;flex-direction:column;gap:7px}
.profile-contact-subtitle{font-size:12px;font-weight:800;color:#334155;letter-spacing:.01em;padding-inline-start:2px}
.profile-contact-list{display:flex;flex-direction:column;gap:5px}
.profile-contact-item{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  width:100%;
  min-height:0;
  padding:6px 9px;
  border-radius:10px;
  border:1px solid #eef1f6;
  background:#fff;
  text-align:start;
  font-family:inherit;
  transition:border-color .16s,box-shadow .16s,transform .16s,background .16s;
}
button.profile-contact-item{cursor:pointer}
.profile-contact-item:hover{border-color:#ddd6fe;box-shadow:0 4px 14px rgba(124,58,237,.08);transform:translateY(-1px);background:#fdfcff}
.profile-contact-item-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  width:32px;
  height:32px;
  border-radius:9px;
  border:1px solid transparent;
}
.profile-contact-item-icon svg{width:17px;height:17px}
.profile-contact-item-icon img{width:18px;height:18px;object-fit:contain}
.profile-contact-item--phone .profile-contact-item-icon{background:#ecfdf5;border-color:#d1fae5;color:#059669}
.profile-contact-item--email .profile-contact-item-icon{background:#eff6ff;border-color:#dbeafe;color:#2563eb}
.profile-contact-item--github .profile-contact-item-icon{background:#1e293b;border-color:#1e293b;color:#fff}
.profile-contact-item--website .profile-contact-item-icon{background:#f5f3ff;border-color:#ede9fe;color:#7c3aed}
.profile-contact-item-icon--social{background:#f8fafc;border-color:#eef1f6}
.profile-contact-item-body{
  display:grid;
  grid-template-columns:minmax(68px,max-content) minmax(0,1fr);
  align-items:center;
  column-gap:10px;
  row-gap:4px;
  min-width:0;
}
.profile-contact-item-label{
  font-size:10.5px;
  font-weight:700;
  color:#94a3b8;
  line-height:1.25;
  white-space:nowrap;
  justify-self:start;
}
.profile-contact-item-value{
  font-size:12.5px;
  font-weight:700;
  color:#1e293b;
  line-height:1.3;
  min-width:0;
  text-align:end;
  justify-self:stretch;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  word-break:normal;
}
.profile-contact-item-value--link{color:#7c3aed;text-decoration:none}
.profile-contact-item-value--link:hover{text-decoration:underline}
.profile-contact-item-value-wrap{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  min-width:0;
}
.profile-contact-item-value-wrap .profile-contact-item-value{flex:1 1 auto;min-width:0}
.profile-contact-item-value-wrap .profile-contact-badge{flex:0 0 auto}
.profile-contact-item .profile-contact-badge{align-self:center;margin:0}
.profile-contact-item .profile-contact-website-warn{grid-column:1/-1;margin:0;font-size:9.5px;line-height:1.35}
.profile-contact-item-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  width:30px;
  height:30px;
  border-radius:8px;
  border:1px solid #e8edf4;
  background:#f8fafc;
  color:#64748b;
  cursor:pointer;
  text-decoration:none;
  transition:background .15s,color .15s,border-color .15s,transform .12s;
}
.profile-contact-item-action svg{width:15px;height:15px}
.profile-contact-item-action:hover{transform:translateY(-1px)}
.profile-contact-item--phone .profile-contact-item-action:hover{background:#ecfdf5;border-color:#a7f3d0;color:#059669}
.profile-contact-item--email .profile-contact-item-action:hover{background:#eff6ff;border-color:#bfdbfe;color:#2563eb}
.profile-contact-item--github .profile-contact-item-action:hover{background:#f1f5f9;border-color:#cbd5e1;color:#1e293b}
.profile-contact-item--website .profile-contact-item-action:hover{background:#f5f3ff;border-color:#ddd6fe;color:#7c3aed}
.profile-contact-item--social:hover .profile-contact-item-action{background:#f5f3ff;border-color:#ddd6fe;color:#7c3aed}
.profile-contact-card{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 14px 14px 14px;
  border-radius:14px;
  border:1px solid #e8edf4;
  border-inline-start:3px solid transparent;
  background:#fff;
  overflow:hidden;
  transition:border-color .18s,box-shadow .18s,transform .18s,background .18s;
}
.profile-contact-card::before{
  content:"";
  position:absolute;
  inset-inline-end:-18px;
  top:-18px;
  width:72px;
  height:72px;
  border-radius:50%;
  opacity:.55;
  pointer-events:none;
}
.profile-contact-card--email::before{background:radial-gradient(circle,#fecaca 0%,transparent 70%)}
.profile-contact-card--phone::before{background:radial-gradient(circle,#bbf7d0 0%,transparent 70%)}
.profile-contact-card--github::before{background:radial-gradient(circle,#e2e8f0 0%,transparent 70%)}
.profile-contact-card--website::before{background:radial-gradient(circle,#ddd6fe 0%,transparent 70%)}
.profile-contact-card--email{border-inline-start-color:#f87171}
.profile-contact-card--phone{border-inline-start-color:#34d399}
.profile-contact-card--github{border-inline-start-color:#94a3b8}
.profile-contact-card--website{border-inline-start-color:#a78bfa}
.profile-contact-card:hover{border-color:#c4b5fd;box-shadow:0 10px 32px rgba(124,58,237,.14);transform:translateY(-2px);background:#fdfbff}
.profile-contact-card-icon{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  width:40px;
  height:40px;
  border-radius:11px;
  background:#fff;
  border:1px solid #f1f5f9;
  box-shadow:0 2px 8px rgba(15,23,42,.07);
  transition:box-shadow .18s;
}
.profile-contact-card--email .profile-contact-card-icon{background:linear-gradient(135deg,#fff5f5,#fff)}
.profile-contact-card--phone .profile-contact-card-icon{background:linear-gradient(135deg,#f0fdf4,#fff)}
.profile-contact-card--github .profile-contact-card-icon{background:linear-gradient(135deg,#f8fafc,#fff)}
.profile-contact-card--website .profile-contact-card-icon{background:linear-gradient(135deg,#faf5ff,#fff)}
.profile-contact-card-body{position:relative;z-index:1;display:flex;flex-direction:column;gap:3px;min-width:0;flex:1;padding-top:1px}
.profile-contact-card-label{font-size:9.5px;font-weight:800;color:#94a3b8;letter-spacing:.07em;text-transform:uppercase}
.profile-contact-card-value,.profile-contact-card-link{font-size:13px;font-weight:700;color:#1e293b;word-break:break-all;line-height:1.4}
.profile-contact-card-link{text-decoration:none;color:#7c3aed}
.profile-contact-card-link:hover{text-decoration:underline}
.profile-contact-card .profile-contact-badge{margin-inline-start:auto;align-self:flex-start;margin-top:2px;flex-shrink:0}
.profile-contact-card .profile-contact-website-warn{margin:4px 0 0;font-size:10px}
.profile-contact-view{display:flex;flex-direction:column;gap:5px}
.profile-contact-view-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;border:1px solid #e8edf4;border-radius:8px;background:#fff}
.profile-contact-view-main{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;min-width:0;font-size:12px;color:#334155;flex:1}
.profile-contact-view-label{font-size:10px;font-weight:700;color:#94a3b8;white-space:nowrap;flex-shrink:0;min-width:64px}
.profile-contact-view-main .profile-contact-website-warn{flex-basis:100%;margin-top:0}
.profile-contact-view-row a{color:#7c3aed;font-weight:600;word-break:break-all;text-decoration:none}
.profile-contact-view-row a:hover{text-decoration:underline}
.profile-contact-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;font-size:9px;font-weight:700;white-space:nowrap;flex-shrink:0;line-height:1.3}
.profile-contact-badge--limited{background:#fff7ed;color:#ea580c;border:1px solid #fed7aa}
.profile-contact-badge--full{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}
.profile-contact-badge--public{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}
.profile-contact-badge--hidden{background:#f8fafc;color:#64748b;border:1px solid #e2e8f0}
.profile-contact-website-warn{margin:4px 0 0;padding:4px 6px;border-radius:6px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:10px;font-weight:600;line-height:1.4}
.profile-contact-empty{margin:0;font-size:12px;color:#94a3b8}
.profile-contact-block-section{margin-top:10px;padding-top:10px;border-top:1px dashed #e8edf4}
.profile-contact-block-view{margin-top:10px;padding-top:10px;border-top:1px dashed #e8edf4}
.profile-contact-block-title{font-size:11px;font-weight:800;color:#334155;margin-bottom:6px}
.profile-contact-block-search-wrap{position:relative;margin-bottom:6px}
.profile-contact-block-search{width:100%;padding:6px 10px;border:1px solid #e8edf4;border-radius:8px;font:inherit;font-size:12px;background:#fff;transition:border-color .15s}
.profile-contact-block-search:focus{border-color:#7c3aed;outline:none;box-shadow:0 0 0 3px rgba(124,58,237,.1)}
.profile-contact-block-dropdown{position:absolute;top:calc(100% + 4px);right:0;left:0;max-height:220px;overflow:auto;background:#fff;border:2px solid #e8edf4;border-radius:12px;box-shadow:0 8px 24px rgba(15,23,42,.1);z-index:15;display:none}
.profile-contact-block-dropdown.is-open{display:block}
.profile-contact-block-item{display:flex;flex-direction:row;align-items:center;gap:8px;width:100%;padding:6px 10px;border:none;border-bottom:1px solid #f1f5f9;background:transparent;text-align:right;cursor:pointer;font-family:inherit;transition:background .15s}
.profile-contact-block-item:last-child{border-bottom:none}
.profile-contact-block-item:hover{background:#f5f3ff}
.profile-contact-block-item-avatar{width:24px;height:24px;border-radius:50%;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#5f87ff,#2649b0);font-size:9px;font-weight:700;color:#fff;line-height:1}
.profile-contact-block-item-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.profile-contact-block-item-body{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0;flex:1}
.profile-contact-block-item-name{font-size:12px;font-weight:700;color:#1e293b;line-height:1.25}
.profile-contact-block-item-meta{font-size:10px;color:#64748b;direction:ltr;text-align:left;width:100%;line-height:1.25}
.profile-contact-block-empty{padding:12px;font-size:12px;color:#94a3b8;text-align:center}
.profile-contact-block-chips{display:flex;flex-wrap:wrap;gap:5px}
.profile-contact-block-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;background:#f5f3ff;border:1px solid #ddd6fe;color:#5b21b6;font-size:11px;font-weight:600}
.profile-contact-block-chip--view{background:#f8fafc;border-color:#e2e8f0;color:#475569}
.profile-contact-block-chip--allow{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.profile-contact-block-section--allow{border-top-color:#dbeafe}
.profile-contact-block-view--allow{margin-top:8px;padding-top:8px;border-top:1px dashed #dbeafe}
.profile-viewer-contact{margin-top:4px;padding:14px 16px;border-radius:16px;background:linear-gradient(135deg,#faf5ff 0%,#f8fafc 100%);border:1px solid #ede9fe}
.profile-viewer-contact .contact-info-list{display:flex;flex-direction:column;gap:6px}
.profile-viewer-contact .contact-info-row{display:flex;align-items:center;gap:8px;font-size:12px;color:#475569}
.profile-viewer-contact .contact-info-row svg{width:14px;height:14px;color:#94a3b8;flex-shrink:0}
.profile-viewer-contact .contact-info-row a{color:#7c3aed;font-weight:600;text-decoration:none;word-break:break-all}
.profile-viewer-contact .contact-info-row a:hover{text-decoration:underline;color:#6d28d9}
.profile-viewer-contact .contact-website-warn{margin:6px 0 0;padding:6px 8px;border-radius:8px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:10px;font-weight:600;line-height:1.4}
.profile-contact-block-rm{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:999px;background:#ede9fe;color:#7c3aed;font-size:14px;line-height:1;cursor:pointer;font-family:inherit;flex-shrink:0;position:relative;z-index:1}
.profile-contact-block-rm:hover{background:#ddd6fe}
.profile-contact-tier{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}
.profile-contact-tier:first-child{margin-top:0;padding-top:0;border-top:none}
.profile-contact-tier-title{margin:0 0 4px;font-size:14px;font-weight:700;color:var(--gray-800)}
.profile-contact-tier-hint{margin:0 0 10px;font-size:12px;color:var(--gray-500);line-height:1.45}
.profile-contact-tier-body{display:flex;flex-direction:column;gap:10px}
.profile-contact-share{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--gray-600);white-space:nowrap;padding-top:8px}

/* Profile image crop modal */
.pic-crop-overlay{position:fixed;inset:0;z-index:10050;background:rgba(15,23,42,.62);display:flex;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(2px)}
.pic-crop-dialog{width:min(520px,100%);background:#fff;border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.22);padding:18px 18px 16px;font-family:inherit}
.pic-crop-header{margin-bottom:12px}
.pic-crop-title{margin:0 0 4px;font-size:17px;font-weight:800;color:var(--gray-900)}
.pic-crop-hint{margin:0;font-size:12px;color:var(--gray-500);line-height:1.5}
.pic-crop-stage{margin-bottom:12px}
.pic-crop-viewport{position:relative;width:100%;overflow:hidden;background:#0f172a;border-radius:10px;touch-action:none;cursor:grab;user-select:none}
.pic-crop-viewport.is-dragging{cursor:grabbing}
.pic-crop-image{display:block;pointer-events:none;max-width:none}
.pic-crop-frame{position:absolute;inset:0;border:2px solid rgba(255,255,255,.85);border-radius:8px;box-shadow:0 0 0 9999px rgba(15,23,42,.45);pointer-events:none}
.pic-crop-zoom-row{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:12px;font-weight:600;color:var(--gray-600)}
.pic-crop-zoom-row input[type=range]{flex:1;accent-color:var(--site-secondary)}
.pic-crop-actions{display:flex;justify-content:flex-end;gap:8px}
.pic-crop-status{margin:10px 0 0;font-size:12px;color:#b91c1c;text-align:center}
.profile-banner[data-crop-target],.profile-avatar-wrap[data-crop-target]{cursor:pointer}
.profile-owner .profile-banner[data-crop-target]:hover::after,.profile-owner .profile-avatar-wrap[data-crop-target]:hover::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.08);pointer-events:none;border-radius:inherit}
.profile-avatar-wrap[data-crop-target]:hover::after{border-radius:50%}
.profile-banner[data-crop-target]{outline:none}
.profile-banner[data-crop-target]:focus-visible,.profile-avatar-wrap[data-crop-target]:focus-visible{box-shadow:0 0 0 3px rgba(10,102,194,.35)}

/* Soft skill view: truncated description */
.skill-item--has-desc{cursor:pointer}
.skill-item--has-desc:hover .soft-skill-desc-preview{color:var(--site-secondary)}
.soft-skill-desc-preview{margin-top:6px;font-size:12px;line-height:1.5;color:var(--gray-600)}
.soft-skill-desc-preview.is-truncated{cursor:pointer;text-decoration:underline dotted var(--gray-400);text-underline-offset:3px}

/* Soft skill editor: compact two-line row */
.skill-editor-row--soft{
  flex-direction:column;align-items:stretch;gap:5px;
  padding:6px 8px;margin-bottom:5px;border-radius:8px;
}
.skill-editor-row--soft .skill-editor-row-head{
  display:flex;align-items:center;gap:6px;flex-wrap:nowrap;min-width:0;
}
.skill-editor-row--soft .skill-editor-name{
  flex:0 0 auto;max-width:88px;min-width:0;
  font-size:12px;font-weight:700;line-height:1.25;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.skill-level-seg--compact{
  flex:1 1 auto;min-width:0;padding:2px;gap:1px;border-radius:7px;
}
.skill-level-seg--compact .skill-level-pill{
  padding:3px 5px;font-size:10px;border-radius:5px;line-height:1.2;
}
.skill-editor-row--soft .soft-skill-desc-input{
  width:100%;box-sizing:border-box;min-height:44px;max-height:96px;
  padding:6px 9px;border:1px solid #e5e7eb;border-radius:7px;
  background:#fff;font:inherit;font-size:12px;line-height:1.5;color:var(--gray-900);
  resize:none;overflow-y:auto;transition:border-color .15s,box-shadow .15s;
}
.skill-editor-row--soft .soft-skill-desc-input::placeholder{color:var(--gray-400);font-size:11px}
.skill-editor-row--soft .soft-skill-desc-input:hover{border-color:#cbd5e1}
.skill-editor-row--soft .soft-skill-desc-input:focus{
  outline:none;border-color:var(--site-secondary);
  box-shadow:0 0 0 2px rgba(10,102,194,.1);
}
.skill-editor-row--soft .skill-rm-btn--compact{
  flex:0 0 auto;width:26px;height:26px;font-size:15px!important;border-radius:7px!important;
}
.soft-skills-editor-actions{margin-top:8px;padding-top:8px;border-top:1px solid var(--border);gap:8px}

/* Soft skills editor panel */
.skills-editor-panel--soft{padding:8px;margin-bottom:10px}
.skills-editor-panel--soft .skills-add-row{gap:6px;margin-bottom:4px}
.skills-editor-panel--soft #profile-soft-skills-list{margin-top:4px}

/* Soft skill suggestions */
.soft-skill-suggestions{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:4px 0 2px;border-top:1px dashed var(--border)}
.soft-skill-suggestions-label{font-size:10px;font-weight:700;color:var(--gray-500);white-space:nowrap}
.soft-skill-suggestion-chip{padding:2px 8px;border-radius:999px;border:1px solid var(--site-secondary);background:var(--site-secondary-tint,#eff6ff);color:var(--site-secondary);font-size:11px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s}
.soft-skill-suggestion-chip:hover{background:var(--site-secondary);color:#fff}

/* Shake animation for desc input */
@keyframes shake-x{0%,100%{transform:translateX(0)}20%{transform:translateX(-5px)}40%{transform:translateX(5px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}
.shake-input{animation:shake-x .35s ease}

/* Soft skill / career description modal */
#soft-skill-desc-modal{
  position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;
  padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));
  box-sizing:border-box;opacity:0;transition:opacity .2s;
}
#soft-skill-desc-modal.ssdm-visible{opacity:1}
.ssdm-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(2px)}
.ssdm-box{
  position:relative;display:flex;flex-direction:column;
  max-height:min(85vh,560px);min-height:0;
  background:#fff;border-radius:16px;padding:20px 20px 16px;
  width:100%;max-width:min(520px,100%);
  box-shadow:0 8px 40px rgba(0,0,0,.18);transform:translateY(20px);transition:transform .2s;
  z-index:1;text-align:right;direction:rtl;overflow:hidden;
}
#soft-skill-desc-modal.ssdm-visible .ssdm-box{transform:translateY(0)}
.ssdm-close{
  position:absolute;top:10px;left:12px;background:none;border:none;font-size:22px;line-height:1;
  cursor:pointer;color:var(--gray-500);padding:2px 6px;border-radius:6px;transition:color .15s;z-index:2;
  min-width:36px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;
}
.ssdm-close:hover{color:var(--gray-900)}
.ssdm-title{
  flex:0 0 auto;font-size:16px;font-weight:800;color:var(--gray-900);
  margin:0 0 10px;padding-inline-end:36px;
  overflow-wrap:anywhere;word-break:break-word;
}
.ssdm-title:has(+ .ssdm-subtitle){margin-bottom:4px}
.ssdm-subtitle{
  flex:0 0 auto;margin:0 0 12px;padding-inline-end:36px;
  font-size:13px;font-weight:500;color:var(--blue-dark,#1d4ed8);line-height:1.45;
  overflow-wrap:anywhere;word-break:break-word;
}
.ssdm-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}
.ssdm-desc{
  font-size:14px;color:var(--gray-700);line-height:1.75;margin:0;
  overflow-wrap:anywhere;word-break:break-word;white-space:pre-wrap;
}
@media(max-width:640px){
  #soft-skill-desc-modal{
    align-items:flex-end;
    padding:0;
    padding-bottom:env(safe-area-inset-bottom,0);
  }
  .ssdm-box{
    max-width:100%;width:100%;
    max-height:min(88vh,640px);
    border-radius:18px 18px 0 0;
    padding:18px 16px calc(16px + env(safe-area-inset-bottom,0));
    transform:translateY(24px);
  }
  #soft-skill-desc-modal.ssdm-visible .ssdm-box{transform:translateY(0)}
  .ssdm-title{font-size:15px}
  .ssdm-desc{font-size:13.5px;line-height:1.8}
}
@media(max-width:380px){
  .ssdm-box{max-height:min(92vh,100%)}
  .ssdm-title{font-size:14px}
  .ssdm-desc{font-size:13px}
}


/* Key projects display styles moved to key-projects.css + Tailwind (#key-projects) */

.profile-social-section{margin-top:16px;padding-top:14px;border-top:1px solid #f1f5f9}
.profile-contact-display>.profile-social-section{margin-top:0;padding-top:0;border-top:none}
.profile-social-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.profile-social-title{font-size:12.5px;font-weight:800;color:#334155;letter-spacing:.01em}
.profile-social-add-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px dashed #c4b5fd;border-radius:10px;background:#faf5ff;color:#7c3aed;font-size:20px;font-weight:700;line-height:1;cursor:pointer;font-family:inherit;transition:all .15s;flex-shrink:0}
.profile-social-add-btn:hover{background:#f5f3ff;border-color:#a78bfa;transform:translateY(-1px)}
.profile-social-fields{
  display:flex;
  flex-direction:column;
  gap:6px;
  --contact-label-w:84px;
  --contact-input-max:minmax(0,1fr);
  --contact-access-w:128px;
  --contact-add-w:26px;
  --contact-gap:6px;
  --contact-side-pad:5px;
}
.profile-contact-label--social{display:inline-flex;align-items:center;gap:6px}
.profile-contact-label--social svg,.profile-contact-label--social img{width:16px;height:16px;flex-shrink:0;color:#64748b;object-fit:contain}
.profile-contact-row--social{grid-template-columns:var(--contact-label-w) 1fr var(--contact-access-w) var(--contact-add-w)}
.profile-contact-rm-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:6px;background:#fef2f2;color:#dc2626;font-size:14px;font-weight:700;line-height:1;cursor:pointer;font-family:inherit;justify-self:center}
.profile-contact-rm-btn:hover{background:#fee2e2}
.profile-social-bar-wrap{display:flex;justify-content:center;margin-top:10px;padding-top:8px}
.profile-viewer-social-wrap{display:flex;justify-content:center;margin-top:10px;padding-top:8px;border-top:1px solid #f1f5f9}
.social-links-bar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px}
.social-links-bar__item{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;color:#475569;cursor:pointer;padding:0;transition:border-color .15s,transform .14s,box-shadow .15s;font-family:inherit}
.social-links-bar__item:hover{border-color:#c4b5fd;box-shadow:0 6px 16px rgba(124,58,237,.14);transform:translateY(-2px)}
.social-links-bar__item svg,.social-links-bar__item img{width:20px;height:20px;object-fit:contain}
.social-links-bar__item--static{cursor:default;width:auto;min-width:40px;padding:0 10px;gap:6px}
.social-links-bar__handle{font-size:11px;font-weight:600;color:#475569}
.profile-social-modal{position:fixed;inset:0;z-index:400;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(15,23,42,.45);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}
.profile-social-modal--visible{opacity:1;visibility:visible}
.profile-social-modal-card{position:relative;width:min(420px,calc(100vw - 32px));max-height:min(80vh,520px);overflow:auto;padding:20px;border-radius:16px;background:#fff;border:1px solid #e8edf4;box-shadow:0 20px 50px rgba(15,23,42,.2)}
.profile-social-edit-card{
  width:min(520px,calc(100vw - 32px));
  max-height:min(85vh,640px);
  padding:22px 24px 20px;
  --contact-label-w:92px;
  --contact-access-w:140px;
  --contact-add-w:30px;
  --contact-gap:8px;
  --contact-side-pad:10px;
}
.profile-social-section--modal{margin:0;padding:0;border:none}
.profile-social-fields--modal{gap:8px}
.profile-social-edit-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.profile-social-edit-card .profile-social-modal-close--edit-head{position:static;top:auto;inset-inline-end:auto;inset-inline-start:auto;flex-shrink:0}
.profile-social-edit-card .profile-social-modal-title{margin:0;text-align:start;font-size:16px;line-height:1.35}
.profile-social-add-btn--head{width:34px;height:34px;font-size:18px;border-radius:9px}
.profile-social-edit-card .profile-social-section{margin-top:0;padding-top:0;border-top:none}
.profile-social-edit-card .profile-contact-row{padding-block:8px;min-height:36px;border-radius:10px;align-items:center}
.profile-social-edit-card .profile-contact-label{font-size:11px}
.profile-social-edit-card .profile-contact-input,.profile-social-edit-card .profile-contact-access{font-size:12px;padding:6px 8px}
.profile-social-edit-card .profile-contact-rm-btn{width:26px;height:26px;font-size:15px;border-radius:7px}
.profile-social-edit-actions{margin-top:18px;padding-top:16px;border-top:1px solid #f1f5f9;display:flex;gap:10px}
.profile-social-edit-actions .btn-primary,.profile-social-edit-actions .btn-more{flex:1;justify-content:center;text-align:center}
.profile-social-empty--modal{margin:4px 0 0;padding:18px 14px;text-align:center;border-radius:10px;background:#f8fafc;border:1px dashed #e2e8f0}
@media(max-width:520px){
  .profile-social-edit-card{padding:18px 16px 16px;--contact-label-w:76px;--contact-access-w:118px;--contact-add-w:26px;--contact-gap:6px}
  .profile-social-edit-head{margin-bottom:12px}
  .profile-social-edit-card .profile-contact-label{font-size:10px}
  .profile-social-edit-card .profile-contact-input,.profile-social-edit-card .profile-contact-access{font-size:11px;padding:5px 6px}
}
.profile-social-picker-modal{z-index:410}
.profile-social-modal-close{position:absolute;top:14px;inset-inline-end:14px;inset-inline-start:auto;width:30px;height:30px;border:none;border-radius:8px;background:#f8fafc;color:#64748b;font-size:18px;line-height:1;cursor:pointer}
.profile-social-modal-close:hover{background:#f1f5f9}
.profile-social-modal-title{margin:0 0 14px;font-size:15px;font-weight:800;color:#1e293b;text-align:center}
.profile-social-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.profile-social-picker-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:92px;padding:12px 8px;border:1px solid #e8edf4;border-radius:12px;background:#fff;cursor:pointer;font-family:inherit;transition:border-color .15s,background .15s,transform .12s}
.profile-social-picker-item:hover{border-color:#c4b5fd;background:#faf5ff;transform:translateY(-1px)}
.profile-social-picker-icon svg,.profile-social-picker-icon img{width:28px;height:28px;object-fit:contain}
.profile-social-picker-label{font-size:11px;font-weight:700;color:#475569}
.profile-social-picker-empty{margin:0;text-align:center;font-size:12px;color:#94a3b8}
.profile-social-empty{margin:0 0 8px;font-size:12px;color:#94a3b8;line-height:1.8}
.profile-social-empty-btn{display:inline-flex;align-items:center;margin-inline-start:6px;padding:3px 10px;border:none;border-radius:7px;background:#f5f3ff;color:#7c3aed;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .15s}
.profile-social-empty-btn:hover{background:#ede9fe}
.profile-social-picker-form{display:flex;flex-direction:column;gap:14px}
.profile-social-picker-selected{display:flex;align-items:center;justify-content:center;gap:10px;font-size:14px;font-weight:800;color:#1e293b;padding:10px 12px;border-radius:12px;background:linear-gradient(135deg,#faf5ff,#f8fafc);border:1px solid #ede9fe}
.profile-social-picker-icon--lg svg,.profile-social-picker-icon--lg img{width:32px;height:32px;object-fit:contain}
.profile-social-picker-input-wrap{display:flex;flex-direction:column;gap:8px}
.profile-social-picker-input-label{font-size:12px;font-weight:700;color:#475569}
.profile-social-picker-input-group{
  display:flex;
  align-items:stretch;
  border:2px solid #e8edf4;
  border-radius:12px;
  background:#fff;
  overflow:hidden;
  transition:border-color .15s,box-shadow .15s;
}
.profile-social-picker-input-group:focus-within{border-color:#a78bfa;box-shadow:0 0 0 3px rgba(124,58,237,.12)}
.profile-social-picker-input-prefix{
  display:flex;
  align-items:center;
  justify-content:center;
  padding-inline:12px;
  font-size:15px;
  font-weight:800;
  color:#94a3b8;
  background:#f8fafc;
  border-inline-end:1px solid #e8edf4;
  flex-shrink:0;
}
.profile-social-picker-input{
  flex:1;
  min-width:0;
  padding:11px 12px;
  border:none;
  background:transparent;
  font:inherit;
  font-size:14px;
  font-weight:600;
  color:#1e293b;
  line-height:1.3;
}
.profile-social-picker-input:focus{outline:none}
.profile-social-picker-input::placeholder{color:#cbd5e1;font-weight:500}
.profile-social-picker-access{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:12px;background:#f8fafc;border:1px solid #e8edf4}
.profile-social-picker-access-label{font-size:11px;font-weight:800;color:#64748b}
.profile-social-picker-access .profile-contact-access{width:100%;font-size:11px;padding:6px 8px;padding-inline-end:24px;background:#fff;border-radius:8px}
.profile-social-picker-actions{display:flex;gap:8px;justify-content:center;padding-top:2px}
.profile-social-picker-confirm{min-width:120px}
.profile-social-view-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:8px;margin-top:6px}
.profile-social-view-card{
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border:1px solid #e8edf4;
  border-inline-start:3px solid transparent;
  border-radius:14px;
  background:#fff;
  cursor:pointer;
  font-family:inherit;
  text-align:start;
  transition:border-color .15s,box-shadow .15s,transform .15s,background .15s;
  position:relative;
}
.profile-social-view-card:hover{border-color:#c4b5fd;box-shadow:0 8px 26px rgba(124,58,237,.13);transform:translateY(-2px);background:#fdfbff}
.profile-social-view-card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:#f8fafc;border:1px solid #f1f5f9;flex-shrink:0;transition:background .15s}
.profile-social-view-card-icon svg,.profile-social-view-card-icon img{width:22px;height:22px;object-fit:contain}
.profile-social-view-card-body{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1;text-align:start}
.profile-social-view-card-platform{font-size:9.5px;font-weight:800;color:#94a3b8;letter-spacing:.07em;text-transform:uppercase}
.profile-social-view-card-handle{font-size:13px;font-weight:700;color:#1e293b;word-break:break-all;line-height:1.3}
.profile-social-view-card .profile-contact-badge{flex-shrink:0;margin-inline-start:auto;align-self:center}
.profile-social-view-card--x{border-inline-start-color:#0f172a}
.profile-social-view-card--telegram{border-inline-start-color:#0088cc}
.profile-social-view-card--instagram{border-inline-start-color:#e1306c}
.profile-social-view-card--eitaa{border-inline-start-color:#f97316}
.profile-social-view-card--rubika{border-inline-start-color:#ef4444}
.profile-social-view-card--bale{border-inline-start-color:#22c55e}
.profile-social-view-card--x:hover .profile-social-view-card-icon{background:#f1f5f9}
.profile-social-view-card--telegram:hover .profile-social-view-card-icon{background:#eff6ff}
.profile-social-view-card--instagram:hover .profile-social-view-card-icon{background:#fdf2f8}
.profile-social-view-card--eitaa:hover .profile-social-view-card-icon{background:#fff7ed}
.profile-social-view-card--rubika:hover .profile-social-view-card-icon{background:#fef2f2}
.profile-social-view-card--bale:hover .profile-social-view-card-icon{background:#ecfdf5}

/* ── Hero actions & stats (Pay Sib resume layout) ── */
.profile-hero-body{display:flex;align-items:flex-end;justify-content:space-between;padding:0 24px 16px;gap:20px;position:relative}
.profile-hero-identity{display:flex;align-items:flex-end;gap:20px;flex:1;min-width:0}
.profile-hero-meta{flex:1;min-width:0;padding-top:12px;padding-bottom:2px}
.profile-hero-extra{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:10px}
.profile-hero-extra .profile-readiness{max-width:min(200px,100%);margin-top:0}
.profile-hero-extra .profile-readiness-trigger,
.profile-hero-extra .profile-readiness-badge{min-height:32px;padding:5px 10px;font-size:11px;border-radius:8px}
.profile-hero-extra .profile-connections-trigger{padding:4px 10px;font-size:11px}
.profile-hero-extra .profile-connections-stats{margin-top:0}
.profile-hero-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex-shrink:0;align-self:flex-start;margin-top:16px}
.profile-hero-actions a.btn-primary,
.profile-hero-actions a.btn-primary:hover,
.profile-hero-actions a.btn-primary:focus{
  text-decoration:none;
  color:#fff;
}
.profile-hero-actions .btn-primary svg,.profile-hero-actions .btn-outline svg,.profile-hero-actions .btn-resume-link svg{width:15px;height:15px;flex-shrink:0}
.profile-hero-actions .btn-resume-link{
  padding:9px 18px;
  border:none;
  border-radius:10px;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  font-family:inherit;
  white-space:nowrap;
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#fff;
  background:linear-gradient(135deg,var(--green) 0%,#0d9488 100%);
  box-shadow:0 2px 10px rgba(16,185,129,.28);
  transition:transform .15s,box-shadow .2s,background .2s;
}
.profile-hero-actions .btn-resume-link:hover{
  color:#fff;
  background:linear-gradient(135deg,var(--green-dark) 0%,#0f766e 100%);
  box-shadow:0 4px 14px rgba(16,185,129,.36);
  transform:translateY(-1px);
}
.profile-hero-actions .btn-resume-link:active{
  transform:translateY(0);
  box-shadow:0 2px 8px rgba(16,185,129,.22);
}
.profile-hero-visitor-actions{margin-top:12px}
.profile-avatar-wrap{margin-top:-60px;margin-right:0;margin-left:0}
.profile-hero-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--gray-100);padding:18px 24px;gap:0;background:#fff}
.profile-hero-stats--3{grid-template-columns:repeat(3,1fr)}
.profile-hero-stat{text-align:center;padding:0 16px;border-inline-start:1px solid var(--gray-100)}
.profile-hero-stat:first-child{border-inline-start:none}
.profile-hero-stat-value{font-size:22px;font-weight:700;color:var(--gray-700);line-height:1.2}
.profile-hero-stat-label{font-size:12px;color:var(--gray-500);margin-top:6px;font-weight:500}
@media(max-width:640px){
  .profile-hero-body{flex-direction:column;align-items:stretch}
  .profile-hero-identity{flex-direction:column;align-items:flex-start}
  .profile-hero-actions{width:100%;justify-content:flex-start;align-self:stretch;margin-top:8px}
  .profile-avatar-wrap{margin-top:-48px}
  .profile-hero-stats{grid-template-columns:repeat(2,1fr);gap:12px;padding:16px}
  .profile-hero-stat{border-inline-start:none;padding:8px}
}

/* ── Sidebar widgets ── */
.sb-widget .card-body{padding:20px}
.sb-widget-title{font-size:15px;font-weight:700;color:var(--gray-700);margin:0 0 14px}
.sb-strength{text-align:center}
.sb-strength-title{font-size:15px;font-weight:700;color:var(--gray-700);margin:0 0 14px;text-align:right}
.sb-strength-ring{position:relative;width:88px;height:88px;margin:0 auto 12px}
.sb-strength-ring svg{width:88px;height:88px}
.sb-strength-pct{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:var(--green-dark)}
.sb-strength-msg{font-size:13px;color:var(--gray-500);margin-bottom:10px;line-height:1.5}
.sb-strength-btn{display:inline-block;width:auto;padding:0;border:none;border-radius:0;background:transparent;color:var(--brand);font:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:color .15s;text-decoration:underline;text-underline-offset:3px}
.sb-strength-btn:hover{color:var(--brand-hover);background:transparent}
.sb-social-card-body{position:relative}
.sb-social-add-btn{
  position:absolute;top:14px;left:14px;z-index:2;
  display:inline-flex;align-items:center;justify-content:center;
  width:32px;height:32px;padding:0;border:1px dashed #c4b5fd;border-radius:10px;
  background:#faf5ff;color:#7c3aed;font-size:20px;font-weight:700;line-height:1;
  cursor:pointer;font-family:inherit;transition:all .15s;
}
.sb-social-add-btn:hover{background:#f5f3ff;border-color:#a78bfa;transform:translateY(-1px)}
.sb-social-card-body .sb-widget-title{padding-inline-start:40px}
.sb-top-skill-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:#f8fafc;border:1px solid #f1f5f9;margin-bottom:8px}
.sb-top-skill-row:last-child{margin-bottom:0}
.sb-top-skill-rank{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:28px;height:28px;padding:0 6px;border-radius:8px;
  font-size:12px;font-weight:800;line-height:1;flex-shrink:0;
}
.sb-top-skill-name{font-size:13px;font-weight:700;color:var(--gray-700)}
.sb-top-skill--diamond .sb-top-skill-rank{background:linear-gradient(135deg,#e0f2fe,#bae6fd);color:#0369a1;border:1px solid #7dd3fc}
.sb-top-skill--gold .sb-top-skill-rank{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#b45309;border:1px solid #fcd34d}
.sb-top-skill--silver .sb-top-skill-rank{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#475569;border:1px solid #cbd5e1}
.sb-top-skill--bronze .sb-top-skill-rank{background:linear-gradient(135deg,#ffedd5,#fed7aa);color:#c2410c;border:1px solid #fdba74}
.sb-top-skill--copper .sb-top-skill-rank{background:#f8fafc;color:#64748b;border:1px solid #e2e8f0}
.soft-skill-desc-btn{
  margin-top:8px;padding:4px 10px;border:1px solid #e2e8f0;border-radius:8px;
  background:#fff;color:var(--brand);font:inherit;font-size:11px;font-weight:700;cursor:pointer;
  transition:background .15s,border-color .15s;
}
.soft-skill-desc-btn:hover{background:var(--brand-tint);border-color:var(--brand)}
.profile-section-modal{
  position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;
  padding:16px;opacity:0;transition:opacity .2s;
}
.profile-section-modal--visible{opacity:1}
.profile-section-modal__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.45);backdrop-filter:blur(2px)}
.profile-section-modal__box{
  position:relative;display:flex;flex-direction:column;max-height:min(85vh,720px);width:min(520px,calc(100vw - 32px));
  background:#fff;border-radius:16px;border:1px solid #e8edf4;box-shadow:0 20px 50px rgba(15,23,42,.2);
  transform:translateY(12px);transition:transform .2s;z-index:1;text-align:right;direction:rtl;overflow:hidden;
}
.profile-section-modal--visible .profile-section-modal__box{transform:translateY(0)}
.profile-section-modal__box--wide{width:min(680px,calc(100vw - 32px))}
.profile-section-modal__close{
  position:absolute;top:10px;left:10px;width:30px;height:30px;border:none;border-radius:8px;
  background:#f8fafc;color:#64748b;font-size:20px;line-height:1;cursor:pointer;z-index:2;
}
.profile-section-modal__close:hover{background:#f1f5f9;color:#0f172a}
.profile-section-modal__title{
  flex:0 0 auto;margin:0;padding:18px 44px 12px 18px;font-size:16px;font-weight:800;color:#0f172a;
  border-bottom:1px solid #f1f5f9;
}
.profile-section-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:16px 18px 18px;-webkit-overflow-scrolling:touch}
.profile-modal-textarea{
  width:100%;padding:12px;border:1px solid var(--border);border-radius:8px;font:inherit;line-height:1.6;
  resize:vertical;min-height:140px;box-sizing:border-box;
}
.profile-checklist{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}
.profile-checklist__item{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600}
.profile-checklist__item--done{color:#059669}
.profile-checklist__item--pending{color:#64748b}
.profile-checklist__icon{
  width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  flex-shrink:0;font-size:10px;font-weight:800;
}
.profile-checklist__item--done .profile-checklist__icon{background:#ecfdf5;color:#059669;border:1.5px solid #6ee7b7}
.profile-checklist__item--pending .profile-checklist__icon{background:#fff;border:1.5px dashed #cbd5e1}
.profile-completion-modal__progress{margin:0 0 10px;font-size:13px;font-weight:700;color:#334155;text-align:center}
.profile-completion-modal__ring-wrap{display:flex;justify-content:center;margin-bottom:8px}
@media(max-width:520px){.profile-checklist{grid-template-columns:1fr}}
.sb-contact-list{display:flex;flex-direction:column;gap:12px}
.sb-contact-row{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--gray-600)}
.sb-contact-row svg{width:16px;height:16px;color:var(--gray-400);flex-shrink:0}
.sb-contact-row a{color:var(--gray-700);text-decoration:none;font-weight:500;word-break:break-all}
.sb-contact-row a:hover{color:var(--brand)}
.sb-widget-edit{display:block;width:100%;margin-top:14px;padding:9px;border:1.5px solid var(--gray-200);border-radius:10px;background:#fff;color:var(--gray-600);font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}
.sb-widget-edit:hover{border-color:var(--brand);color:var(--brand)}
.sb-social-icons{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.sb-social-icons .social-links-bar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.sb-social-icons .social-links-bar__item{width:40px;height:40px;border-radius:50%;border:none;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s,box-shadow .15s;overflow:hidden}
.sb-social-icons .social-links-bar__item:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.12)}
.sb-social-icons .social-links-bar__item img,.sb-social-icons .social-links-bar__item svg{width:22px;height:22px}
.sb-social-icons .social-links-bar__item[data-social-open="telegram"]{background:#0088cc;color:#fff}
.sb-social-icons .social-links-bar__item[data-social-open="x"]{background:#0f172a;color:#fff}
.sb-social-icons .social-links-bar__item[data-social-open="instagram"]{background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af);color:#fff}
.sb-social-icons .social-links-bar__item[data-social-open="eitaa"]{background:#f97316;color:#fff}
.sb-social-icons .social-links-bar__item[data-social-open="rubika"]{background:#ef4444;color:#fff}
.sb-social-icons .social-links-bar__item[data-social-open="bale"]{background:#22c55e;color:#fff}
.sb-skill-row{margin-bottom:12px}
.sb-skill-row:last-child{margin-bottom:0}
.sb-skill-head{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;color:var(--gray-700);margin-bottom:6px}
.sb-skill-head span:last-child{color:var(--green-dark);font-size:12px}
.sb-skill-bar{height:6px;background:var(--gray-100);border-radius:999px;overflow:hidden}
.sb-skill-bar>div{height:100%;background:linear-gradient(90deg,var(--green),#34d399);border-radius:999px;transition:width .5s ease}
.sb-view-all{display:inline-flex;align-items:center;gap:4px;margin-top:12px;font-size:12px;font-weight:600;color:var(--brand);background:none;border:none;cursor:pointer;font-family:inherit;padding:0}
.sb-view-all:hover{text-decoration:underline}
.sb-empty{font-size:13px;color:var(--gray-400);margin:0}
.profile-sidebar .profile-contact-panel{margin-top:0}
.profile-sidebar .overview-items{max-height:200px}

/* ── Vertical timeline (react-vertical-timeline-component) ── */
.profile-vtimeline-root{margin-top:4px}
.profile-vtimeline.vertical-timeline{width:100%;max-width:none;margin:0;padding:0}
.profile-vtimeline.vertical-timeline::before{background:#c4b5fd;width:3px;left:18px;right:auto;margin-left:0;margin-right:0}
.profile-vtimeline .vertical-timeline-element{margin:0 0 20px;padding-left:0;padding-right:0}
.profile-vtimeline .vertical-timeline-element:last-child{margin-bottom:0}
.profile-vtimeline .vertical-timeline-element-content{margin-left:52px;margin-right:0;border-radius:14px!important;padding:16px 18px!important;position:relative}
.profile-vtimeline .vertical-timeline-element-content-arrow{border-right:7px solid #fff!important;border-left:none!important;left:-7px;right:auto}
.profile-vtimeline .vertical-timeline-element-icon{left:0;right:auto;box-shadow:0 0 0 4px #ede9fe;width:36px;height:36px;margin-left:0}
.profile-vtimeline .vertical-timeline-element-date{right:auto;left:52px;top:-6px;width:auto;padding:0 0 8px;opacity:1!important;font-weight:600}
.profile-vt-date{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.profile-vt-date-jalali{font-size:12px;color:#475569;font-weight:700;white-space:nowrap}
.profile-vt-date-duration{font-size:11px;color:#94a3b8;font-weight:600;white-space:nowrap}
.profile-vt-title{margin:0 0 4px;font-size:15px;font-weight:700;color:var(--gray-700);line-height:1.35}
.profile-vt-subtitle{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--gray-600);line-height:1.45}
.profile-vt-desc{margin:0;font-size:13px;color:var(--gray-600);line-height:1.65}
.profile-vt-owner{position:absolute;top:12px;left:12px}
.profile-vtimeline .vertical-timeline-element-content{padding-top:34px!important}
[dir="rtl"] .profile-vtimeline.vertical-timeline::before{left:auto;right:18px}
[dir="rtl"] .profile-vtimeline .vertical-timeline-element-content{margin-left:0;margin-right:52px}
[dir="rtl"] .profile-vtimeline .vertical-timeline-element-content-arrow{left:auto;right:-7px;border-right:none!important;border-left:7px solid #fff!important}
[dir="rtl"] .profile-vtimeline .vertical-timeline-element-icon{left:auto;right:0}
[dir="rtl"] .profile-vtimeline .vertical-timeline-element-date{left:auto;right:52px}
[dir="rtl"] .profile-vt-owner{left:auto;right:12px}
@media(max-width:640px){
  .profile-vtimeline .vertical-timeline-element-content{margin-right:44px;margin-left:0}
  .profile-vtimeline .vertical-timeline-element-date{right:44px}
  .profile-vtimeline.vertical-timeline::before{right:14px}
  .profile-vtimeline .vertical-timeline-element-icon{width:30px;height:30px}
  [dir="rtl"] .profile-vtimeline .vertical-timeline-element-content{margin-right:44px}
}

/* ── Experience / education accordion (legacy) ── */
.exp-accordion{display:flex;flex-direction:column;border:1px solid var(--gray-100);border-radius:14px;overflow:hidden;background:#fff}
.exp-accordion-item{border-bottom:1px solid var(--gray-100);background:#fff}
.exp-accordion-item:last-child{border-bottom:none}
.exp-accordion-item[open]{background:#fafbff}
.exp-accordion-summary{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;cursor:pointer;list-style:none;position:relative}
.exp-accordion-summary::-webkit-details-marker{display:none}
.exp-accordion-summary::marker{content:""}
.exp-accordion-logo{flex-shrink:0;width:44px;height:44px;border-radius:10px;border:1px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;color:var(--gray-500);box-shadow:var(--shadow-sm)}
.exp-accordion-item--edu .exp-accordion-logo{display:none}
.exp-accordion-head{flex:1;min-width:0}
.exp-accordion-title{font-size:15px;font-weight:700;color:var(--gray-700);margin-bottom:2px}
.exp-accordion-subtitle{font-size:13px;font-weight:600;color:var(--gray-600);margin-bottom:4px}
.exp-accordion-tenure{font-size:12px;color:var(--gray-400)}
.exp-accordion-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0;min-width:0}
.exp-accordion-dates{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:left}
.exp-accordion-jalali{font-size:12px;color:var(--gray-600);font-weight:600;white-space:nowrap}
.exp-accordion-persian{font-size:11px;color:var(--gray-400);font-weight:500;white-space:nowrap}
.exp-accordion-chevron{flex-shrink:0;color:var(--gray-400);margin-top:4px;transition:transform .2s ease}
.exp-accordion-item[open] .exp-accordion-chevron{transform:rotate(180deg)}
.exp-accordion-menu-btn{width:28px;height:28px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:var(--gray-400);display:inline-flex;align-items:center;justify-content:center;padding:0;transition:background .15s,color .15s}
.exp-accordion-menu-btn:hover{background:var(--gray-100);color:var(--gray-700)}
.exp-accordion-body{padding:0 18px 16px 76px;border-top:1px dashed var(--gray-100)}
.exp-accordion-item--edu .exp-accordion-body{padding-inline-start:18px}
.exp-accordion-body .exp-desc{margin:12px 0 0;font-size:13px;color:var(--gray-600);line-height:1.65}
@media(max-width:640px){
  .exp-accordion-summary{flex-wrap:wrap;padding:14px}
  .exp-accordion-side{width:100%;flex-direction:row;justify-content:space-between;align-items:center;margin-top:4px}
  .exp-accordion-dates{align-items:flex-start}
  .exp-accordion-body{padding:0 14px 14px}
  .exp-accordion-item--edu .exp-accordion-body{padding-inline:14px}
}

/* ── Timeline (legacy, kept for compatibility) ── */
.timeline{position:relative;padding-inline-end:0}
.timeline::before{display:none}
.timeline-item{display:grid;grid-template-columns:1fr auto;gap:12px 16px;padding:16px 0;border-top:1px solid var(--gray-100);position:relative;align-items:start}
.timeline-item:first-child{border-top:none;padding-top:0}
.timeline-item:last-child{padding-bottom:0}
.timeline-content{grid-column:1;min-width:0}
.timeline-date{grid-column:2;font-size:12px;color:var(--gray-500);font-weight:500;text-align:left;white-space:nowrap;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.timeline-node{display:none}
.timeline-title{font-size:15px;font-weight:700;color:var(--gray-700);margin-bottom:2px}
.timeline-subtitle{font-size:13px;font-weight:600;margin-bottom:4px}
.timeline-subtitle a{color:var(--blue);text-decoration:none}
.timeline-subtitle a:hover{text-decoration:underline}
.timeline-tenure{font-size:12px;color:var(--gray-400);margin-bottom:6px}
.timeline-menu-btn{width:28px;height:28px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:var(--gray-400);display:inline-flex;align-items:center;justify-content:center;padding:0;transition:background .15s,color .15s}
.timeline-menu-btn:hover{background:var(--gray-100);color:var(--gray-700)}
.timeline-actions{display:flex;flex-direction:column;gap:4px;margin-top:4px}
.timeline-actions[hidden]{display:none}
.timeline-action-btn{padding:5px 10px;border:1px solid var(--gray-200);border-radius:6px;background:#fff;font:inherit;font-size:11px;font-weight:600;cursor:pointer;color:var(--gray-600);text-align:right}
.timeline-action-btn:hover{border-color:var(--brand);color:var(--brand)}
.timeline-action-btn--danger:hover{border-color:#fecaca;color:#dc2626}
.timeline-logo{width:44px;height:44px;border-radius:10px;border:1px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;color:var(--gray-500);flex-shrink:0;box-shadow:var(--shadow-sm)}
@media(max-width:520px){
  .timeline-item{grid-template-columns:1fr}
  .timeline-date{flex-direction:row;justify-content:space-between;align-items:center;width:100%;order:-1;margin-bottom:8px}
  .timeline-node{inset-inline-end:0}
}

/* ── Skills grid (mockup mini-cards) ── */
.skills-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}
.skill-item{padding:14px 12px;border:1px solid var(--gray-100);border-radius:12px;background:#fff;box-shadow:var(--shadow-sm);text-align:center}
.skill-item:hover{border-color:var(--brand-light);box-shadow:0 4px 12px rgba(124,77,255,.1)}
.skill-name{font-size:13px;font-weight:600;color:var(--gray-700);margin-bottom:10px}
.skill-meta-row{justify-content:center}
.skill-dots-row{justify-content:center}

/* hide owner edit controls for visitors */
body:not(.profile-owner) .profile-hero-actions--owner,
body:not(.profile-owner) .sb-widget-edit,
body:not(.profile-owner) .exp-accordion-menu-btn,
body:not(.profile-owner) .timeline-menu-btn,
body:not(.profile-owner) .career-timeline__owner,
body:not(.profile-owner) .icon-btn,
body:not(.profile-owner) .profile-edit-btn,
body:not(.profile-owner) .kp-head-add-btn,
body:not(.profile-owner) .kp-card-actions{display:none!important}

/* ══════════════════════════════════════════════════════════════
   Mobile & Tablet Profile Dashboard (≤1023px)
   ══════════════════════════════════════════════════════════════ */
.profile-mobile-header,
.profile-bottom-nav,
.profile-mobile-drawer{display:none}

#profile-root.profile-root{min-width:0}

@media (max-width:1023px){
  body.layout-profile{
    background:#f8fafc;
    padding-bottom:calc(72px + env(safe-area-inset-bottom,0px));
  }
  body.layout-profile > .header{display:none!important}
  body.layout-profile .site-footer{display:none!important}
  body.layout-profile .site-content{padding:0;margin:0}
  body.layout-profile.profile-mobile-menu-open{overflow:hidden}

  .profile-mobile-header{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    position:sticky;top:0;z-index:900;height:64px;padding:0 16px;
    background:rgba(255,255,255,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
    border-bottom:1px solid #e5e7eb;box-shadow:0 1px 8px rgba(15,23,42,.04);
  }
  .profile-mobile-header__logo,
  .profile-mobile-header__notif{
    display:inline-flex;align-items:center;justify-content:center;
    min-width:48px;height:48px;border:none;border-radius:12px;background:transparent;
    color:#374151;cursor:pointer;padding:0;text-decoration:none;position:relative;
    transition:background .15s,color .15s;
  }
  .profile-mobile-header__logo:hover,
  .profile-mobile-header__notif:hover{background:#f3f4f6;color:#111827}
  .profile-mobile-header__logo .site-logo{display:block;margin:0 auto}
  .profile-mobile-header__title{
    flex:1;min-width:0;margin:0;font-size:16px;font-weight:700;color:#111827;
    text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  .profile-mobile-header__badge{
    position:absolute;top:8px;left:8px;min-width:16px;height:16px;padding:0 4px;
    border-radius:999px;background:#ef4444;color:#fff;font-size:10px;font-weight:800;
    display:inline-flex;align-items:center;justify-content:center;line-height:1;
  }

  .profile-bottom-nav{
    display:flex;align-items:stretch;justify-content:space-around;gap:4px;
    position:fixed;inset-inline:0;bottom:0;z-index:900;height:72px;
    padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));
    background:rgba(255,255,255,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
    border-top:1px solid #e5e7eb;box-shadow:0 -4px 24px rgba(15,23,42,.06);
  }
  .profile-bottom-nav__item{
    flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:4px;border:none;background:transparent;color:#6b7280;font:inherit;font-size:10px;font-weight:600;
    text-decoration:none;cursor:pointer;border-radius:12px;padding:4px 2px;transition:color .15s,background .15s;
  }
  .profile-bottom-nav__item svg{width:22px;height:22px;flex-shrink:0}
  .profile-bottom-nav__item:hover{color:#7c4dff;background:#f5f3ff}
  .profile-bottom-nav__item--active{color:#7c4dff}

  .profile-mobile-drawer{
    position:fixed;inset:0;z-index:950;pointer-events:none;opacity:0;transition:opacity .2s;
  }
  .profile-mobile-drawer--open{pointer-events:auto;opacity:1}
  .profile-mobile-drawer__backdrop{
    position:absolute;inset:0;background:rgba(15,23,42,.45);backdrop-filter:blur(2px);
  }
  .profile-mobile-drawer__panel{
    position:absolute;top:0;bottom:0;right:0;width:min(300px,88vw);background:#fff;
    box-shadow:-8px 0 32px rgba(15,23,42,.12);padding:16px 14px 24px;
    transform:translateX(100%);transition:transform .22s ease;display:flex;flex-direction:column;gap:4px;
  }
  .profile-mobile-drawer--open .profile-mobile-drawer__panel{transform:translateX(0)}
  .profile-mobile-drawer__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
  .profile-mobile-drawer__title{font-size:15px;font-weight:800;color:#111827}
  .profile-mobile-drawer__close{
    width:36px;height:36px;border:none;border-radius:10px;background:#f3f4f6;color:#6b7280;
    font-size:22px;line-height:1;cursor:pointer;
  }
  .profile-mobile-drawer__link{
    display:flex;align-items:center;padding:12px 10px;border-radius:12px;
    color:#374151;text-decoration:none;font-size:14px;font-weight:600;transition:background .15s,color .15s;
  }
  .profile-mobile-drawer__link:hover{background:#f5f3ff;color:#7c4dff}

  .page{
    display:grid;grid-template-columns:1fr;gap:12px;padding:12px;max-width:100%;
    grid-template-areas:
      "cover"
      "completion"
      "hero"
      "stats"
      "contact"
      "social"
      "main";
    align-items:start;
  }
  .profile-main,
  .profile-sidebar,
  .profile-hero-card{display:contents}
  .profile-main-sections{grid-area:main;display:flex;flex-direction:column;gap:12px;min-width:0}

  .profile-grid-cover{grid-area:cover}
  .profile-grid-cover.profile-banner{
    height:120px;border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.06);
  }
  .profile-grid-cover.profile-banner img{border-radius:16px}

  .profile-grid-completion{grid-area:completion}
  .profile-grid-completion .card-body.sb-strength{
    display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px 16px;
    text-align:right;padding:16px 18px;
  }
  .profile-grid-completion .sb-strength-ring{
    width:72px;height:72px;margin:0;flex-shrink:0;grid-row:1;
  }
  .profile-grid-completion .sb-strength-ring svg{width:72px;height:72px}
  .profile-grid-completion .sb-strength-pct{font-size:16px}
  .profile-grid-completion .sb-strength-msg{
    flex:1;min-width:0;margin:0;text-align:right;font-size:13px;line-height:1.5;align-self:center;
  }
  .profile-grid-completion .sb-widget-edit{
    grid-column:1 / -1;width:100%;margin-top:14px;
  }

  .profile-grid-hero-panel{grid-area:hero}
  .profile-grid-hero-panel{
    background:#fff;border-radius:20px;box-shadow:0 8px 24px rgba(0,0,0,.06);overflow:visible;
  }
  .profile-grid-hero-panel .profile-hero-body{
    flex-direction:column;align-items:stretch;padding:0 16px 16px;gap:12px;
  }
  .profile-grid-hero-panel .profile-hero-identity{
    flex-direction:row;align-items:flex-start;gap:14px;
  }
  .profile-grid-hero-panel .profile-hero-identity:has(.profile-inline-form){
    flex-direction:column;align-items:stretch;gap:12px;
  }
  .profile-grid-hero-panel .profile-hero-identity:has(.profile-inline-form) .profile-avatar-wrap{
    align-self:center;
  }
  .profile-grid-hero-panel .profile-hero-identity:has(.profile-inline-form) .profile-hero-meta{
    padding-top:0;width:100%;
  }
  .profile-grid-hero-panel .profile-inline-form{
    margin-top:0;grid-template-columns:1fr;
  }
  .profile-grid-hero-panel .profile-avatar-wrap{
    width:96px;height:96px;margin-top:0;flex-shrink:0;
  }
  .profile-grid-hero-panel .profile-avatar{
    width:96px;height:96px;font-size:32px;border-width:4px;
  }
  .profile-grid-hero-panel .profile-name{font-size:20px}
  .profile-grid-hero-panel .profile-headline{font-size:14px}
  .profile-grid-hero-panel .profile-meta-line{font-size:13px}
  .profile-grid-hero-panel .profile-hero-extra{margin-top:8px}
  .profile-grid-hero-panel .profile-hero-actions{
    width:100%;margin-top:4px;align-self:stretch;
  }
  .profile-grid-hero-panel .profile-hero-actions > a,
  .profile-grid-hero-panel .profile-hero-actions > button{
    min-height:44px;justify-content:center;
  }
  .profile-grid-hero-panel .profile-hero-visitor-actions .profile-follow-btn{width:100%;min-height:44px;justify-content:center}

  .profile-grid-stats{grid-area:stats}
  .profile-grid-stats.profile-hero-stats{
    display:grid;grid-template-columns:repeat(3,1fr);gap:8px;
    border-top:none;padding:0;background:transparent;
  }
  .profile-grid-stats .profile-hero-stat{
    background:#fff;border-radius:16px;padding:14px 10px;
    border-inline-start:none;box-shadow:0 8px 24px rgba(0,0,0,.06);
  }
  .profile-grid-stats .profile-hero-stat-value{font-size:18px}
  .profile-grid-stats .profile-hero-stat-label{font-size:11px;margin-top:4px}

  .profile-grid-contact{grid-area:contact}
  .profile-grid-social{grid-area:social}
  .profile-grid-topskills--sidebar{display:none!important}
  .profile-grid-topskills--inline{display:block}

  .card{border-radius:20px;box-shadow:0 8px 24px rgba(0,0,0,.06)}
  .card-body{padding:16px 18px}
  .sb-widget .card-body{padding:16px 18px}
  .sb-social-icons .social-links-bar__item{width:48px;height:48px}
  .sb-social-icons .social-links-bar__item img,
  .sb-social-icons .social-links-bar__item svg{width:24px;height:24px}

  .skills-grid{
    display:flex;flex-wrap:wrap;gap:8px;
  }
  .skills-grid .skill-item{
    width:auto;min-height:36px;padding:8px 14px;border-radius:12px;
    border:1.5px solid #e5e7eb;box-shadow:none;text-align:start;
    display:inline-flex;flex-direction:column;align-items:flex-start;gap:4px;
  }
  .skills-grid .skill-name{margin-bottom:0;font-size:13px}
  .skills-grid .skill-meta-row{justify-content:flex-start}

  .profile-hero-card.card{box-shadow:none;background:transparent;overflow:visible}
}

@media (min-width:375px) and (max-width:1023px){
  .page{padding:16px;gap:16px}
  .profile-main-sections{gap:16px}
  .profile-grid-hero-panel .profile-hero-actions--owner{
    display:grid;grid-template-columns:1fr 1fr;gap:8px;
  }
  .profile-grid-hero-panel .profile-hero-actions--owner .btn-outline{grid-column:1/-1}
}

@media (min-width:640px) and (max-width:1023px){
  .profile-grid-hero-panel .profile-inline-form{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (min-width:768px) and (max-width:1023px){
  .page{
    grid-template-columns:1fr 1fr;gap:16px;padding:24px;
    grid-template-areas:
      "cover cover"
      "completion completion"
      "hero hero"
      "stats stats"
      "contact social"
      "main main";
  }
  .profile-main-sections{gap:16px}
  .profile-grid-hero-panel .profile-hero-actions--owner{
    display:flex;flex-wrap:wrap;flex-direction:row;
  }
  .profile-grid-hero-panel .profile-hero-actions--owner .btn-outline{grid-column:auto}
  .profile-grid-cover.profile-banner{height:160px}
  .profile-grid-hero-panel .profile-name{font-size:24px}
}

@media (max-width:359px){
  .page{padding:12px;gap:12px}
  .profile-grid-hero-panel .profile-hero-actions--owner{
    display:flex;flex-direction:column;
  }
  .profile-grid-hero-panel .profile-hero-actions--owner > *{width:100%}
}

@media (min-width:1024px){
  .profile-grid-hero-panel{display:contents}
  .profile-grid-topskills--inline{display:none!important}
  .profile-grid-cover.profile-banner{
    height:180px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;
    box-shadow:none;
  }
}

.languages-list{display:flex;flex-direction:column;gap:14px}
.language-item{padding:12px 14px;border:1px solid var(--gray-200);border-radius:12px;background:var(--gray-50)}
.language-item__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.language-item__name{font-size:14px;font-weight:700;color:var(--gray-800)}
.language-item__badge{font-size:11px;font-weight:700;color:var(--site-secondary);background:var(--site-secondary-tint);padding:3px 8px;border-radius:999px}
.language-level-row{display:flex;flex-direction:column;gap:8px}
.language-level-bar{position:relative;height:8px;border-radius:999px;background:var(--gray-200);overflow:hidden}
.language-level-bar__fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--site-secondary),#3b82f6);transition:width .2s ease}
.language-level-labels{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
.language-level-label{font-size:10px;font-weight:600;text-align:center;color:var(--gray-400)}
.language-level-label.is-active{color:var(--site-secondary);font-weight:800}
.language-level-seg--cefr{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
.language-level-pill{
  border:none;background:transparent;color:var(--gray-400);
  font-size:10px;font-weight:600;padding:6px 2px;border-radius:8px;cursor:pointer;
  transition:background .15s,color .15s;
}
.language-level-pill:hover{background:var(--site-secondary-tint);color:var(--site-secondary)}
.language-level-pill.is-on{background:var(--site-secondary);color:#fff}
.language-editor-row{padding:12px 0;border-bottom:1px solid var(--gray-100)}
.language-editor-row:last-child{border-bottom:none}
.language-editor-row__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.language-editor-row__name{font-size:14px;font-weight:700;color:var(--gray-800)}
.languages-editor__hint{margin:0 0 12px;font-size:13px;color:var(--gray-500);line-height:1.6}
