/* =========================================================
   ECHOHOLICS SUBMISSIONS — review dashboard styles.
   Hardcoded hex per theme, no CSS custom properties (add-on rule).
   Portal chrome is owned by Portal Starter Kit.
========================================================= */

.ech-submissions-app { font-family: "Just Sanz", -apple-system, "Segoe UI", Helvetica, Arial, sans-serif; }
.ech-submissions-app * { box-sizing: border-box; }
.ech-submissions-app input,
.ech-submissions-app textarea,
.ech-submissions-app select { font-family: inherit; }

/* ---------- Buttons: reset every <button> up front ---------- */
.ech-submissions-app button {
  all: unset !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  font-family: "Just Sanz", -apple-system, "Segoe UI", Helvetica, Arial, sans-serif !important;
}
.ech-submissions-app .ech-sub-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 9px 18px !important;
  border-radius: 6px !important;
  border-width: 1px !important;
  border-style: solid !important;
  white-space: nowrap !important;
}
.ech-submissions-app .ech-sub-btn:disabled { opacity: 0.55 !important; cursor: not-allowed !important; }

/* ---------- Toolbar ---------- */
.ech-sub-toolbar {
  display: flex; flex-wrap: wrap; align-items: center; gap: 12px;
  margin-bottom: 20px;
}
.ech-sub-filters { display: flex; flex-wrap: wrap; gap: 6px; }
/* Anchors, so Elementor's global link colour applies unless forced —
   colours below are !important for that reason, not by habit. */
.ech-submissions-app .ech-sub-tab {
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 10px; letter-spacing: 0.10em; text-transform: uppercase;
  padding: 9px 22px; border-radius: 999px; text-decoration: none !important;
  border-width: 1px; border-style: solid;
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 74px; line-height: 1;
}
.ech-sub-search { display: flex; gap: 8px; margin-left: auto; }
/* Inputs carry !important because these render on public pages too,
   where Elementor's own global form-field styling applies and would
   otherwise win. */
.ech-sub-input, .ech-sub-select, .ech-sub-textarea {
  border-radius: 6px !important; padding: 11px 14px !important; font-size: 14px !important;
  border-width: 1px !important; border-style: solid !important; width: 100% !important;
  box-shadow: none !important; line-height: 1.4 !important;
}
.ech-sub-search .ech-sub-input { min-width: 220px; }
.ech-sub-textarea { resize: vertical; min-height: 62px; line-height: 1.5; }
.ech-sub-count {
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 11px; letter-spacing: 0.06em;
}

/* ---------- List ---------- */
.ech-sub-list { display: flex; flex-direction: column; gap: 10px; }
.ech-sub-item { border-radius: 10px; border-width: 1px; border-style: solid; overflow: hidden; }

/* Scoped with .ech-submissions-app so these beat the `all: unset` reset
   above (that rule is 0-1-1, so an unscoped 0-1-0 rule loses to it).
   EVERY property here also needs !important: an !important declaration
   beats a normal one regardless of specificity, so leaving even one
   property unmarked lets `all: unset !important` reset it. That's what
   was flattening the grid — display won, grid-template-columns didn't. */
.ech-submissions-app .ech-sub-summary {
  display: grid !important;
  grid-template-columns: 22px minmax(150px, 1.3fr) minmax(120px, 1.5fr) auto auto auto 96px !important;
  align-items: center !important;
  gap: 16px !important;
  width: 100% !important;
  padding: 16px 20px !important;
  text-align: left !important;
  grid-auto-flow: row !important;
}
.ech-sub-chevron svg { width: 15px; height: 15px; stroke: currentColor; transition: transform 0.15s ease; }
.ech-sub-item.is-open .ech-sub-chevron svg { transform: rotate(90deg); }

