/* V27.7.10.2.7 — shared VIP entity-card editor.
   Venue, Band and Event editors use this file; entity-specific templates only
   describe fields/relationships instead of owning layout CSS. */
.entity-editor-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.entity-editor-title-row h1{margin:0;font-size:clamp(30px,7vw,48px);line-height:1}
.entity-editor-title-row a{color:#c084fc;font-weight:900;text-decoration:none;white-space:nowrap}
.entity-editor-card{width:100%;max-width:800px;margin:0 auto;padding:4px;box-sizing:border-box;min-width:0}
.entity-editor-form{display:flex;flex-direction:column;gap:16px;min-width:0}
.entity-editor-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.entity-editor-field>span,.entity-editor-link-row label>span{color:#c7d2fe;font-weight:900}
.entity-editor-field small,.entity-editor-section p,.entity-editor-source-panel small,.entity-editor-photo-panel small{margin:0;color:#94a3b8;font-size:11px;line-height:1.35}
.entity-editor-field input,.entity-editor-field textarea,.entity-editor-field select,.entity-editor-link-row input,.entity-editor-source-panel input,.entity-editor-photo-panel input{width:100%;min-width:0;box-sizing:border-box;padding:10px;border:1px solid #334155;border-radius:8px;background:#1e293b;color:#fff;font:inherit}
.entity-editor-field textarea{resize:vertical}
.entity-editor-two-col{display:grid;grid-template-columns:1fr 1fr;gap:15px;min-width:0}
.entity-editor-section{padding:12px;border:1px solid #334155;border-radius:12px;background:rgba(15,23,42,.72);min-width:0}
.entity-editor-section h2{margin:0 0 7px;font-size:20px}
.entity-editor-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}
.entity-editor-url-row{display:flex;align-items:center;gap:7px;min-width:0;width:100%}
.entity-editor-url-row>input{flex:1 1 auto;min-width:0;max-width:100%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}
.entity-editor-open-url{flex:0 0 auto;min-width:64px;min-height:39px;padding:7px 10px;border:1px solid #60a5fa;border-radius:8px;background:#173b72;color:#dbeafe;font-weight:900;cursor:pointer;white-space:nowrap}
.entity-editor-open-url:hover,.entity-editor-open-url:active{background:#1d4ed8;color:#fff}
.entity-editor-open-url[hidden]{display:none!important}
.entity-editor-url-row.is-image-url>input{border-color:#38bdf8;background:#10243a}
.entity-editor-display-section{display:flex;flex-direction:column;gap:12px}
.entity-editor-preview{display:grid;grid-template-columns:minmax(150px,240px) minmax(0,1fr);gap:12px;align-items:center;padding:10px;border:2px solid #475569;border-radius:12px;background:#05070d}
.entity-editor-preview-stage{height:150px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid #334155;border-radius:9px;background:#000}
.entity-editor-preview-stage img{display:block;width:100%;height:100%;object-fit:contain;background:#000}
.entity-editor-preview-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
.entity-editor-preview-copy strong{color:#fff;font-size:16px}
.entity-editor-preview-copy span{color:#86efac;font-size:12px;font-weight:800;line-height:1.35;overflow-wrap:anywhere}
.entity-editor-source-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:10px;border:1px solid #475569;border-radius:10px}
.entity-editor-source-picker.two-options{grid-template-columns:repeat(2,minmax(0,1fr))}
.entity-editor-source-picker legend{padding:0 5px;color:#c7d2fe;font-weight:900}
.entity-editor-source-choice{display:flex;align-items:flex-start;gap:8px;min-width:0;padding:10px;border:2px solid #334155;border-radius:10px;background:#0b1220;color:#e2e8f0;cursor:pointer;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}
.entity-editor-source-choice>input{flex:0 0 auto;margin-top:3px}
.entity-editor-source-choice>span{display:flex;flex-direction:column;gap:3px;min-width:0}
.entity-editor-source-choice strong{font-size:13px;color:#fff}
.entity-editor-source-choice small{font-size:10px;line-height:1.3;color:#94a3b8}
.entity-editor-source-choice.is-selected{border-color:#4ade80;background:#12351f;box-shadow:0 0 0 2px rgba(74,222,128,.18) inset}
.entity-editor-source-choice.is-selected strong{color:#86efac}
.entity-editor-source-panel,.entity-editor-photo-panel{display:flex;flex-direction:column;gap:7px;min-width:0;padding:10px;border:2px solid #334155;border-radius:10px;background:#0b1220;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}
.entity-editor-source-panel.is-selected{border-color:#4ade80;background:#10291a;box-shadow:0 0 0 2px rgba(74,222,128,.15) inset}
.entity-editor-source-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;color:#c7d2fe}
.entity-editor-source-panel-head>strong{min-width:0}
.entity-editor-source-panel-head small{font-size:10px;color:#94a3b8;font-weight:700}
.entity-editor-selected-badge{display:none;flex:0 0 auto;padding:4px 7px;border-radius:999px;background:#16a34a;color:#fff;font-size:9px;font-weight:1000;text-transform:uppercase;letter-spacing:.04em}
.entity-editor-source-panel.is-selected .entity-editor-selected-badge{display:inline-flex}
.entity-editor-link-list{display:flex;flex-direction:column;gap:9px;margin-top:10px}
.entity-editor-link-row{display:grid;grid-template-columns:120px minmax(0,1.25fr) minmax(0,1fr) auto;gap:8px;align-items:end;min-width:0;padding:9px;border:1px solid #334155;border-radius:10px;background:#0b1220}
.entity-editor-link-row label{display:flex;flex-direction:column;gap:5px;min-width:0;font-size:12px}
.entity-editor-remove-link,.entity-editor-small-button,.entity-editor-undo,.entity-editor-save{border-radius:8px;font-weight:900;cursor:pointer}
.entity-editor-remove-link{min-height:39px;padding:7px 9px;border:1px solid #7f1d1d;background:#3f1212;color:#fecaca}
.entity-editor-small-button{flex:0 0 auto;min-height:34px;padding:6px 10px;border:1px solid #60a5fa;background:#1d4ed8;color:#fff}
.entity-editor-no-links{margin-top:9px;padding:10px;border:1px dashed #475569;border-radius:9px;color:#94a3b8;text-align:center;font-size:12px}
.entity-editor-checks{display:flex;flex-direction:column;gap:8px}
.entity-editor-checks label{display:flex;align-items:center;gap:9px;color:#dbeafe}
.entity-editor-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px}
.entity-editor-undo{padding:10px 16px;border:1px solid #64748b;background:#374151;color:#fff}
.entity-editor-save{padding:10px 20px;border:0;background:#1976d2;color:#fff;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.entity-editor-actions a{color:#94a3b8;font-weight:900;text-decoration:none}
.entity-editor-picker-button{width:100%;padding:10px;border:1px solid #60a5fa;border-radius:8px;background:#172033;color:#fff;text-align:left;font-weight:800;cursor:pointer}
.entity-editor-picker-button .change{float:right;color:#93c5fd}
.entity-editor-fmd-card{max-width:600px;max-height:82vh;overflow:auto}
.entity-editor-fmd-search{width:100%;box-sizing:border-box;margin:10px 0;padding:10px;border:1px solid #475569;border-radius:8px;background:#0f172a;color:#fff}
.entity-editor-fmd-options{display:flex;flex-direction:column;gap:6px}
.entity-editor-fmd-option{padding:9px 10px;border:1px solid #475569;border-radius:8px;background:#172033;color:#fff;text-align:left;font-weight:800;cursor:pointer}
.entity-editor-fmd-option:hover,.entity-editor-fmd-option:active{background:#22304a;border-color:#60a5fa}
.entity-editor-divider{border:0;border-top:1px solid #334155;margin:28px 0 22px}
.entity-editor-legacy{width:100%;max-width:800px;margin:0 auto}
.entity-editor-legacy-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;flex-wrap:wrap}
.entity-editor-legacy-head h2{margin:0 0 4px;font-size:clamp(22px,5vw,30px)}
.entity-editor-legacy-head p{margin:0;color:#94a3b8}
.entity-editor-add-action{display:inline-block;background:#1976d2;color:#fff;border-radius:8px;padding:9px 14px;font-size:14px;font-weight:900;text-decoration:none;white-space:nowrap}
.entity-editor-legacy-list{display:flex;flex-direction:column;gap:10px}
.entity-editor-legacy-row{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#111827;border:1px solid #334155;border-radius:10px;padding:12px 14px}
.entity-editor-legacy-row-title{font-size:17px;font-weight:900;color:#fff}
.entity-editor-legacy-row-meta{margin-top:4px;color:#94a3b8;font-size:13px}
.entity-editor-legacy-actions{display:flex;align-items:center;gap:10px;white-space:nowrap}
.entity-editor-legacy-actions a,.entity-editor-link-button{color:#7ab8ff;text-decoration:none;font-weight:900}
.entity-editor-danger-link{background:none;border:0;padding:0;color:#f87171;font:inherit;font-weight:900;cursor:pointer}
.entity-editor-empty{background:#111827;border:1px solid #334155;border-radius:10px;padding:18px;color:#94a3b8}

@media(max-width:700px){
  .entity-editor-card{padding:0}
  .entity-editor-section{padding:9px}
  .entity-editor-preview{grid-template-columns:1fr}
  .entity-editor-preview-stage{height:180px}
  .entity-editor-source-picker,.entity-editor-source-picker.two-options{grid-template-columns:1fr}
  .entity-editor-two-col{grid-template-columns:1fr}
  .entity-editor-link-row{grid-template-columns:1fr auto}
  .entity-editor-link-type,.entity-editor-link-url,.entity-editor-link-embed{grid-column:1}
  .entity-editor-remove-link{grid-column:2;grid-row:1 / span 3;align-self:stretch}
  .entity-editor-section-head{align-items:center}
  .entity-editor-url-row{display:block;width:100%}
  .entity-editor-url-row>input{display:block;width:100%;max-width:none}
  .entity-editor-open-url{display:none!important}
  .entity-editor-legacy-row{align-items:flex-start;flex-direction:column}
  .entity-editor-legacy-actions{width:100%;justify-content:flex-end;flex-wrap:wrap}
}
@media(max-width:430px){
  .entity-editor-link-row{grid-template-columns:minmax(0,1fr) 66px}
  .entity-editor-remove-link{padding:7px 6px;font-size:11px}
}

/* V27.7.10.4.3 shared link/embed editor. */
.entity-editor-link-row select{
  width:100%;min-width:0;box-sizing:border-box;padding:10px;border:1px solid #334155;
  border-radius:8px;background:#1e293b;color:#fff;font:inherit;font-weight:800;
}
.entity-editor-test-embed{
  flex:0 0 auto;min-width:94px;min-height:39px;padding:7px 10px;border:1px solid #a78bfa;
  border-radius:8px;background:#4c1d95;color:#f5f3ff;font-weight:900;cursor:pointer;white-space:nowrap;
}
.entity-editor-test-embed:hover,.entity-editor-test-embed:active{background:#6d28d9;border-color:#c4b5fd}
.entity-editor-embed-row>input{border-color:#6d5ca8}
.entity-editor-embed-test-modal{z-index:210!important}
.entity-editor-embed-test-card{width:min(760px,96vw)!important;max-width:760px!important;padding:16px!important}
.entity-editor-embed-test-url{margin:6px 34px 8px 0;color:#c4b5fd;font-size:11px;font-weight:800;overflow-wrap:anywhere}
.entity-editor-embed-test-note{margin:0 0 10px;color:#cbd5e1;font-size:12px;line-height:1.35}
.entity-editor-embed-test-frame-shell{width:100%;height:min(58vh,480px);min-height:260px;overflow:hidden;border:2px solid #475569;border-radius:10px;background:#000}
.entity-editor-embed-test-frame-shell iframe{display:block;width:100%;height:100%;border:0;background:#000}
.entity-editor-embed-test-status{min-height:34px;margin-top:9px;padding:8px 10px;border:1px solid #334155;border-radius:8px;background:#0f172a;color:#93c5fd;font-size:12px;line-height:1.35}
.entity-editor-embed-test-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:10px;flex-wrap:wrap}
.entity-editor-embed-test-actions button:disabled{opacity:.45;cursor:default}

@media(max-width:700px){
  .entity-editor-test-embed{display:block;width:100%;margin-top:7px;min-height:36px}
  .entity-editor-embed-test-card{width:96vw!important;padding:12px!important}
  .entity-editor-embed-test-frame-shell{height:50vh;min-height:240px}
}

/* V28.1.3.25 — editor controls belong where operators use them first. */
.entity-editor-actions-top{margin:0 0 2px;padding:9px 10px;border:1px solid #334155;border-radius:10px;background:rgba(15,23,42,.78)}
.entity-editor-preview-media{display:flex;flex-direction:column;gap:8px;min-width:0}
.entity-editor-preview-photo-field{margin:0}
.entity-editor-preview-photo-field>span{font-size:12px}
@media(max-width:700px){
  .entity-editor-actions-top{position:sticky;top:0;z-index:8}
}
