/* ==========================================================================
   MelóPont — közös szakmaválasztó (PROF-ONE-01, 2026.10.04) — js/prof-picker.js
   Regisztráció + Fiókom, munkavállaló (kék) és cég (zöld). Csak tokenek — tartalékértékkel, mert a Fiókom oldal nem tölti be a melopont-style.css-t.
   ========================================================================== */
.mp-pp { --mp-pp-accent: var(--mp-blue, #0A66C2); --mp-pp-ink: var(--mp-blue-hover, #004182); --mp-pp-soft: var(--mp-blue-light, #E8F0FE); }
.mp-pp[data-role="company"] { --mp-pp-accent: var(--mp-green, #057642); --mp-pp-ink: var(--mp-green-dark, #045E35); --mp-pp-soft: var(--mp-green-light, #E8F5E9); }
.mp-pp, .mp-pp * { box-sizing: border-box; }
.mp-pp-intro { margin: 0 0 14px; font-size: calc(14px * var(--mp-fs, 1)); line-height: 1.5; color: var(--mp-text-muted, #5B6676); }

.mp-pp-picked {
  padding: 14px; margin-bottom: 14px; border-radius: 12px;
  background: var(--mp-pp-soft); border: 1px solid var(--mp-card-border, #E5E7EB);
}
.mp-pp-picked-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 10px; }
.mp-pp-picked-title { font-size: calc(14px * var(--mp-fs, 1)); font-weight: 800; color: var(--mp-text-primary, #191919); }
.mp-pp-count { font-size: calc(14px * var(--mp-fs, 1)); font-weight: 800; color: var(--mp-pp-ink); background: var(--mp-white, #FFFFFF); padding: 2px 10px; border-radius: 999px; }
.mp-pp-list { display: flex; flex-wrap: wrap; gap: 8px; }
.mp-pp-empty { font-size: calc(14px * var(--mp-fs, 1)); color: var(--mp-text-muted, #5B6676); }
.mp-pp-tag {
  display: inline-flex; align-items: center; gap: 6px; max-width: 100%; min-height: 40px; padding: 6px 8px 6px 12px;
  border: 0; border-radius: 999px; background: var(--mp-pp-accent); color: var(--mp-white, #FFFFFF);
  font: inherit; font-size: calc(14px * var(--mp-fs, 1)); font-weight: 700; cursor: pointer; text-align: left;
}
.mp-pp-tag > span:first-child { overflow-wrap: anywhere; }
.mp-pp-tag-x { display: inline-flex; width: 22px; height: 22px; border-radius: 50%; align-items: center; justify-content: center; background: rgba(255, 255, 255, .22); flex-shrink: 0; }
.mp-pp-tag-x svg { width: 12px; height: 12px; }
.mp-pp-tag:hover .mp-pp-tag-x { background: rgba(255, 255, 255, .38); }
.mp-pp-tag[disabled] { background: var(--mp-disabled-bg, #E8E7E4); color: var(--mp-disabled-text, #5E5E5E); cursor: progress; }
.mp-pp-tag[disabled] .mp-pp-tag-x { background: transparent; }

.mp-pp-controls { display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 10px; align-items: end; margin: 0; }
.mp-pp-label { grid-column: 1 / -1; display: block; margin: 0 0 -4px; font-size: calc(14px * var(--mp-fs, 1)); font-weight: 700; color: var(--mp-text-primary, #191919); }
.mp-pp-error { grid-column: 1 / -1; margin: 0; font-size: calc(14px * var(--mp-fs, 1)); font-weight: 600; color: var(--mp-red, #CC1016); }
.mp-pp-error[hidden] { display: none; }
.mp-pp-search { position: relative; min-width: 0; }
.mp-pp-search svg { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; color: var(--mp-text-muted, #5B6676); pointer-events: none; }
.mp-pp-input {
  display: block; width: 100%; min-height: 48px; padding: 11px 14px; margin: 0;
  font: inherit; font-size: calc(16px * var(--mp-fs, 1)); color: var(--mp-text-primary, #191919);
  background: var(--mp-white, #FFFFFF); border: 1.5px solid var(--mp-input-border, #CBD2DC); border-radius: 12px;
  -webkit-appearance: none; appearance: none;
}
.mp-pp-search .mp-pp-input { padding-left: 42px; }
.mp-pp-input:hover { border-color: var(--mp-input-border-hover, #9AA4B2); }
.mp-pp-input:focus { outline: none; border-color: var(--mp-pp-accent); box-shadow: 0 0 0 4px var(--mp-pp-soft); }
.mp-pp-select {
  padding-right: 40px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%235B6676' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center;
}
.rg-field--invalid .mp-pp-input { border-color: var(--mp-red, #CC1016); }

.mp-pp-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; max-height: 320px; overflow-y: auto; padding: 2px; }
.mp-pp-note { margin: 4px 0; font-size: calc(14px * var(--mp-fs, 1)); color: var(--mp-text-muted, #5B6676); }
.mp-pp-chip {
  min-height: 44px; padding: 8px 14px; border-radius: 999px; cursor: pointer;
  border: 1.5px solid var(--mp-input-border, #CBD2DC); background: var(--mp-white, #FFFFFF); color: var(--mp-text-primary, #191919);
  font: inherit; font-size: calc(14px * var(--mp-fs, 1)); font-weight: 600; text-align: left; max-width: 100%; overflow-wrap: anywhere;
}
.mp-pp-chip:hover { border-color: var(--mp-pp-accent); color: var(--mp-pp-ink); }
.mp-pp-chip--on { border-color: var(--mp-pp-accent); background: var(--mp-pp-soft); color: var(--mp-pp-ink); }
.mp-pp-chip[disabled] { cursor: progress; background: var(--mp-disabled-bg, #E8E7E4); color: var(--mp-disabled-text, #5E5E5E); border-color: var(--mp-disabled-border, #D6D5D2); }
.mp-pp-chip:focus-visible, .mp-pp-tag:focus-visible { outline: 3px solid var(--mp-pp-accent); outline-offset: 2px; }

@media (max-width: 560px) {
  .mp-pp-controls { grid-template-columns: minmax(0, 1fr); }
}