.ech-sub-identity { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ech-sub-identity > * { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ech-sub-artist { font-weight: 600; font-size: 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ech-sub-person { font-size: 12px; }

.ech-sub-tags { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
.ech-sub-tags-full { margin-top: 2px; }
.ech-sub-chip {
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 9.5px; letter-spacing: 0.08em; text-transform: uppercase;
  padding: 6px 14px; border-radius: 999px; white-space: nowrap;
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 58px; line-height: 1;
}

.ech-sub-votes-mini { display: flex; gap: 4px; }
.ech-vote-pip {
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 10px; font-weight: 700;
  min-width: 22px; height: 22px; border-radius: 5px;
  display: inline-flex; align-items: center; justify-content: center;
}

.ech-sub-notecount {
  display: inline-flex; align-items: center; gap: 5px;
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace; font-size: 11px;
}
.ech-sub-notecount svg { width: 14px; height: 14px; stroke: currentColor; }

.ech-sub-status-badge {
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 9.5px; letter-spacing: 0.08em; text-transform: uppercase;
  padding: 5px 10px; border-radius: 4px; white-space: nowrap;
  display: inline-flex; align-items: center; justify-content: center;
  justify-self: start; /* stop it stretching to fill its grid column */
}
.ech-sub-date { font-size: 12px; white-space: nowrap; justify-self: end; }
.ech-sub-votes-mini, .ech-sub-notecount { justify-self: start; }

/* ---------- Pagination / tabs / dupes / archive ---------- */
.ech-sub-pagination {
  display: flex; align-items: center; justify-content: center; gap: 18px;
  margin-top: 20px; padding: 14px 0;
}
.ech-submissions-app .ech-sub-page-link {
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 11px; letter-spacing: 0.06em; text-decoration: none !important;
  padding: 9px 18px; border-radius: 6px; border-width: 1px; border-style: solid;
  display: inline-flex; align-items: center;
}
.ech-submissions-app .ech-sub-page-link.is-disabled { opacity: 0.35; pointer-events: none; }
.ech-sub-page-status { font-family: "JetBrains Mono", ui-monospace, Menlo, monospace; font-size: 11px; }

.ech-tab-count {
  font-size: 9px; margin-left: 7px; padding: 2px 6px; border-radius: 999px;
  line-height: 1; display: inline-block;
}

.ech-dupe-flag {
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 9px; padding: 3px 7px; border-radius: 999px; margin-left: 8px;
  vertical-align: middle; white-space: nowrap;
}

.ech-submissions-app .ech-archive-btn { width: 100% !important; margin-top: 10px !important; }

/* ---------- Detail ---------- */
.ech-sub-detail { padding: 4px 16px 20px; border-top-width: 1px; border-top-style: solid; }
/* minmax(0, 1fr) rather than 1fr: a grid track's implicit min-width is
   auto, so one unbreakable string — a pasted SoundCloud URL, say —
   widens the column and shoves the sidebar off screen. */
.ech-sub-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; padding-top: 16px; }
.ech-sub-detail-grid > * { min-width: 0; }
.ech-sub-block { margin-bottom: 22px; }
.ech-sub-block:last-child { margin-bottom: 0; }
.ech-sub-h4 {
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase;
  margin: 0 0 10px;
}
/* Submissions are pasted in by strangers, so the content includes long
   URLs and occasional walls of unspaced text. overflow-wrap: anywhere
   breaks those; break-word alone leaves some cases unhandled. */
.ech-sub-text {
  font-size: 14px; line-height: 1.65; margin: 0;
  overflow-wrap: anywhere; word-break: break-word;
}
.ech-sub-text a { word-break: break-all; }
.ech-sub-hint { font-size: 12px; margin: 8px 0 0; }

.ech-sub-linklist { list-style: none; margin: 0; padding: 0; }
.ech-sub-linklist li { padding: 5px 0; font-size: 13px; }
.ech-sub-linklist a { text-decoration: none; word-break: break-all; }
.ech-sub-linklist a:hover { text-decoration: underline; }
.ech-sub-nolink { font-size: 13px; }

.ech-sub-meta { list-style: none; margin: 0; padding: 0; }
.ech-sub-meta li { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; font-size: 13px; border-top-width: 1px; border-top-style: solid; }
.ech-sub-meta li:first-child { border-top: none; }
.ech-sub-meta li span { flex-shrink: 0; }
.ech-sub-meta a { text-decoration: none; word-break: break-all; }

/* ---------- Votes ---------- */
.ech-vote-controls { display: flex; gap: 6px; }
.ech-submissions-app .ech-vote-btn {
  flex: 1 !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace !important;
  font-size: 10px !important; letter-spacing: 0.08em !important; text-transform: uppercase !important;
  padding: 11px 10px !important; border-radius: 6px !important;
  border-width: 1px !important; border-style: solid !important;
  line-height: 1 !important;
}

.ech-voter-list { list-style: none; margin: 12px 0 0; padding: 0; }
.ech-voter-list li { display: flex; align-items: center; gap: 8px; font-size: 12px; padding: 4px 0; }
.ech-voter-list em { font-style: normal; margin-left: auto; font-family: "JetBrains Mono", ui-monospace, Menlo, monospace; font-size: 10px; text-transform: uppercase; }
.ech-vote-dot { width: 8px; height: 8px; border-radius: 999px; flex-shrink: 0; }

/* ---------- Notes ---------- */
.ech-sub-notes { display: flex; flex-direction: column; gap: 10px; margin-bottom: 12px; }
.ech-sub-note { border-radius: 8px; padding: 12px 14px; border-width: 1px; border-style: solid; }
.ech-sub-note-head { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 6px; font-size: 12px; }
.ech-sub-note-head span { font-family: "JetBrains Mono", ui-monospace, Menlo, monospace; font-size: 10px; }
.ech-sub-note-body { font-size: 13px; line-height: 1.6; }
.ech-sub-note-form { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }

.ech-sub-card { border-radius: 10px; padding: 24px; border-width: 1px; border-style: solid; }
.ech-sub-notice { text-align: center; font-size: 14px; }

@media (max-width: 900px) {
  .ech-sub-detail-grid { grid-template-columns: minmax(0, 1fr); }
  .ech-submissions-app .ech-sub-summary { grid-template-columns: 22px minmax(0, 1fr) auto !important; row-gap: 10px !important; }
  .ech-sub-tags, .ech-sub-date { display: none; }
  .ech-sub-search { margin-left: 0; width: 100%; }
}

/* =========================================================
   DARK — priority
========================================================= */
html:not(.psk-theme-light) .ech-sub-item { background: #161616; border-color: #2A2A2A; }
html:not(.psk-theme-light) .ech-sub-item.is-open { border-color: #3A3A3A; }
html:not(.psk-theme-light) .ech-sub-summary { color: #E3E3E3; }
html:not(.psk-theme-light) .ech-sub-summary:hover { background: #1A1A1A; }
html:not(.psk-theme-light) .ech-sub-chevron { color: #6B6B6B; }
html:not(.psk-theme-light) .ech-sub-artist { color: #E3E3E3; }
html:not(.psk-theme-light) .ech-sub-person { color: #9A9A9A; }
html:not(.psk-theme-light) .ech-sub-date { color: #6B6B6B; }
html:not(.psk-theme-light) .ech-sub-count { color: #6B6B6B; }
html:not(.psk-theme-light) .ech-sub-notecount { color: #9A9A9A; }

html:not(.psk-theme-light) .ech-sub-chip { background: #12202B; color: #83BDE7; }
html:not(.psk-theme-light) .ech-sub-chip-genre { background: #1E1E1E; color: #9A9A9A; }

html:not(.psk-theme-light) .ech-sub-tab { background: #161616; border-color: #2A2A2A; color: #9A9A9A !important; }
html:not(.psk-theme-light) .ech-sub-tab:hover { border-color: #4B9BD5; color: #83BDE7 !important; }
html:not(.psk-theme-light) .ech-sub-tab.is-active { background: #33769F; border-color: transparent; color: #FFFFFF !important; }

html:not(.psk-theme-light) .ech-sub-input,
html:not(.psk-theme-light) .ech-sub-select,
html:not(.psk-theme-light) .ech-sub-textarea { background: #1E1E1E !important; border-color: #3A3A3A !important; color: #E3E3E3 !important; }
html:not(.psk-theme-light) .ech-sub-input::placeholder,
html:not(.psk-theme-light) .ech-sub-textarea::placeholder { color: #6B6B6B; }
html:not(.psk-theme-light) .ech-sub-input:focus,
html:not(.psk-theme-light) .ech-sub-select:focus,
html:not(.psk-theme-light) .ech-sub-textarea:focus { border-color: #4B9BD5; outline: 2px solid #4B9BD5; outline-offset: 2px; }

html:not(.psk-theme-light) .ech-sub-detail { border-top-color: #2A2A2A; background: #121212; }
html:not(.psk-theme-light) .ech-sub-h4 { color: #83BDE7; }
html:not(.psk-theme-light) .ech-sub-text { color: #E3E3E3; }
html:not(.psk-theme-light) .ech-sub-hint { color: #6B6B6B; }
html:not(.psk-theme-light) .ech-sub-linklist a { color: #83BDE7; }
html:not(.psk-theme-light) .ech-sub-nolink { color: #9A9A9A; }
html:not(.psk-theme-light) .ech-sub-meta li { border-top-color: #2A2A2A; color: #E3E3E3; }
html:not(.psk-theme-light) .ech-sub-meta li span { color: #6B6B6B; }
html:not(.psk-theme-light) .ech-sub-meta a { color: #83BDE7; }

html:not(.psk-theme-light) .ech-sub-btn-pri { background: #33769F !important; border-color: transparent !important; color: #FFFFFF !important; }
html:not(.psk-theme-light) .ech-sub-btn-pri:hover:not(:disabled) { background: #3A86B7 !important; }
html:not(.psk-theme-light) .ech-sub-btn-sec { background: transparent !important; border-color: #3A3A3A !important; color: #E3E3E3 !important; }
html:not(.psk-theme-light) .ech-sub-btn-sec:hover:not(:disabled) { border-color: #4B9BD5 !important; color: #83BDE7 !important; }

html:not(.psk-theme-light) .ech-vote-btn { background: #1E1E1E !important; border-color: #3A3A3A !important; color: #9A9A9A !important; }
html:not(.psk-theme-light) .ech-vote-btn-yes.is-active { background: #14532D !important; border-color: transparent !important; color: #4ADE80 !important; }
html:not(.psk-theme-light) .ech-vote-btn-maybe.is-active { background: #3B2F0B !important; border-color: transparent !important; color: #F5B93B !important; }
html:not(.psk-theme-light) .ech-vote-btn-no.is-active { background: #3F1A1A !important; border-color: transparent !important; color: #F87171 !important; }

html:not(.psk-theme-light) .ech-vote-pip { background: #1E1E1E; color: #6B6B6B; }
html:not(.psk-theme-light) .ech-vote-pip.ech-vote-yes { color: #4ADE80; }
html:not(.psk-theme-light) .ech-vote-pip.ech-vote-maybe { color: #F5B93B; }
html:not(.psk-theme-light) .ech-vote-pip.ech-vote-no { color: #F87171; }

html:not(.psk-theme-light) .ech-voter-list li { color: #E3E3E3; }
html:not(.psk-theme-light) .ech-voter-list em { color: #6B6B6B; }
html:not(.psk-theme-light) .ech-vote-dot.ech-vote-yes { background: #4ADE80; }
html:not(.psk-theme-light) .ech-vote-dot.ech-vote-maybe { background: #F5B93B; }
html:not(.psk-theme-light) .ech-vote-dot.ech-vote-no { background: #F87171; }

html:not(.psk-theme-light) .ech-sub-note { background: #161616; border-color: #2A2A2A; }
html:not(.psk-theme-light) .ech-sub-note-head strong { color: #E3E3E3; }
html:not(.psk-theme-light) .ech-sub-note-head span { color: #6B6B6B; }
html:not(.psk-theme-light) .ech-sub-note-body { color: #9A9A9A; }

html:not(.psk-theme-light) .ech-status-pending { background: rgba(245,185,59,0.14); color: #F5B93B; }
html:not(.psk-theme-light) .ech-status-in-review { background: #12202B; color: #83BDE7; }
html:not(.psk-theme-light) .ech-status-approved { background: rgba(74,222,128,0.14); color: #4ADE80; }
html:not(.psk-theme-light) .ech-status-declined { background: rgba(248,113,113,0.14); color: #F87171; }
html:not(.psk-theme-light) .ech-status-on-hold { background: #1E1E1E; color: #9A9A9A; }

html:not(.psk-theme-light) .ech-sub-card { background: #161616; border-color: #2A2A2A; color: #9A9A9A; }

/* =========================================================
   LIGHT — DRAFT, extrapolated; pending approval like the others
========================================================= */
html.psk-theme-light .ech-sub-item { background: #FFFFFF; border-color: #E3E3E3; }
html.psk-theme-light .ech-sub-item.is-open { border-color: #D1D1CE; }
html.psk-theme-light .ech-sub-summary { color: #0E0E0E; }
html.psk-theme-light .ech-sub-summary:hover { background: #F7F7F5; }
html.psk-theme-light .ech-sub-chevron { color: #8A8A86; }
html.psk-theme-light .ech-sub-artist { color: #0E0E0E; }
html.psk-theme-light .ech-sub-person { color: #4A4A4A; }
html.psk-theme-light .ech-sub-date { color: #6B6B6B; }
html.psk-theme-light .ech-sub-count { color: #6B6B6B; }
html.psk-theme-light .ech-sub-notecount { color: #4A4A4A; }

html.psk-theme-light .ech-sub-chip { background: #EAF2F8; color: #33769F; }
html.psk-theme-light .ech-sub-chip-genre { background: #F0F0EE; color: #6B6B6B; }

html.psk-theme-light .ech-sub-tab { background: #FFFFFF; border-color: #D1D1CE; color: #4A4A4A !important; }
html.psk-theme-light .ech-sub-tab:hover { border-color: #33769F; color: #33769F !important; }
html.psk-theme-light .ech-sub-tab.is-active { background: #33769F; border-color: transparent; color: #FFFFFF !important; }

html.psk-theme-light .ech-sub-input,
html.psk-theme-light .ech-sub-select,
html.psk-theme-light .ech-sub-textarea { background: #F7F7F5 !important; border-color: #D1D1CE !important; color: #0E0E0E !important; }
html.psk-theme-light .ech-sub-input::placeholder,
html.psk-theme-light .ech-sub-textarea::placeholder { color: #8A8A86; }
html.psk-theme-light .ech-sub-input:focus,
html.psk-theme-light .ech-sub-select:focus,
html.psk-theme-light .ech-sub-textarea:focus { border-color: #33769F; outline: 2px solid #33769F; outline-offset: 2px; }

html.psk-theme-light .ech-sub-detail { border-top-color: #E3E3E3; background: #FAFAF8; }
html.psk-theme-light .ech-sub-h4 { color: #33769F; }
html.psk-theme-light .ech-sub-text { color: #0E0E0E; }
html.psk-theme-light .ech-sub-hint { color: #6B6B6B; }
html.psk-theme-light .ech-sub-linklist a { color: #33769F; }
html.psk-theme-light .ech-sub-nolink { color: #4A4A4A; }
html.psk-theme-light .ech-sub-meta li { border-top-color: #E3E3E3; color: #0E0E0E; }
html.psk-theme-light .ech-sub-meta li span { color: #6B6B6B; }
html.psk-theme-light .ech-sub-meta a { color: #33769F; }

html.psk-theme-light .ech-sub-btn-pri { background: #33769F !important; border-color: transparent !important; color: #FFFFFF !important; }
html.psk-theme-light .ech-sub-btn-pri:hover:not(:disabled) { background: #3A86B7 !important; }
html.psk-theme-light .ech-sub-btn-sec { background: transparent !important; border-color: #D1D1CE !important; color: #0E0E0E !important; }
html.psk-theme-light .ech-sub-btn-sec:hover:not(:disabled) { border-color: #33769F !important; color: #33769F !important; }

html.psk-theme-light .ech-vote-btn { background: #F7F7F5 !important; border-color: #D1D1CE !important; color: #6B6B6B !important; }
html.psk-theme-light .ech-vote-btn-yes.is-active { background: #DCFCE7 !important; border-color: transparent !important; color: #166534 !important; }
html.psk-theme-light .ech-vote-btn-maybe.is-active { background: #FEF3C7 !important; border-color: transparent !important; color: #92400E !important; }
html.psk-theme-light .ech-vote-btn-no.is-active { background: #FEE2E2 !important; border-color: transparent !important; color: #991B1B !important; }

html.psk-theme-light .ech-vote-pip { background: #F0F0EE; color: #8A8A86; }
html.psk-theme-light .ech-vote-pip.ech-vote-yes { color: #166534; }
html.psk-theme-light .ech-vote-pip.ech-vote-maybe { color: #92400E; }
html.psk-theme-light .ech-vote-pip.ech-vote-no { color: #991B1B; }

html.psk-theme-light .ech-voter-list li { color: #0E0E0E; }
html.psk-theme-light .ech-voter-list em { color: #6B6B6B; }
html.psk-theme-light .ech-vote-dot.ech-vote-yes { background: #16A34A; }
html.psk-theme-light .ech-vote-dot.ech-vote-maybe { background: #B45309; }
html.psk-theme-light .ech-vote-dot.ech-vote-no { background: #DC2626; }

html.psk-theme-light .ech-sub-note { background: #FFFFFF; border-color: #E3E3E3; }
html.psk-theme-light .ech-sub-note-head strong { color: #0E0E0E; }
html.psk-theme-light .ech-sub-note-head span { color: #6B6B6B; }
html.psk-theme-light .ech-sub-note-body { color: #4A4A4A; }

html.psk-theme-light .ech-status-pending { background: rgba(217,119,6,0.10); color: #B45309; }
html.psk-theme-light .ech-status-in-review { background: #EAF2F8; color: #33769F; }
html.psk-theme-light .ech-status-approved { background: rgba(22,163,74,0.10); color: #16A34A; }
html.psk-theme-light .ech-status-declined { background: rgba(220,38,38,0.10); color: #DC2626; }
html.psk-theme-light .ech-status-on-hold { background: #F0F0EE; color: #6B6B6B; }

html.psk-theme-light .ech-sub-card { background: #FFFFFF; border-color: #E3E3E3; color: #4A4A4A; }

/* =========================================================
   PUBLIC SUBMISSION FORM
========================================================= */
.ech-subform-app { font-family: "Just Sanz", -apple-system, "Segoe UI", Helvetica, Arial, sans-serif; max-width: 760px; }
.ech-subform-app * { box-sizing: border-box; }
.ech-subform-app input, .ech-subform-app textarea, .ech-subform-app select { font-family: inherit; }

/* Same reset + rescoping pattern as the review UI above. */
.ech-subform-app button {
  all: unset !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  font-family: "Just Sanz", -apple-system, "Segoe UI", Helvetica, Arial, sans-serif !important;
}
.ech-subform-app .ech-sub-btn {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  font-size: 14px !important; font-weight: 600 !important;
  padding: 13px 30px !important; border-radius: 6px !important;
  border-width: 1px !important; border-style: solid !important;
}
.ech-subform-app .ech-sub-btn:disabled { opacity: 0.55 !important; cursor: not-allowed !important; }
.ech-subform-app .ech-pick-pill {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace !important;
  font-size: 10px !important; letter-spacing: 0.08em !important; text-transform: uppercase !important;
  padding: 10px 20px !important; border-radius: 999px !important;
  border-width: 1px !important; border-style: solid !important;
  line-height: 1 !important;
}

.ech-subform-card { padding: 28px; }
.ech-subform-card-bare { padding: 0; background: none !important; border: none !important; }
.ech-subform-section { margin-bottom: 32px; }
.ech-subform-section:last-child { margin-bottom: 0; }
.ech-subform-h3 { font-family: "Gunterz", Georgia, serif; font-weight: 600; font-size: 20px; margin: 0 0 18px; }
.ech-subform-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.ech-subform-field { margin-bottom: 18px; }
.ech-subform-label { display: block; font-weight: 600; font-size: 13px; margin-bottom: 7px; }
.ech-req { font-weight: 400; }
.ech-pill-picker { display: flex; flex-wrap: wrap; gap: 8px; }
.ech-featured-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 10px; margin-bottom: 8px; }
.ech-check-row { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; line-height: 1.5; margin-bottom: 12px; cursor: pointer; }
.ech-check-row input[type="checkbox"] { width: 16px; height: 16px; margin-top: 2px; flex-shrink: 0; }
.ech-subform-error { border-radius: 6px; padding: 12px 14px; font-size: 13px; margin: 16px 0; }
.ech-subform-submit { width: 100%; margin-top: 8px; }
.ech-sub-turnstile { margin: 16px 0; }

/* Honeypot — moved off-screen rather than display:none, since some bots
   deliberately skip fields that are hidden outright. */
.ech-hp-wrap {
  position: absolute !important; left: -9999px !important;
  width: 1px; height: 1px; overflow: hidden;
}

@media (max-width: 680px) {
  .ech-subform-row { grid-template-columns: minmax(0, 1fr); }
  .ech-featured-row { grid-template-columns: minmax(0, 1fr); }
}

html:not(.psk-theme-light) .ech-subform-h3 { color: #E3E3E3; }
html:not(.psk-theme-light) .ech-subform-label { color: #9A9A9A; }
html:not(.psk-theme-light) .ech-req { color: #F87171; }
html:not(.psk-theme-light) .ech-check-row { color: #9A9A9A; }
html:not(.psk-theme-light) .ech-pick-pill { background: #1E1E1E !important; border-color: #3A3A3A !important; color: #9A9A9A !important; }
html:not(.psk-theme-light) .ech-pick-pill:hover { border-color: #4B9BD5 !important; color: #83BDE7 !important; }
html:not(.psk-theme-light) .ech-pick-pill.is-active { background: #33769F !important; border-color: transparent !important; color: #FFFFFF !important; }
html:not(.psk-theme-light) .ech-subform-error { background: rgba(248,113,113,0.12); color: #F87171; border: 1px solid rgba(248,113,113,0.3); }
html:not(.psk-theme-light) .ech-subform-success { text-align: center; }

html.psk-theme-light .ech-subform-h3 { color: #0E0E0E; }
html.psk-theme-light .ech-subform-label { color: #4A4A4A; }
html.psk-theme-light .ech-req { color: #DC2626; }
html.psk-theme-light .ech-check-row { color: #4A4A4A; }
html.psk-theme-light .ech-pick-pill { background: #F7F7F5 !important; border-color: #D1D1CE !important; color: #6B6B6B !important; }
html.psk-theme-light .ech-pick-pill:hover { border-color: #33769F !important; color: #33769F !important; }
html.psk-theme-light .ech-pick-pill.is-active { background: #33769F !important; border-color: transparent !important; color: #FFFFFF !important; }
html.psk-theme-light .ech-subform-error { background: rgba(220,38,38,0.08); color: #DC2626; border: 1px solid rgba(220,38,38,0.25); }
html.psk-theme-light .ech-subform-success { text-align: center; }

/* Pagination / tabs / dupes — themed */
html:not(.psk-theme-light) .ech-sub-page-link { background: #161616; border-color: #2A2A2A; color: #9A9A9A !important; }
html:not(.psk-theme-light) .ech-sub-page-link:hover:not(.is-disabled) { border-color: #4B9BD5; color: #83BDE7 !important; }
html:not(.psk-theme-light) .ech-sub-page-status { color: #6B6B6B; }
html:not(.psk-theme-light) .ech-tab-count { background: rgba(255,255,255,0.08); color: inherit; }
html:not(.psk-theme-light) .ech-sub-tab.is-active .ech-tab-count { background: rgba(0,0,0,0.22); }
html:not(.psk-theme-light) .ech-dupe-flag { background: rgba(245,185,59,0.16); color: #F5B93B; }
html:not(.psk-theme-light) .ech-sub-tab-archive { border-style: dashed; }

html.psk-theme-light .ech-sub-page-link { background: #FFFFFF; border-color: #D1D1CE; color: #4A4A4A !important; }
html.psk-theme-light .ech-sub-page-link:hover:not(.is-disabled) { border-color: #33769F; color: #33769F !important; }
html.psk-theme-light .ech-sub-page-status { color: #6B6B6B; }
html.psk-theme-light .ech-tab-count { background: rgba(0,0,0,0.07); color: inherit; }
html.psk-theme-light .ech-sub-tab.is-active .ech-tab-count { background: rgba(255,255,255,0.25); }
html.psk-theme-light .ech-dupe-flag { background: rgba(217,119,6,0.14); color: #B45309; }
html.psk-theme-light .ech-sub-tab-archive { border-style: dashed; }
