/* ============================================================
   PreciseDevs — portal UI (forms, cards, filters, dashboards)
   ============================================================ */

/* ---------- panels & messages ---------- */
.pd-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--rad);padding:30px;margin-bottom:22px}
.pd-msg{border-radius:var(--rad-sm);padding:14px 18px;margin-bottom:20px;font-size:14.5px;border:1px solid}
.pd-msg-ok{background:rgba(52,211,153,.08);border-color:rgba(52,211,153,.35);color:#a7f3d0}
.pd-msg-err{background:rgba(248,113,113,.08);border-color:rgba(248,113,113,.35);color:#fecaca}
.pd-note{color:var(--muted);font-size:13.5px;margin-top:14px}
.pd-optional{color:var(--muted);font-weight:400;font-size:12.5px}
.pd-empty{border:1px dashed var(--line2);border-radius:var(--rad);padding:50px 30px;text-align:center;color:var(--muted)}
.pd-empty h3{margin-bottom:10px}

/* ---------- forms ---------- */
.pd-form{max-width:760px}
.pd-form-title{font-size:26px;margin-bottom:6px}
.pd-form-sub{color:var(--muted);margin-bottom:24px;font-size:14.5px}
.pd-form-head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:20px}
.pd-form-section{font-size:15px;margin:26px 0 10px;color:var(--accent2);letter-spacing:.4px}
.pd-form label{display:block;font-size:14px;font-weight:500;margin:16px 0 0}
.pd-form input[type=text],.pd-form input[type=email],.pd-form input[type=password],.pd-form input[type=url],.pd-form input[type=date],.pd-form input[type=search],.pd-form textarea,.pd-form select,
.pd-filters input[type=search],.pd-filters select{
  width:100%;background:var(--surface2);border:1px solid var(--line2);border-radius:var(--rad-sm);color:var(--text);
  padding:12px 14px;font-family:var(--font-b);font-size:14.5px;margin-top:7px;transition:border-color .2s;outline:none}
.pd-form input:focus,.pd-form textarea:focus,.pd-form select:focus{border-color:var(--accent)}
.pd-form input[type=file]{margin-top:8px;color:var(--muted);font-size:13.5px}
.pd-form button[type=submit]{margin-top:26px}
.pd-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.pd-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 20px}
.pd-hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}

