.tp-form,.tp-card,.tp-matches{border:1px solid #e5e7eb;border-radius:18px;padding:1.25rem;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.06);margin:1rem 0}.tp-form label{display:block;font-weight:700;margin:.85rem 0}.tp-form input,.tp-form textarea,.tp-form select{width:100%;max-width:100%;padding:.7rem .85rem;border:1px solid #cbd5e1;border-radius:10px;font:inherit}.tp-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.tp-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:.75rem 1.1rem;font-weight:800;background:#315efb;color:#fff;cursor:pointer}.tp-button:hover{filter:brightness(.95)}.tp-notice{display:none;margin:.75rem 0;padding:.75rem 1rem;border-radius:12px}.tp-notice.is-success{display:block;background:#ecfdf5;color:#065f46}.tp-notice.is-error{display:block;background:#fef2f2;color:#991b1b}.tp-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.tp-card h3{margin-top:0}.tp-meta-row{display:flex;flex-wrap:wrap;gap:.5rem 1rem;color:#64748b;font-size:.92rem}.tp-chip-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.75rem}.tp-chip{display:inline-flex;border-radius:999px;padding:.25rem .55rem;background:#eef2ff;color:#3730a3;font-size:.82rem;font-weight:700}.tp-form.is-loading{opacity:.72;pointer-events:none}@media(max-width:700px){.tp-grid-2{grid-template-columns:1fr}}

.tp-section-header{margin:0 0 1rem}.tp-section-header h2{margin:.2rem 0}.tp-section-header p{margin:.25rem 0;color:#64748b}.tp-skills-bubbles{border:1px solid #e5e7eb;border-radius:22px;padding:1.25rem;background:linear-gradient(135deg,#ffffff 0%,#f8fafc 100%);box-shadow:0 12px 34px rgba(15,23,42,.07);margin:1.25rem 0}.tp-bubble-cloud{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.9rem;min-height:220px;padding:1rem}.tp-skill-bubble{width:var(--tp-bubble-size,110px);height:var(--tp-bubble-size,110px);min-width:76px;min-height:76px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;text-decoration:none;border-radius:50%;padding:.85rem;background:radial-gradient(circle at 30% 25%,#ffffff 0%,#dbeafe 38%,#315efb 100%);color:#0f172a;border:1px solid rgba(49,94,251,.18);box-shadow:inset 0 1px 8px rgba(255,255,255,.82),0 14px 30px rgba(49,94,251,.2);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;overflow:hidden}.tp-skill-bubble:nth-child(3n+2){background:radial-gradient(circle at 30% 25%,#ffffff 0%,#dcfce7 38%,#16a34a 100%);box-shadow:inset 0 1px 8px rgba(255,255,255,.82),0 14px 30px rgba(22,163,74,.18)}.tp-skill-bubble:nth-child(3n+3){background:radial-gradient(circle at 30% 25%,#ffffff 0%,#fef3c7 38%,#f59e0b 100%);box-shadow:inset 0 1px 8px rgba(255,255,255,.82),0 14px 30px rgba(245,158,11,.18)}.tp-skill-bubble:hover,.tp-skill-bubble:focus{transform:translateY(-4px) scale(1.03);filter:saturate(1.08);box-shadow:0 18px 38px rgba(15,23,42,.18);outline:none}.tp-skill-bubble__name{font-weight:900;line-height:1.05;font-size:clamp(.78rem,calc(var(--tp-bubble-size,110px) / 8.5),1.15rem)}.tp-skill-bubble__count,.tp-skill-bubble__rating{font-size:clamp(.65rem,calc(var(--tp-bubble-size,110px) / 12),.88rem);font-weight:800;line-height:1.15;margin-top:.22rem;color:rgba(15,23,42,.78)}.tp-bubble-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem 1rem;color:#64748b;font-size:.9rem;border-top:1px solid #e5e7eb;padding-top:.85rem}.tp-bubble-legend span{display:inline-flex;align-items:center;gap:.35rem}.tp-bubble-legend span:before{content:"";width:.65rem;height:.65rem;border-radius:50%;background:#315efb;display:inline-block}@media(max-width:700px){.tp-bubble-cloud{gap:.6rem;padding:.5rem}.tp-skill-bubble{width:calc(var(--tp-bubble-size,110px) * .82);height:calc(var(--tp-bubble-size,110px) * .82)}}

.tp-resource-finder{border:1px solid #e5e7eb;border-radius:22px;padding:1.25rem;background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);box-shadow:0 12px 34px rgba(15,23,42,.07);margin:1.25rem 0}.tp-resource-finder-form{display:flex;gap:.75rem;align-items:flex-end;margin:1rem 0 1.25rem}.tp-resource-finder-form label{flex:1;font-weight:800}.tp-resource-finder-form select{width:100%;padding:.7rem .85rem;border:1px solid #cbd5e1;border-radius:10px;font:inherit;margin-top:.35rem}.tp-resource-finder.is-loading{opacity:.78}.tp-match-map{border:1px dashed #cbd5e1;border-radius:16px;background:#f8fafc;padding:.85rem 1rem;margin:.75rem 0 1rem}.tp-match-card{position:relative}.tp-match-card:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;border-radius:18px 18px 0 0;background:linear-gradient(90deg,#315efb,#16a34a,#f59e0b)}.tp-match-reasons{margin-top:.85rem;border-top:1px solid #e5e7eb;padding-top:.65rem}.tp-match-reasons summary{cursor:pointer;font-weight:900;color:#1e3a8a}.tp-match-reasons ul{margin:.5rem 0 0 1.2rem}.tp-notice-inline{padding:.85rem 1rem;background:#fff7ed;color:#9a3412;border-radius:12px}@media(max-width:700px){.tp-resource-finder-form{display:block}.tp-resource-finder-form .tp-button{margin-top:.75rem;width:100%}}

/* Frontend resource form / profile editing */
.tp-resource-form-shell {
  max-width: 980px;
  margin: 0 auto 2rem;
}
.tp-resource-form-shell .tp-section-header {
  margin-bottom: 1rem;
}
.tp-intake-form.is-readonly input,
.tp-intake-form.is-readonly textarea,
.tp-intake-form.is-readonly select {
  background: rgba(255,255,255,0.6);
  cursor: default;
}
.tp-card-actions {
  margin-top: 1rem;
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
}
.tp-button-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  opacity: .92;
}
.tp-helper-link {
  margin-top: .75rem;
  font-size: .925rem;
}

/* ============================================================
   TalentPool Dimension2 / IdeaPool visual alignment
   Scoped to TalentPool frontend classes only.
   ============================================================ */
:root {
  --tp-navy: var(--color-navy, #0a1628);
  --tp-navy-mid: var(--color-navy-mid, #0d2044);
  --tp-blue: var(--color-blue, #1565c0);
  --tp-blue-light: var(--color-blue-light, #1e88e5);
  --tp-teal: var(--color-teal, #00bcd4);
  --tp-teal-light: var(--color-teal-light, #26c6da);
  --tp-gold: var(--color-gold, #ffc107);
  --tp-gold-deep: #ff8f00;
  --tp-off-white: var(--color-off-white, #f0f6ff);
  --tp-light-grey: var(--color-light-grey, #e8eef8);
  --tp-mid-grey: var(--color-mid-grey, #8fa5c4);
  --tp-text: var(--color-text, #1a2640);
  --tp-text-light: var(--color-text-light, #5a7090);
  --tp-gradient-brand: var(--gradient-brand, linear-gradient(135deg, #1565c0 0%, #0097a7 60%, #00bcd4 100%));
  --tp-gradient-hero: var(--gradient-hero, linear-gradient(160deg, #0a1628 0%, #0d2044 40%, #0a3060 70%, #006080 100%));
  --tp-gradient-gold: var(--gradient-gold, linear-gradient(135deg, #ffc107 0%, #ff8f00 100%));
  --tp-radius-lg: var(--radius-lg, 1rem);
  --tp-radius-xl: var(--radius-xl, 1.5rem);
  --tp-radius-2xl: var(--radius-2xl, 2rem);
  --tp-shadow-sm: var(--shadow-sm, 0 1px 3px rgba(10,22,40,.12), 0 1px 2px rgba(10,22,40,.08));
  --tp-shadow-md: var(--shadow-md, 0 4px 12px rgba(10,22,40,.15), 0 2px 4px rgba(10,22,40,.1));
  --tp-shadow-lg: var(--shadow-lg, 0 10px 30px rgba(10,22,40,.2), 0 4px 12px rgba(10,22,40,.12));
  --tp-shadow-glow: var(--shadow-glow, 0 0 20px rgba(0,188,212,.25), 0 0 40px rgba(21,101,192,.15));
  --tp-font-sans: var(--font-sans, 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif);
  --tp-font-display: var(--font-display, 'Poppins', 'Inter', sans-serif);
}

.tp-resource-form-shell,
.tp-resource-finder,
.tp-skills-bubbles,
.tp-matches,
.tp-card-grid,
.tp-form,
.tp-card {
  font-family: var(--tp-font-sans);
}

.tp-form,
.tp-card,
.tp-matches,
.tp-skills-bubbles,
.tp-resource-finder {
  border: 1px solid rgba(21,101,192,.12);
  border-radius: var(--tp-radius-2xl);
  background:
    linear-gradient(#ffffff, #ffffff) padding-box,
    linear-gradient(135deg, rgba(21,101,192,.32), rgba(0,188,212,.28), rgba(255,193,7,.28)) border-box;
  box-shadow: var(--tp-shadow-md);
  color: var(--tp-text);
}

.tp-card,
.tp-form {
  position: relative;
  overflow: hidden;
}

.tp-card::after,
.tp-form::after {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: var(--tp-gradient-brand);
  opacity: .95;
}

.tp-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--tp-shadow-lg), var(--tp-shadow-glow);
  border-color: rgba(0,188,212,.28);
}

.tp-card,
.tp-button,
.tp-button-secondary,
.tp-skill-bubble,
.tp-form input,
.tp-form textarea,
.tp-form select,
.tp-resource-finder-form select {
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease, color .2s ease, filter .2s ease;
}

.tp-section-header {
  position: relative;
  margin-bottom: 1.25rem;
}

.tp-section-header h2,
.tp-card h3 {
  font-family: var(--tp-font-display);
  color: var(--tp-navy);
  letter-spacing: -.025em;
}

.tp-section-header h2 {
  margin: 0 0 .35rem;
  font-weight: 800;
}

.tp-section-header p,
.tp-meta-row,
.tp-helper-link,
.tp-bubble-legend {
  color: var(--tp-text-light);
}

.tp-form label,
.tp-resource-finder-form label {
  color: var(--tp-navy);
  font-weight: 800;
}

.tp-form input,
.tp-form textarea,
.tp-form select,
.tp-resource-finder-form select {
  border: 1px solid rgba(143,165,196,.55);
  background: #fff;
  border-radius: 14px;
  color: var(--tp-text);
  box-shadow: var(--tp-shadow-sm);
}

.tp-form input:focus,
.tp-form textarea:focus,
.tp-form select:focus,
.tp-resource-finder-form select:focus {
  outline: none;
  border-color: var(--tp-teal);
  box-shadow: 0 0 0 4px rgba(0,188,212,.14), var(--tp-shadow-sm);
}

.tp-button,
.tp-form button[type="submit"],
.tp-resource-finder-form button[type="submit"] {
  border-radius: 999px;
  background: var(--tp-gradient-brand);
  color: #fff;
  font-weight: 900;
  letter-spacing: .01em;
  box-shadow: 0 10px 24px rgba(21,101,192,.22), 0 0 20px rgba(0,188,212,.12);
  text-decoration: none;
}

.tp-button:hover,
.tp-form button[type="submit"]:hover,
.tp-resource-finder-form button[type="submit"]:hover {
  transform: translateY(-2px);
  filter: saturate(1.08) brightness(1.03);
  box-shadow: 0 14px 30px rgba(21,101,192,.28), 0 0 24px rgba(0,188,212,.22);
  color: #fff;
}

.tp-button-secondary,
a.tp-button-secondary {
  border: 1px solid rgba(21,101,192,.22);
  border-radius: 999px;
  padding: .65rem 1rem;
  background: rgba(240,246,255,.9);
  color: var(--tp-blue);
  font-weight: 850;
  box-shadow: var(--tp-shadow-sm);
}

.tp-button-secondary:hover,
a.tp-button-secondary:hover {
  background: rgba(0,188,212,.1);
  color: var(--tp-navy);
  transform: translateY(-1px);
}

.tp-chip {
  border: 1px solid rgba(0,188,212,.2);
  background: linear-gradient(135deg, rgba(21,101,192,.1), rgba(0,188,212,.12));
  color: var(--tp-navy);
  font-weight: 850;
}

.tp-meta-row {
  border-top: 1px solid rgba(143,165,196,.22);
  padding-top: .75rem;
  margin-top: .75rem;
}

.tp-match-card::before,
.tp-match-card:before {
  background: linear-gradient(90deg, var(--tp-blue), var(--tp-teal), var(--tp-gold));
}

.tp-match-map {
  border: 1px dashed rgba(21,101,192,.28);
  background: linear-gradient(135deg, rgba(21,101,192,.06), rgba(0,188,212,.08));
  color: var(--tp-text);
}

.tp-match-reasons summary {
  color: var(--tp-blue);
}

.tp-notice-inline,
.tp-notice {
  border: 1px solid rgba(255,193,7,.28);
  background: linear-gradient(135deg, rgba(255,193,7,.14), rgba(0,188,212,.08));
  color: var(--tp-navy);
}

.tp-notice.is-success {
  border-color: rgba(0,200,151,.28);
  background: linear-gradient(135deg, rgba(0,200,151,.14), rgba(0,188,212,.08));
  color: #075946;
}

.tp-notice.is-error {
  border-color: rgba(244,67,54,.24);
  background: linear-gradient(135deg, rgba(244,67,54,.1), rgba(255,193,7,.08));
  color: #8b1d16;
}

.tp-skills-bubbles,
.tp-resource-finder {
  background:
    radial-gradient(circle at 8% 0%, rgba(0,188,212,.18), transparent 30%),
    radial-gradient(circle at 96% 8%, rgba(255,193,7,.18), transparent 28%),
    linear-gradient(135deg, #ffffff 0%, var(--tp-off-white) 100%);
}

.tp-skill-bubble {
  background: radial-gradient(circle at 30% 25%, #ffffff 0%, rgba(38,198,218,.86) 40%, var(--tp-blue) 100%);
  color: var(--tp-navy);
  border: 1px solid rgba(255,255,255,.8);
  box-shadow: inset 0 2px 10px rgba(255,255,255,.8), 0 16px 34px rgba(21,101,192,.25), 0 0 18px rgba(0,188,212,.16);
}

.tp-skill-bubble:nth-child(3n+2) {
  background: radial-gradient(circle at 30% 25%, #ffffff 0%, rgba(255,213,79,.88) 40%, var(--tp-gold-deep) 100%);
  box-shadow: inset 0 2px 10px rgba(255,255,255,.8), 0 16px 34px rgba(255,193,7,.24);
}

.tp-skill-bubble:nth-child(3n+3) {
  background: radial-gradient(circle at 30% 25%, #ffffff 0%, rgba(30,136,229,.8) 40%, var(--tp-teal) 100%);
  box-shadow: inset 0 2px 10px rgba(255,255,255,.8), 0 16px 34px rgba(0,188,212,.24);
}

.tp-skill-bubble__name {
  color: var(--tp-navy);
  text-shadow: 0 1px 0 rgba(255,255,255,.45);
}

.tp-skill-bubble__count,
.tp-skill-bubble__rating {
  color: rgba(10,22,40,.8);
}

.tp-bubble-legend {
  border-top: 1px solid rgba(143,165,196,.25);
}

.tp-bubble-legend span::before,
.tp-bubble-legend span:before {
  background: var(--tp-gradient-brand);
  box-shadow: 0 0 10px rgba(0,188,212,.32);
}

.tp-resource-form-shell {
  max-width: min(1120px, 100%);
}

.tp-intake-form.is-readonly input,
.tp-intake-form.is-readonly textarea,
.tp-intake-form.is-readonly select {
  background: rgba(240,246,255,.7);
}

@media (min-width: 1100px) {
  .tp-card-grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  }
}

@media (max-width: 700px) {
  .tp-form,
  .tp-card,
  .tp-matches,
  .tp-skills-bubbles,
  .tp-resource-finder {
    border-radius: var(--tp-radius-xl);
    padding: 1rem;
  }
  .tp-card-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .tp-card-actions .tp-button,
  .tp-card-actions .tp-button-secondary {
    width: 100%;
  }
}


/* v1.4.2: force real bubble-map rendering even inside themes/admin pages with aggressive link/list styles. */
.tp-skills-bubbles .tp-bubble-cloud {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(.65rem, 1.8vw, 1.15rem) !important;
  list-style: none !important;
  margin: 0 !important;
}
.tp-skills-bubbles .tp-skill-bubble,
.tp-skills-bubbles a.tp-skill-bubble,
.tp-skills-bubbles span.tp-skill-bubble {
  box-sizing: border-box !important;
  width: var(--tp-bubble-size, 112px) !important;
  height: var(--tp-bubble-size, 112px) !important;
  min-width: 78px !important;
  min-height: 78px !important;
  max-width: 190px !important;
  max-height: 190px !important;
  aspect-ratio: 1 / 1 !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  vertical-align: middle !important;
  border-radius: 9999px !important;
  padding: .75rem !important;
  line-height: 1.05 !important;
  text-decoration: none !important;
  list-style: none !important;
  white-space: normal !important;
  overflow: hidden !important;
  background: radial-gradient(circle at 30% 25%, #ffffff 0%, rgba(38,198,218,.86) 40%, var(--tp-blue, #1565c0) 100%) !important;
  color: var(--tp-navy, #0a1628) !important;
  border: 1px solid rgba(255,255,255,.85) !important;
  box-shadow: inset 0 2px 10px rgba(255,255,255,.85), 0 16px 34px rgba(21,101,192,.25), 0 0 18px rgba(0,188,212,.16) !important;
}
.tp-skills-bubbles .tp-skill-bubble:hover,
.tp-skills-bubbles .tp-skill-bubble:focus {
  text-decoration: none !important;
  transform: translateY(-4px) scale(1.035) !important;
}
.tp-skills-bubbles .tp-skill-bubble__name,
.tp-skills-bubbles .tp-skill-bubble__count,
.tp-skills-bubbles .tp-skill-bubble__rating {
  display: block !important;
  text-decoration: none !important;
  border-bottom: 0 !important;
}
.tp-skills-bubbles .tp-skill-bubble__name {
  font-weight: 900 !important;
  font-size: clamp(.72rem, calc(var(--tp-bubble-size, 112px) / 8.6), 1.15rem) !important;
}
.tp-skills-bubbles .tp-skill-bubble__count,
.tp-skills-bubbles .tp-skill-bubble__rating {
  font-size: clamp(.62rem, calc(var(--tp-bubble-size, 112px) / 12.5), .86rem) !important;
  font-weight: 800 !important;
  margin-top: .22rem !important;
}