/* check/radio chips */
.pd-checks{display:flex;flex-wrap:wrap;gap:9px;margin-top:8px}
.pd-check input{position:absolute;opacity:0;pointer-events:none}
.pd-check span{display:inline-block;border:1px solid var(--line2);border-radius:99px;padding:7px 16px;font-size:13.5px;cursor:pointer;transition:all .15s;color:var(--muted);user-select:none}
.pd-check input:checked+span{background:var(--grad);color:#04121f;border-color:transparent;font-weight:600}
.pd-check span:hover{border-color:var(--accent2);color:var(--text)}
.pd-check input:checked+span:hover{color:#04121f}

/* ---------- chips & tags ---------- */
.pd-chip{display:inline-block;font-size:12.5px;padding:5px 12px;border-radius:99px;border:1px solid var(--line2);color:var(--muted);margin:0 6px 6px 0}
.pd-chip-spec{border-color:rgba(59,130,246,.4);color:#93c5fd}
.pd-chip-stack{border-color:rgba(34,211,238,.35);color:#67e8f9}
.pd-chip-type{border-color:rgba(52,211,153,.4);color:#6ee7b7}
.pd-tag{display:inline-block;font-size:12px;padding:4px 12px;border-radius:5px;background:var(--surface2);border:1px solid var(--line);color:var(--muted);margin:0 6px 6px 0;font-family:var(--font-d)}
.pd-verified{color:var(--gold);font-weight:600;font-size:.8em;vertical-align:2px}
.pd-live-dot{display:inline-block;width:8px;height:8px;border-radius:99px;background:var(--green);box-shadow:0 0 10px var(--green);margin-right:4px}

/* ---------- cards grid (directories / board) ---------- */
.pd-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:26px}
.pd-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--rad);padding:26px;display:flex;flex-direction:column;gap:12px;transition:border-color .3s,transform .3s}
.pd-card:hover{border-color:rgba(34,211,238,.4);transform:translateY(-4px)}
.pd-card-top{display:flex;gap:14px;align-items:center}
.pd-card-title{font-size:18px;line-height:1.25}
.pd-card-title a{color:var(--text)}
.pd-card-title a:hover{color:var(--accent2)}
.pd-card-sub{color:var(--muted);font-size:13.5px}
.pd-card-top-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.pd-card-company{font-weight:600;color:var(--text)}
.pd-card-date{margin-left:auto;font-size:12px}
.pd-card-chips,.pd-card-tags{line-height:1}
.pd-card-foot{margin-top:auto;padding-top:8px}
.pd-avatar{width:52px;height:52px;border-radius:12px;object-fit:cover;flex-shrink:0}
.pd-avatar-fallback{display:flex;align-items:center;justify-content:center;background:var(--grad);color:#04121f;font-family:var(--font-d);font-weight:700;font-size:22px;width:52px;height:52px;border-radius:12px;flex-shrink:0}
.pd-avatar-co{background:linear-gradient(92deg,#34d399,#22d3ee)}

/* ---------- filter bar ---------- */
.pd-filters{display:flex;gap:10px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:var(--rad);padding:16px}
.pd-filters input[type=search]{flex:2;min-width:180px;width:auto;margin:0}
.pd-filters select{flex:1;min-width:150px;width:auto;margin:0}
.pd-filters .pd-btn{padding:11px 22px}

/* ---------- pager ---------- */
.pd-pager{display:flex;gap:8px;justify-content:center;margin-top:34px}
.pd-pager a,.pd-page-cur{min-width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line2);border-radius:var(--rad-sm);color:var(--muted);font-size:14px}
.pd-page-cur{background:var(--grad);color:#04121f;border-color:transparent;font-weight:700}

/* ---------- register choice ---------- */
.pd-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:900px}
.pd-choice{background:var(--surface);border:1px solid var(--line);border-radius:var(--rad);padding:40px 34px;display:block;transition:border-color .3s,transform .3s}
.pd-choice:hover{border-color:rgba(34,211,238,.45);transform:translateY(-5px)}
.pd-choice-kicker{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--accent2);font-family:var(--font-d)}
.pd-choice h3{font-size:26px;margin:10px 0 12px;color:var(--text)}
.pd-choice p{color:var(--muted);font-size:14.5px;margin-bottom:24px}

/* ---------- dashboard ---------- */
.pd-dash-head{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.pd-dash-head h2{font-size:24px;margin-bottom:6px}
.pd-dash-section{font-size:20px;margin:34px 0 16px}
.pd-dash-row{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.pd-dash-cta{margin-top:30px}
.pd-progress{height:8px;background:var(--surface2);border-radius:99px;overflow:hidden;margin-top:10px;min-width:220px}
.pd-progress span{display:block;height:100%;background:var(--grad);border-radius:99px}
.pd-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--rad)}
.pd-table{width:100%;border-collapse:collapse;font-size:14px}
.pd-table th{text-align:left;padding:13px 18px;background:var(--surface2);color:var(--muted);font-family:var(--font-d);font-size:12.5px;letter-spacing:1px;text-transform:uppercase}
.pd-table td{padding:13px 18px;border-top:1px solid var(--line)}
.pd-status{display:inline-block;font-size:12px;padding:4px 12px;border-radius:99px;font-weight:600}
.pd-status-new{background:rgba(245,198,107,.12);color:var(--gold)}
.pd-status-reviewed{background:rgba(59,130,246,.14);color:#93c5fd}
.pd-status-intro_made{background:rgba(34,211,238,.13);color:#67e8f9}
.pd-status-hired{background:rgba(52,211,153,.15);color:#6ee7b7}
.pd-status-closed{background:rgba(255,255,255,.07);color:var(--muted)}
.pd-jobrow h4{font-size:17px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pd-applicants{margin-top:16px;border-top:1px solid var(--line);padding-top:6px}
.pd-applicant{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.pd-applicant:last-child{border-bottom:0}
.pd-applicant-msg{color:var(--muted);font-size:13.5px;font-style:italic;margin-top:6px;max-width:520px}
.pd-applicant-side{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

/* ---------- profile page ---------- */
.pd-profile-hero{padding-bottom:40px}
.pd-profile-head{display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.pd-profile-avatar{width:110px;height:110px;border-radius:20px;object-fit:cover}
.pd-profile-avatar.pd-avatar-fallback{width:110px;height:110px;font-size:44px;border-radius:20px}
.pd-profile-grid{display:grid;grid-template-columns:1.9fr 1fr;gap:24px;align-items:start}
.pd-profile-grid aside{position:sticky;top:calc(var(--pd-head-h) + 20px)}
.pd-panel h3{font-size:18px;margin-bottom:12px}
.pd-privacy-note p{color:var(--muted);font-size:13.5px;margin:0}
.pd-apply-box h3{font-size:20px}
.pd-apply-box p{color:var(--muted);font-size:14px;margin:10px 0 16px}
.pd-jobline{padding:11px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.pd-jobline:last-child{border-bottom:0}
.pd-job-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px}
.pd-job-meta span{border:1px solid var(--line);border-radius:var(--rad-sm);padding:10px 18px;font-size:14.5px;font-family:var(--font-d)}
.pd-job-meta small{display:block;color:var(--muted);font-size:11px;letter-spacing:1.4px;text-transform:uppercase;margin-bottom:2px}
.pd-job-desc{font-size:15.5px}
.pd-job-desc p{margin:0 0 14px;color:#c6cfdd}
.pd-job-desc ul,.pd-job-desc ol{margin:0 0 14px 20px;color:#c6cfdd}

/* ---------- content (marketing/policy pages) ---------- */
.pd-content h2{font-size:26px;margin:34px 0 12px}
.pd-content h3{font-size:20px;margin:26px 0 10px}
.pd-content p{margin-bottom:14px;color:#c6cfdd}
.pd-content ul,.pd-content ol{margin:0 0 16px 22px;color:#c6cfdd}
.pd-content li{margin-bottom:6px}

/* ---------- password field: eye + strength + confirm ---------- */
.pd-pass-wrap{position:relative;display:block}
.pd-pass-wrap input{padding-right:46px!important}
.pd-eye{position:absolute;right:5px;top:50%;transform:translateY(-42%);background:none;border:0;color:var(--muted);cursor:pointer;padding:9px;line-height:0;border-radius:6px;transition:color .2s}
.pd-eye:hover,.pd-eye-on{color:var(--accent2)}
.pd-strength{display:flex;gap:6px;align-items:center;margin-top:9px}
.pd-strength span{flex:0 0 34px;height:4px;border-radius:99px;background:var(--surface2);transition:background .25s}
.pd-strength em{font-style:normal;font-size:12px;color:var(--muted);margin-left:4px}
.pd-strength.pd-s1 span:nth-child(-n+1){background:#dc2626}
.pd-strength.pd-s2 span:nth-child(-n+2){background:#f59e0b}
.pd-strength.pd-s3 span:nth-child(-n+3){background:#eab308}
.pd-strength.pd-s4 span:nth-child(-n+4){background:#10b981}
input.pd-mismatch{border-color:var(--red)!important;box-shadow:0 0 0 3px rgba(220,38,38,.15)!important}
input.pd-match{border-color:var(--green)!important}

/* ---------- centered auth pages ---------- */
.pd-auth .pd-page-hero{text-align:center}
.pd-auth .pd-page-hero .pd-lead{margin-left:auto;margin-right:auto}
.pd-auth .pd-form{max-width:520px;margin-left:auto;margin-right:auto}
.pd-auth .pd-panel.pd-center{max-width:520px;margin-left:auto;margin-right:auto}
.pd-auth .pd-msg{max-width:520px;margin-left:auto;margin-right:auto}
.pd-auth .pd-choice-grid{margin:0 auto}

/* ---------- owner hub (own profile page) ---------- */
.pd-owner-hub{padding:10px 0 30px;border-bottom:1px solid var(--line)}
.pd-owner-hub>.pd-wrap>.pd-kicker{margin-bottom:14px}

/* ---------- verify banner ---------- */
.pd-verify-banner{font-size:14.5px;line-height:1.7}
.pd-linklike{background:none;border:0;padding:0;color:var(--accent2);cursor:pointer;font:inherit;text-decoration:underline}
.pd-linklike:hover{color:var(--text)}

/* ---------- mini profile cards (directories) ---------- */
.pd-mini-profile{padding:0;overflow:hidden}
.pd-mini-cover{display:block;height:72px;background:
  radial-gradient(240px 90px at 80% 40%,rgba(34,211,238,.35),transparent 65%),
  linear-gradient(110deg,#0b1a33,#12325e 60%,#0b2a44)}
.pd-mini-cover-co{background:
  radial-gradient(240px 90px at 80% 40%,rgba(52,211,153,.3),transparent 65%),
  linear-gradient(110deg,#0b1a33,#0e3a4a 60%,#0b2a44)}
.pd-mini-body{padding:0 22px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.pd-mini-avatar-row{display:flex;justify-content:space-between;align-items:flex-end;margin-top:-30px}
.pd-mini-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;border:3px solid var(--surface);box-shadow:0 4px 14px rgba(0,0,0,.2)}
.pd-mini-avatar.pd-avatar-fallback{width:64px;height:64px;border-radius:50%;font-size:26px;display:flex}
.pd-mini-badge{font-size:11.5px;font-weight:600;padding:4px 11px;border-radius:99px;margin-bottom:4px}
.pd-mini-verified{background:rgba(245,198,107,.13);color:var(--gold);border:1px solid rgba(245,198,107,.4)}
.pd-mini-hiring{background:rgba(52,211,153,.12);color:var(--green);border:1px solid rgba(52,211,153,.35)}
.pd-mini-headline{font-size:14px;color:var(--text);opacity:.85;margin:-4px 0 0}
.pd-mini-meta{font-size:12.5px;color:var(--muted)}
.pd-mini-profile .pd-card-title{font-size:19px}

/* ---------- footer socials (specificity beats .pd-footer-grid a) ---------- */
.pd-socials{display:flex;gap:9px;margin-top:16px;flex-wrap:nowrap;align-items:center}
.pd-footer-grid a.pd-social,.pd-social{display:inline-flex!important;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--line2);color:var(--muted);transition:all .25s;padding:0!important;flex-shrink:0}
.pd-social svg{width:17px;height:17px;display:block}
.pd-footer-grid a.pd-social:hover,.pd-social:hover{color:#04121f;background:linear-gradient(92deg,#3b82f6,#22d3ee);border-color:transparent;transform:translateY(-3px)}

/* ---------- FAQ accordion (centered page + icon graphics) ---------- */
.pd-center-hero .pd-page-hero{text-align:center}
.pd-center-hero .pd-page-hero .pd-lead{margin-left:auto;margin-right:auto}
.pd-faq{max-width:820px;margin:0 auto}
.pd-faq-item{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:14px;overflow:hidden;transition:border-color .25s,box-shadow .25s}
.pd-faq-item[open]{border-color:rgba(59,130,246,.4);box-shadow:0 10px 34px rgba(15,35,70,.08)}
.pd-faq-item summary{display:flex;align-items:center;gap:16px;padding:18px 24px;cursor:pointer;list-style:none;font-family:var(--font-d);font-weight:600;font-size:16.5px}
.pd-faq-item summary::-webkit-details-marker{display:none}
.pd-faq-ico{flex-shrink:0;width:44px;height:44px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;font-size:20px;background:linear-gradient(135deg,rgba(59,130,246,.14),rgba(34,211,238,.14));border:1px solid rgba(59,130,246,.25);transition:transform .3s}
.pd-faq-item[open] .pd-faq-ico{transform:scale(1.08) rotate(-4deg)}
.pd-faq-q{flex:1;text-align:left}
.pd-faq-icon{flex-shrink:0;width:30px;height:30px;border:1px solid var(--line2);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:17px;color:var(--accent2);transition:transform .3s}
.pd-faq-item[open] .pd-faq-icon{transform:rotate(45deg)}
.pd-faq-a{padding:0 24px 22px 84px;color:var(--muted);font-size:15px;line-height:1.75}
.pd-faq-a p{margin:0}
@media(max-width:560px){.pd-faq-a{padding-left:24px}}

/* ---------- marketing dims extras ---------- */
.pd-dim-emoji{font-size:30px;display:block;margin-bottom:14px}
.pd-dims-5{grid-template-columns:repeat(3,1fr)}
@media(max-width:1060px){.pd-dims-5{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.pd-dims-5{grid-template-columns:1fr}}

/* ---------- contact layout ---------- */
.pd-contact-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;align-items:start}
.pd-contact-grid .pd-form{max-width:none;margin:0}
.pd-contact-cards{display:flex;flex-direction:column;gap:16px}
.pd-contact-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px 24px;display:block}
.pd-contact-card h4{font-size:16px;margin-bottom:6px;color:var(--text)}
.pd-contact-card p{color:var(--muted);font-size:14px;margin:0}
.pd-contact-click{transition:border-color .25s,transform .25s;cursor:pointer}
.pd-contact-click:hover{border-color:var(--accent2);transform:translateY(-3px)}
.pd-contact-go{display:inline-block;margin-top:10px;font-family:var(--font-d);font-weight:600;font-size:13.5px;color:var(--accent2)}

/* password policy inline error */
.pd-pass-error{display:none;color:var(--red);font-size:13px;margin-top:8px}
.pd-pass-error.pd-show{display:block}
@media(max-width:860px){.pd-contact-grid{grid-template-columns:1fr}}

/* ---------- profile cover uploads ---------- */
.pd-li-cam-cover{position:absolute;right:16px;top:16px;bottom:auto}
.pd-li-cover-img .pd-li-cover-glow{display:none}
.pd-li-cover{position:relative}

/* ---------- media modals: preview + fancy upload + remove ---------- */
.pd-media-preview{display:flex;align-items:center;justify-content:center;background:var(--surface2);border:1px dashed var(--line2);border-radius:14px;padding:18px;min-height:150px;margin-top:14px}
.pd-media-img{width:150px;height:150px;border-radius:50%;object-fit:cover;box-shadow:0 6px 22px rgba(0,0,0,.2)}
.pd-media-letter{width:150px;height:150px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-d);font-weight:700;font-size:54px;background:var(--grad);color:#04121f}
.pd-media-banner{min-height:130px;background-size:cover;background-position:center;color:var(--muted);font-size:14px;background-image:
  radial-gradient(240px 90px at 80% 40%,rgba(34,211,238,.35),transparent 65%),
  linear-gradient(110deg,#0b1a33,#12325e 60%,#0b2a44)}
.pd-media-banner span{color:#8b95a7}
.pd-media-banner-co{background-image:
  radial-gradient(240px 90px at 80% 40%,rgba(52,211,153,.3),transparent 65%),
  linear-gradient(110deg,#0b1a33,#0e3a4a 60%,#0b2a44)}
.pd-upload-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:16px}
.pd-upload{display:flex;align-items:center;gap:12px;cursor:pointer;flex:1;min-width:220px;margin:0!important}
.pd-upload input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.pd-upload-btn{display:inline-block;font-family:var(--font-d);font-weight:600;font-size:14px;padding:11px 20px;border-radius:9px;background:var(--grad);color:#04121f;white-space:nowrap;transition:transform .2s,box-shadow .2s}
.pd-upload:hover .pd-upload-btn{transform:translateY(-2px);box-shadow:0 6px 22px rgba(34,211,238,.3)}
.pd-upload-name{color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}
.pd-upload-chosen{color:var(--accent2);font-weight:600}
.pd-btn-danger{color:var(--red)!important;border-color:rgba(220,38,38,.4)!important}
.pd-btn-danger:hover{border-color:var(--red)!important}

/* ---------- docs hub ---------- */
.pd-docs-search{display:flex;gap:10px;max-width:560px;flex-wrap:wrap}
.pd-docs-search input[type=search]{flex:1;min-width:220px;background:var(--surface);border:1px solid var(--line2);border-radius:var(--rad-sm);color:var(--text);padding:13px 16px;font-size:15px;font-family:var(--font-b)}
.pd-docs-topics{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pd-docs-topic-card h3{font-size:19px;margin-bottom:6px}
.pd-docs-topic-card h3 a{color:var(--text)}
.pd-docs-topic-card h3 a:hover{color:var(--accent2)}
.pd-docs-list{list-style:none;margin:8px 0 0}
.pd-docs-list li{border-bottom:1px solid var(--line);padding:8px 0}
.pd-docs-list li:last-child{border-bottom:0}
.pd-docs-list a{color:var(--muted);font-size:14px}
.pd-docs-list a:hover{color:var(--accent2)}
.pd-docs-more a{font-family:var(--font-d);font-weight:600;color:var(--accent2)!important}
.pd-docs-layout{display:grid;grid-template-columns:270px 1fr;gap:34px;align-items:start}
.pd-docs-side{position:sticky;top:calc(var(--pd-head-h) + 20px)}
.pd-docs-nav{background:var(--surface);border:1px solid var(--line);border-radius:var(--rad);padding:16px;max-height:calc(100vh - var(--pd-head-h) - 40px);overflow-y:auto}
.pd-docs-home{display:block;font-family:var(--font-d);font-weight:600;font-size:14px;padding:6px 8px;margin-bottom:8px}
.pd-docs-group{border-top:1px solid var(--line);padding:4px 0}
.pd-docs-group summary{cursor:pointer;list-style:none;font-family:var(--font-d);font-weight:600;font-size:13.5px;padding:9px 8px;color:var(--text)}
.pd-docs-group summary::-webkit-details-marker{display:none}
.pd-docs-group summary::before{content:'▸';display:inline-block;margin-right:7px;color:var(--accent2);transition:transform .2s}
.pd-docs-group[open] summary::before{transform:rotate(90deg)}
.pd-docs-group ul{list-style:none;margin:0 0 6px}
.pd-docs-group li a{display:block;color:var(--muted);font-size:13.5px;padding:6px 8px 6px 24px;border-radius:7px}
.pd-docs-group li a:hover{color:var(--text);background:var(--surface2)}
.pd-docs-group li.pd-docs-active a{color:var(--accent2);background:var(--surface2);font-weight:600}
.pd-docs-crumb{font-size:13px;color:var(--muted);margin-bottom:12px}
.pd-doc-title{font-size:clamp(28px,3.6vw,40px);letter-spacing:-.4px;margin-bottom:8px}
.pd-doc-meta{color:var(--muted);font-size:13px;margin-bottom:24px}
.pd-doc-toc{background:var(--surface);border:1px solid var(--line);border-radius:var(--rad);padding:18px 22px;margin-bottom:28px;font-size:14px}
.pd-doc-toc strong{font-family:var(--font-d);font-size:12.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted)}
.pd-doc-toc ul{list-style:none;margin:10px 0 0}
.pd-doc-toc li{padding:4px 0}
.pd-doc-body{font-size:15.5px;max-width:760px}
.pd-doc-body h2{font-size:24px;margin:36px 0 12px}
.pd-doc-body h3{font-size:18px}
.pd-doc-body table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:14px}
.pd-doc-body th,.pd-doc-body td{border:1px solid var(--line);padding:10px 14px;text-align:left}
.pd-doc-body th{background:var(--surface2);font-family:var(--font-d);font-size:13px}
.pd-doc-pager{display:flex;justify-content:space-between;gap:14px;margin:40px 0 22px;flex-wrap:wrap}
.pd-doc-pager a{font-family:var(--font-d);font-weight:600;font-size:14px;border:1px solid var(--line2);border-radius:var(--rad-sm);padding:12px 18px;color:var(--text)}
.pd-doc-pager a:hover{border-color:var(--accent2)}
.pd-docs-row{display:block;transition:border-color .25s,transform .25s}
.pd-docs-row:hover{border-color:var(--accent2);transform:translateY(-2px)}
.pd-docs-row h3{font-size:18px;margin-bottom:6px;color:var(--text)}
.pd-doc-help{margin-top:10px;font-size:14.5px}
@media(max-width:960px){.pd-docs-layout{grid-template-columns:1fr}.pd-docs-side{position:static;order:2}.pd-docs-topics{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.pd-docs-topics{grid-template-columns:1fr}}

/* ---------- affiliate dashboard ---------- */
.pd-aff-linkrow{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.pd-aff-linkrow input{flex:1;min-width:240px;background:var(--surface2);border:1px solid var(--line2);border-radius:var(--rad-sm);color:var(--text);padding:12px 14px;font-size:14px;font-family:var(--font-b)}
.pd-aff-stats{margin:26px 0;text-align:center}
.pd-stat-num-static{font-family:var(--font-d);font-size:clamp(30px,3.4vw,44px);font-weight:700;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}
.pd-aff-balances{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:10px}
.pd-aff-bal{display:flex;flex-direction:column;margin-bottom:0}
.pd-aff-bal-label{font-family:var(--font-d);font-size:12px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted)}
.pd-aff-bal-num{font-family:var(--font-d);font-size:30px;font-weight:700;margin-top:6px}
.pd-share-variant{padding:22px 24px}
.pd-share-title{font-size:16px;margin-bottom:10px}
.pd-share-text{width:100%;background:var(--surface2);border:1px solid var(--line2);border-radius:var(--rad-sm);color:var(--text);padding:12px 14px;font-size:13.5px;font-family:var(--font-b);line-height:1.6;resize:vertical}
.pd-share-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
@media(max-width:820px){.pd-aff-balances{grid-template-columns:1fr}}

/* ---------- consent checkbox ---------- */
.pd-consent{display:flex!important;gap:11px;align-items:flex-start;margin-top:22px!important;font-size:13.5px!important;font-weight:400!important;color:var(--muted);cursor:pointer;line-height:1.6}
.pd-consent input{width:17px;height:17px;margin-top:3px;flex-shrink:0;accent-color:var(--accent)}
.pd-consent a{text-decoration:underline}

/* ---------- save button spinner ---------- */
.pd-btn.pd-loading{pointer-events:none;position:relative;color:transparent!important}
.pd-btn.pd-loading::after{content:'';position:absolute;inset:0;margin:auto;width:18px;height:18px;border:2.5px solid rgba(4,18,31,.25);border-top-color:#04121f;border-radius:50%;animation:pd-spin .7s linear infinite}
.pd-btn-ghost.pd-loading::after{border-color:var(--line2);border-top-color:var(--accent2)}
@keyframes pd-spin{to{transform:rotate(360deg)}}

/* ============================================================
   LINKEDIN-STYLE PROFILE
   ============================================================ */
.pd-li-page{padding:36px 0 90px;background:var(--bg)}
@media(max-width:820px){.pd-li-page{padding:16px 0 60px}}
.pd-li-wrap{max-width:1128px}

/* view-as bar */
.pd-viewas-bar{position:sticky;top:var(--pd-head-h);z-index:900;display:flex;justify-content:center;align-items:center;gap:18px;background:linear-gradient(92deg,#3b82f6,#22d3ee);color:#04121f;font-weight:600;font-size:14px;padding:10px 20px;margin-bottom:8px}
.pd-viewas-bar .pd-btn{background:#04121f;color:#fff;border:0}

/* header card */
.pd-li-header{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:22px}
.pd-li-cover{height:190px;position:relative;background:
  radial-gradient(500px 220px at 78% 30%,rgba(34,211,238,.35),transparent 65%),
  radial-gradient(420px 200px at 15% 80%,rgba(59,130,246,.4),transparent 60%),
  linear-gradient(110deg,#0b1a33 0%,#12325e 55%,#0b2a44 100%)}
.pd-li-cover-co{background:
  radial-gradient(500px 220px at 78% 30%,rgba(52,211,153,.3),transparent 65%),
  radial-gradient(420px 200px at 15% 80%,rgba(34,211,238,.35),transparent 60%),
  linear-gradient(110deg,#0b1a33 0%,#0e3a4a 55%,#0b2a44 100%)}
.pd-li-cover-glow{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.14) 1px,transparent 1px);background-size:26px 26px;opacity:.35}
.pd-li-head-body{display:flex;gap:26px;align-items:flex-start;padding:0 34px 28px;position:relative;flex-wrap:wrap}
.pd-li-avatar-wrap{position:relative;margin-top:-76px;flex-shrink:0}
.pd-li-avatar{width:152px;height:152px;border-radius:50%;object-fit:cover;border:5px solid var(--surface);box-shadow:0 6px 24px rgba(0,0,0,.25)}
.pd-li-avatar.pd-avatar-fallback{width:152px;height:152px;border-radius:50%;font-size:56px;display:flex}
.pd-li-cam{position:absolute;right:6px;bottom:10px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line2);background:var(--surface);cursor:pointer;font-size:16px;box-shadow:0 4px 14px rgba(0,0,0,.2);transition:transform .2s}
.pd-li-cam:hover{transform:scale(1.1)}
.pd-li-id{flex:1;min-width:260px;padding-top:18px}
.pd-li-name{font-size:clamp(26px,3vw,34px);letter-spacing:-.4px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pd-li-headline{font-size:16.5px;color:var(--text);opacity:.9;margin:4px 0 6px}
.pd-li-meta{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:14px;margin-bottom:12px}
.pd-li-links{margin-top:4px}
.pd-profile-actions{display:flex;gap:10px;padding-top:22px;flex-wrap:wrap}

/* body grid */
.pd-li-grid{display:grid;grid-template-columns:1fr 340px;gap:22px;align-items:start}
.pd-li-side{position:sticky;top:calc(var(--pd-head-h) + 20px);display:flex;flex-direction:column;gap:0}

/* section cards */
.pd-sec{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:26px 30px;margin-bottom:20px}
.pd-sec-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.pd-sec-head h3{font-size:19px;margin:0}
.pd-li-sub{font-size:13px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin:18px 0 8px}
.pd-li-sub:first-of-type{margin-top:0}
.pd-sec-empty{font-size:14.5px}
.pd-li-rate{font-family:var(--font-d);font-size:22px;font-weight:700}
.pd-sec.pd-privacy-note{padding:18px 22px}
.pd-sec.pd-privacy-note p{margin:0;color:var(--muted);font-size:13.5px}

/* private owner section */
.pd-sec-private{border-style:dashed;border-color:var(--line2);background:linear-gradient(180deg,rgba(59,130,246,.04),transparent),var(--surface)}
.pd-sec-private .pd-panel{background:transparent;border:0;padding:0;margin-bottom:14px}
.pd-sec-private .pd-dash-head h2{font-size:19px}

/* pencil */
.pd-pencil{background:none;border:1px solid transparent;border-radius:50%;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);cursor:pointer;transition:all .2s;flex-shrink:0}
.pd-pencil:hover{color:var(--accent2);border-color:var(--line2);background:var(--surface2)}

/* ---------- modals ---------- */
.pd-modal{position:fixed;inset:0;z-index:1500;display:flex;align-items:center;justify-content:center;padding:20px}
.pd-modal[hidden]{display:none}
.pd-modal-backdrop{position:absolute;inset:0;background:rgba(2,6,14,.7);backdrop-filter:blur(4px)}
.pd-modal-card{position:relative;background:var(--surface);border:1px solid var(--line2);border-radius:16px;max-width:680px;width:100%;max-height:86vh;display:flex;flex-direction:column;box-shadow:0 30px 90px rgba(0,0,0,.5);animation:pd-modal-in .28s cubic-bezier(.16,1,.3,1)}
@keyframes pd-modal-in{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
.pd-modal-head{display:flex;justify-content:space-between;align-items:center;padding:18px 26px;border-bottom:1px solid var(--line)}
.pd-modal-head h3{font-size:19px;margin:0}
.pd-modal-x{background:none;border:0;color:var(--muted);font-size:17px;cursor:pointer;width:36px;height:36px;border-radius:50%;transition:all .2s}
.pd-modal-x:hover{background:var(--surface2);color:var(--text)}
.pd-modal-form{overflow-y:auto;padding:6px 26px 0;max-width:none}
.pd-modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:18px 26px;border-top:1px solid var(--line);margin-top:20px;position:sticky;bottom:0;background:var(--surface)}
.pd-modal-form label{margin-top:12px}
body.pd-modal-open{overflow:hidden}

@media(max-width:960px){
  .pd-li-grid{grid-template-columns:1fr}
  .pd-li-side{position:static}
  .pd-li-head-body{padding:0 22px 24px}
  .pd-li-avatar-wrap{margin-top:-60px}
  .pd-li-avatar,.pd-li-avatar.pd-avatar-fallback{width:118px;height:118px;font-size:42px}
  .pd-profile-actions{padding-top:12px}
  .pd-sec{padding:20px 18px}
}

/* ---------- light theme overrides ---------- */
html[data-pd-theme=light] .pd-msg-ok{background:rgba(5,150,105,.08);border-color:rgba(5,150,105,.35);color:#065f46}
html[data-pd-theme=light] .pd-msg-err{background:rgba(220,38,38,.07);border-color:rgba(220,38,38,.3);color:#991b1b}
html[data-pd-theme=light] .pd-chip-spec{border-color:rgba(29,78,216,.35);color:#1d4ed8}
html[data-pd-theme=light] .pd-chip-stack{border-color:rgba(14,116,144,.35);color:#0e7490}
html[data-pd-theme=light] .pd-chip-type{border-color:rgba(4,120,87,.35);color:#047857}
html[data-pd-theme=light] .pd-chip-zero{background:rgba(161,98,7,.08);color:#a16207;border-color:rgba(161,98,7,.35)}
html[data-pd-theme=light] .pd-status-new{background:rgba(161,98,7,.1);color:#a16207}
html[data-pd-theme=light] .pd-status-reviewed{background:rgba(29,78,216,.1);color:#1d4ed8}
html[data-pd-theme=light] .pd-status-intro_made{background:rgba(14,116,144,.1);color:#0e7490}
html[data-pd-theme=light] .pd-status-hired{background:rgba(4,120,87,.12);color:#047857}
html[data-pd-theme=light] .pd-status-closed{background:rgba(12,28,56,.07);color:#5a6577}
html[data-pd-theme=light] .pd-content p,html[data-pd-theme=light] .pd-content ul,html[data-pd-theme=light] .pd-content ol,
html[data-pd-theme=light] .pd-job-desc p,html[data-pd-theme=light] .pd-job-desc ul,html[data-pd-theme=light] .pd-job-desc ol{color:#3a4557}
html[data-pd-theme=light] .pd-verified{color:#a16207}

/* ---------- responsive ---------- */
@media(max-width:960px){
  .pd-cards-grid{grid-template-columns:1fr 1fr}
  .pd-profile-grid{grid-template-columns:1fr}
  .pd-profile-grid aside{position:static}
}
@media(max-width:640px){
  .pd-cards-grid,.pd-choice-grid,.pd-grid-2,.pd-grid-3{grid-template-columns:1fr}
  .pd-panel{padding:22px 18px}
  .pd-filters{flex-direction:column}
  .pd-filters input[type=search],.pd-filters select{width:100%}
}
