/* =========================================================
   ECHOHOLICS STUDIO TIME
   Dark by default; light as an explicit override.
   Every property on a <button> rule carries !important —
   `all: unset !important` beats a normal declaration
   regardless of specificity.
========================================================= */

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

.ech-studio-app button, .ech-studio-mine 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-studio-app .ech-st-btn,
.ech-studio-mine .ech-st-btn,
a.ech-st-btn {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  font-size: 13px !important; font-weight: 600 !important;
  padding: 11px 22px !important; border-radius: 6px !important;
  border-width: 1px !important; border-style: solid !important;
  text-decoration: none !important; white-space: nowrap !important; line-height: 1.2 !important;
}
.ech-studio-app .ech-st-btn:disabled { opacity: 0.55 !important; cursor: not-allowed !important; }
.ech-st-btn-sm { font-size: 11px !important; padding: 8px 16px !important; }

/* Toolbar */
.ech-st-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 20px; }
.ech-st-tabs { display: flex; gap: 6px; }
.ech-studio-app .ech-st-tab {
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 10px; letter-spacing: 0.10em; text-transform: uppercase;
  padding: 9px 20px; border-radius: 999px; text-decoration: none !important;
  border-width: 1px; border-style: solid;
  display: inline-flex; align-items: center; justify-content: center; min-width: 78px; line-height: 1;
}
.ech-st-input, .ech-st-select, .ech-st-textarea {
  border-radius: 6px !important; padding: 10px 13px !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-st-select-sm { width: auto !important; min-width: 150px; }
.ech-st-search { display: flex; gap: 8px; margin-left: auto; }
.ech-st-search .ech-st-input { min-width: 200px; }
.ech-st-textarea { resize: vertical; min-height: 62px; }
.ech-st-count { font-family: "JetBrains Mono", ui-monospace, Menlo, monospace; font-size: 11px; }

/* Manage list */
.ech-st-list { display: flex; flex-direction: column; gap: 10px; }
.ech-st-item { border-radius: 10px; border-width: 1px; border-style: solid; overflow: hidden; }
.ech-studio-app .ech-st-summary {
  display: grid !important;
  grid-template-columns: 22px 130px minmax(140px, 1.5fr) minmax(0, 1fr) minmax(0, 0.9fr) auto auto !important;
  align-items: center !important; gap: 16px !important;
  width: 100% !important; padding: 15px 20px !important; text-align: left !important;
}
.ech-st-chevron svg { width: 15px; height: 15px; stroke: currentColor; transition: transform 0.15s ease; }
.ech-st-item.is-open .ech-st-chevron svg { transform: rotate(90deg); }
.ech-st-when { display: flex; flex-direction: column; gap: 2px; }
.ech-st-date { font-weight: 600; font-size: 14px; }
.ech-st-time { font-family: "JetBrains Mono", ui-monospace, Menlo, monospace; font-size: 10.5px; }
.ech-st-identity { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ech-st-client { font-weight: 600; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ech-st-service { font-size: 12px; }
.ech-st-studio, .ech-st-engineer { font-size: 12.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ech-st-unassigned { font-style: normal; font-size: 11px; }
.ech-st-notecount { display: inline-flex; align-items: center; gap: 5px; font-family: "JetBrains Mono", ui-monospace, Menlo, monospace; font-size: 11px; }
.ech-st-notecount svg { width: 14px; height: 14px; stroke: currentColor; }
.ech-st-status-badge {
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 9.5px; letter-spacing: 0.08em; text-transform: uppercase;
  padding: 5px 11px; border-radius: 4px; white-space: nowrap;
  display: inline-flex; align-items: center; justify-self: start;
}

/* Detail */
.ech-st-detail { padding: 4px 20px 22px; border-top-width: 1px; border-top-style: solid; }
.ech-st-detail-grid { display: grid; grid-template-columns: 1fr 320px; gap: 26px; padding-top: 16px; }
.ech-st-block { margin-bottom: 22px; }
.ech-st-block:last-child { margin-bottom: 0; }
.ech-st-h4 { font-family: "JetBrains Mono", ui-monospace, Menlo, monospace; font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; margin: 0 0 10px; }
.ech-st-hint { font-size: 12px; margin: 8px 0 0; line-height: 1.5; }
.ech-st-message-actions { display: flex; align-items: center; gap: 12px; margin-top: 10px; }
.ech-st-message-status { font-family: "JetBrains Mono", ui-monospace, Menlo, monospace; font-size: 11px; }
.ech-st-meta { list-style: none; margin: 0; padding: 0; }
.ech-st-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-st-meta li:first-child { border-top: none; }
.ech-st-meta li span { flex-shrink: 0; }
.ech-st-meta a { text-decoration: none; word-break: break-all; }
.ech-st-notes { display: flex; flex-direction: column; gap: 10px; margin-bottom: 12px; }
.ech-st-note { border-radius: 8px; padding: 12px 14px; border-width: 1px; border-style: solid; }
.ech-st-note-head { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 6px; font-size: 12px; }
.ech-st-note-head span { font-family: "JetBrains Mono", ui-monospace, Menlo, monospace; font-size: 10px; }
.ech-st-note-body { font-size: 13px; line-height: 1.6; }
.ech-st-note-form { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }

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

/* Customer cards */
.ech-st-section-title { font-family: "Gunterz", Georgia, serif; font-weight: 600; font-size: 19px; margin: 0 0 14px; }
.ech-st-section-past { margin-top: 34px; }
.ech-st-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 14px; }
.ech-st-card { border-radius: 10px; border-width: 1px; border-style: solid; padding: 20px; }
.ech-st-card.is-past { opacity: 0.72; }
.ech-st-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 12px; }
.ech-st-card-date { display: flex; flex-direction: column; gap: 3px; }
.ech-st-card-day { font-family: "Gunterz", Georgia, serif; font-weight: 600; font-size: 17px; }
.ech-st-card-time { font-family: "JetBrains Mono", ui-monospace, Menlo, monospace; font-size: 11px; }
.ech-st-card-service { font-size: 15px; font-weight: 600; margin: 0 0 12px; }
.ech-st-card-meta { list-style: none; margin: 0; padding: 0; }
.ech-st-card-meta li { display: flex; justify-content: space-between; gap: 12px; padding: 5px 0; font-size: 12.5px; }
.ech-st-card-meta li span { flex-shrink: 0; }
.ech-st-prep { margin-top: 14px; padding: 12px 14px; border-radius: 8px; font-size: 12.5px; line-height: 1.6; }
.ech-st-prep-title { display: block; font-family: "JetBrains Mono", ui-monospace, Menlo, monospace; font-size: 9.5px; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 6px; }
.ech-st-prep p { margin: 0 0 8px; }
.ech-st-prep p:last-child { margin-bottom: 0; }
.ech-st-card-actions { margin-top: 16px; }
.ech-st-card-hint { margin-top: 10px; }
.ech-st-book-again { margin: 20px 0 0; }
.ech-st-notice { border-radius: 10px; padding: 22px; font-size: 14px; border-width: 1px; border-style: solid; text-align: center; }
.ech-st-empty { padding: 40px 24px; }
.ech-st-empty-title { font-family: "Gunterz", Georgia, serif; font-weight: 600; font-size: 19px; margin: 0 0 8px; }
.ech-st-empty p { margin: 0 0 18px; }

@media (max-width: 1000px) {
  .ech-st-detail-grid { grid-template-columns: 1fr; }
  .ech-studio-app .ech-st-summary { grid-template-columns: 22px 110px 1fr auto !important; row-gap: 10px !important; }
  .ech-st-studio, .ech-st-engineer, .ech-st-notecount { display: none; }
  .ech-st-search { margin-left: 0; width: 100%; }
}

/* Dark (default) */
html:not(.psk-theme-light) .ech-st-item,
html:not(.psk-theme-light) .ech-st-card,
html:not(.psk-theme-light) .ech-st-notice { background: #161616; border-color: #2A2A2A; color: #9A9A9A; }
html:not(.psk-theme-light) .ech-st-summary { color: #E3E3E3; }
html:not(.psk-theme-light) .ech-st-summary:hover { background: #1A1A1A; }
html:not(.psk-theme-light) .ech-st-chevron { color: #6B6B6B; }
html:not(.psk-theme-light) .ech-st-date, html:not(.psk-theme-light) .ech-st-client { color: #E3E3E3; }
html:not(.psk-theme-light) .ech-st-time { color: #83BDE7; }
html:not(.psk-theme-light) .ech-st-service, html:not(.psk-theme-light) .ech-st-studio, html:not(.psk-theme-light) .ech-st-engineer { color: #9A9A9A; }
html:not(.psk-theme-light) .ech-st-unassigned { color: #6B6B6B; }
html:not(.psk-theme-light) .ech-st-count, html:not(.psk-theme-light) .ech-st-page-status { color: #6B6B6B; }
html:not(.psk-theme-light) .ech-st-notecount { color: #9A9A9A; }
html:not(.psk-theme-light) .ech-st-tab { background: #161616; border-color: #2A2A2A; color: #9A9A9A !important; }
html:not(.psk-theme-light) .ech-st-tab:hover { border-color: #4B9BD5; color: #83BDE7 !important; }
html:not(.psk-theme-light) .ech-st-tab.is-active { background: #33769F; border-color: transparent; color: #FFFFFF !important; }
html:not(.psk-theme-light) .ech-st-input,
html:not(.psk-theme-light) .ech-st-select,
html:not(.psk-theme-light) .ech-st-textarea { background: #1E1E1E !important; border-color: #3A3A3A !important; color: #E3E3E3 !important; }
html:not(.psk-theme-light) .ech-st-input::placeholder,
html:not(.psk-theme-light) .ech-st-textarea::placeholder { color: #6B6B6B; }
html:not(.psk-theme-light) .ech-st-input:focus,
html:not(.psk-theme-light) .ech-st-select:focus,
html:not(.psk-theme-light) .ech-st-textarea:focus { border-color: #4B9BD5 !important; outline: 2px solid #4B9BD5; outline-offset: 2px; }
html:not(.psk-theme-light) .ech-st-btn-pri { background: #33769F !important; border-color: transparent !important; color: #FFFFFF !important; }
html:not(.psk-theme-light) .ech-st-btn-pri:hover { background: #3A86B7 !important; }
html:not(.psk-theme-light) .ech-st-btn-sec { background: transparent !important; border-color: #3A3A3A !important; color: #E3E3E3 !important; }
html:not(.psk-theme-light) .ech-st-btn-sec:hover { border-color: #4B9BD5 !important; color: #83BDE7 !important; }
html:not(.psk-theme-light) .ech-st-detail { border-top-color: #2A2A2A; background: #121212; }
html:not(.psk-theme-light) .ech-st-h4 { color: #83BDE7; }
html:not(.psk-theme-light) .ech-st-hint { color: #6B6B6B; }
html:not(.psk-theme-light) .ech-st-message-status { color: #4ADE80; }
html:not(.psk-theme-light) .ech-st-meta li { border-top-color: #2A2A2A; color: #E3E3E3; }
html:not(.psk-theme-light) .ech-st-meta li span { color: #6B6B6B; }
html:not(.psk-theme-light) .ech-st-meta a { color: #83BDE7; }
html:not(.psk-theme-light) .ech-st-note { background: #161616; border-color: #2A2A2A; }
html:not(.psk-theme-light) .ech-st-note-head strong { color: #E3E3E3; }
html:not(.psk-theme-light) .ech-st-note-head span { color: #6B6B6B; }
html:not(.psk-theme-light) .ech-st-note-body { color: #9A9A9A; }
html:not(.psk-theme-light) .ech-st-page-link { background: #161616; border-color: #2A2A2A; color: #9A9A9A !important; }
html:not(.psk-theme-light) .ech-st-section-title, html:not(.psk-theme-light) .ech-st-empty-title { color: #E3E3E3; }
html:not(.psk-theme-light) .ech-st-card-day, html:not(.psk-theme-light) .ech-st-card-service { color: #E3E3E3; }
html:not(.psk-theme-light) .ech-st-card-time { color: #83BDE7; }
html:not(.psk-theme-light) .ech-st-card-meta li { color: #E3E3E3; }
html:not(.psk-theme-light) .ech-st-card-meta li span { color: #6B6B6B; }
html:not(.psk-theme-light) .ech-st-prep { background: #12202B; color: #9A9A9A; }
html:not(.psk-theme-light) .ech-st-prep-title { color: #83BDE7; }
html:not(.psk-theme-light) .ech-st-status-pending { background: rgba(245,185,59,0.14); color: #F5B93B; }
html:not(.psk-theme-light) .ech-st-status-confirmed { background: #12202B; color: #83BDE7; }
html:not(.psk-theme-light) .ech-st-status-completed { background: rgba(74,222,128,0.14); color: #4ADE80; }
html:not(.psk-theme-light) .ech-st-status-cancelled { background: rgba(248,113,113,0.14); color: #F87171; }
html:not(.psk-theme-light) .ech-st-status-no-show { background: #1E1E1E; color: #9A9A9A; }

/* Light (override) */
html.psk-theme-light .ech-st-item,
html.psk-theme-light .ech-st-card,
html.psk-theme-light .ech-st-notice { background: #FFFFFF; border-color: #E3E3E3; color: #4A4A4A; }
html.psk-theme-light .ech-st-summary { color: #0E0E0E; }
html.psk-theme-light .ech-st-summary:hover { background: #F7F7F5; }
html.psk-theme-light .ech-st-chevron { color: #8A8A86; }
html.psk-theme-light .ech-st-date, html.psk-theme-light .ech-st-client { color: #0E0E0E; }
html.psk-theme-light .ech-st-time { color: #33769F; }
html.psk-theme-light .ech-st-service, html.psk-theme-light .ech-st-studio, html.psk-theme-light .ech-st-engineer { color: #4A4A4A; }
html.psk-theme-light .ech-st-unassigned { color: #8A8A86; }
html.psk-theme-light .ech-st-count, html.psk-theme-light .ech-st-page-status { color: #6B6B6B; }
html.psk-theme-light .ech-st-notecount { color: #4A4A4A; }
html.psk-theme-light .ech-st-tab { background: #FFFFFF; border-color: #D1D1CE; color: #4A4A4A !important; }
html.psk-theme-light .ech-st-tab:hover { border-color: #33769F; color: #33769F !important; }
html.psk-theme-light .ech-st-tab.is-active { background: #33769F; border-color: transparent; color: #FFFFFF !important; }
html.psk-theme-light .ech-st-input,
html.psk-theme-light .ech-st-select,
html.psk-theme-light .ech-st-textarea { background: #F7F7F5 !important; border-color: #D1D1CE !important; color: #0E0E0E !important; }
html.psk-theme-light .ech-st-input:focus,
html.psk-theme-light .ech-st-select:focus,
html.psk-theme-light .ech-st-textarea:focus { border-color: #33769F !important; outline: 2px solid #33769F; outline-offset: 2px; }
html.psk-theme-light .ech-st-btn-pri { background: #33769F !important; border-color: transparent !important; color: #FFFFFF !important; }
html.psk-theme-light .ech-st-btn-pri:hover { background: #3A86B7 !important; }
html.psk-theme-light .ech-st-btn-sec { background: transparent !important; border-color: #D1D1CE !important; color: #0E0E0E !important; }
html.psk-theme-light .ech-st-btn-sec:hover { border-color: #33769F !important; color: #33769F !important; }
html.psk-theme-light .ech-st-detail { border-top-color: #E3E3E3; background: #FAFAF8; }
html.psk-theme-light .ech-st-h4 { color: #33769F; }
html.psk-theme-light .ech-st-hint { color: #6B6B6B; }
html.psk-theme-light .ech-st-message-status { color: #16A34A; }
html.psk-theme-light .ech-st-meta li { border-top-color: #E3E3E3; color: #0E0E0E; }
html.psk-theme-light .ech-st-meta li span { color: #6B6B6B; }
html.psk-theme-light .ech-st-meta a { color: #33769F; }
html.psk-theme-light .ech-st-note { background: #FFFFFF; border-color: #E3E3E3; }
html.psk-theme-light .ech-st-note-head strong { color: #0E0E0E; }
html.psk-theme-light .ech-st-note-head span { color: #6B6B6B; }
html.psk-theme-light .ech-st-note-body { color: #4A4A4A; }
html.psk-theme-light .ech-st-page-link { background: #FFFFFF; border-color: #D1D1CE; color: #4A4A4A !important; }
html.psk-theme-light .ech-st-section-title, html.psk-theme-light .ech-st-empty-title { color: #0E0E0E; }
html.psk-theme-light .ech-st-card-day, html.psk-theme-light .ech-st-card-service { color: #0E0E0E; }
html.psk-theme-light .ech-st-card-time { color: #33769F; }
html.psk-theme-light .ech-st-card-meta li { color: #0E0E0E; }
html.psk-theme-light .ech-st-card-meta li span { color: #6B6B6B; }
html.psk-theme-light .ech-st-prep { background: #EAF2F8; color: #4A4A4A; }
html.psk-theme-light .ech-st-prep-title { color: #33769F; }
html.psk-theme-light .ech-st-status-pending { background: rgba(217,119,6,0.10); color: #B45309; }
html.psk-theme-light .ech-st-status-confirmed { background: #EAF2F8; color: #33769F; }
html.psk-theme-light .ech-st-status-completed { background: rgba(22,163,74,0.10); color: #16A34A; }
html.psk-theme-light .ech-st-status-cancelled { background: rgba(220,38,38,0.10); color: #DC2626; }
html.psk-theme-light .ech-st-status-no-show { background: #F0F0EE; color: #6B6B6B; }

.ech-st-scope-note { font-size: 12px; margin: -8px 0 16px; line-height: 1.5; }
html:not(.psk-theme-light) .ech-st-scope-note { color: #6B6B6B; }
html.psk-theme-light .ech-st-scope-note { color: #6B6B6B; }

/* ---------- Payment page ---------- */
.ech-studio-pay { font-family: "Just Sanz", -apple-system, "Segoe UI", Helvetica, Arial, sans-serif; max-width: 520px; margin: 0 auto; }
.ech-studio-pay * { box-sizing: border-box; }
.ech-studio-pay 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-studio-pay .ech-st-btn {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  font-size: 14px !important; font-weight: 600 !important;
  padding: 13px 26px !important; border-radius: 6px !important;
  border-width: 1px !important; border-style: solid !important;
  text-decoration: none !important; line-height: 1.2 !important;
}
.ech-studio-pay .ech-st-btn:disabled { opacity: 0.55 !important; cursor: not-allowed !important; }
.ech-st-pay-summary { border-radius: 10px; border-width: 1px; border-style: solid; padding: 22px; margin-bottom: 18px; }
.ech-st-pay-title { font-family: "Gunterz", Georgia, serif; font-weight: 600; font-size: 19px; margin: 0 0 14px; }
.ech-st-pay-amounts { margin-top: 16px; padding-top: 14px; border-top-width: 1px; border-top-style: solid; }
.ech-st-pay-row { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; font-size: 14px; }
.ech-st-pay-row.is-due { font-weight: 700; font-size: 16px; }
.ech-st-hold-note { margin-top: 12px; }
.ech-st-pay-form { border-radius: 10px; border-width: 1px; border-style: solid; padding: 22px; }
.ech-st-card-element { margin-bottom: 16px; min-height: 42px; }
.ech-st-consent { margin-top: 4px; }
.ech-st-consent-note { margin-bottom: 14px; }
.ech-st-pay-error { border-radius: 6px; padding: 12px 14px; font-size: 13px; margin-bottom: 14px; }
.ech-studio-pay .ech-st-pay-btn { width: 100% !important; }
.ech-st-secure-note { text-align: center; }
.ech-st-pay-done { padding: 34px 24px; }

html:not(.psk-theme-light) .ech-st-pay-summary,
html:not(.psk-theme-light) .ech-st-pay-form { background: #161616; border-color: #2A2A2A; }
html:not(.psk-theme-light) .ech-st-pay-title { color: #E3E3E3; }
html:not(.psk-theme-light) .ech-st-pay-amounts { border-top-color: #2A2A2A; }
html:not(.psk-theme-light) .ech-st-pay-row { color: #9A9A9A; }
html:not(.psk-theme-light) .ech-st-pay-row.is-due { color: #E3E3E3; }
html:not(.psk-theme-light) .ech-st-pay-error { background: rgba(248,113,113,0.12); color: #F87171; border: 1px solid rgba(248,113,113,0.3); }

html.psk-theme-light .ech-st-pay-summary,
html.psk-theme-light .ech-st-pay-form { background: #FFFFFF; border-color: #E3E3E3; }
html.psk-theme-light .ech-st-pay-title { color: #0E0E0E; }
html.psk-theme-light .ech-st-pay-amounts { border-top-color: #E3E3E3; }
html.psk-theme-light .ech-st-pay-row { color: #4A4A4A; }
html.psk-theme-light .ech-st-pay-row.is-due { color: #0E0E0E; }
html.psk-theme-light .ech-st-pay-error { background: rgba(220,38,38,0.08); color: #DC2626; border: 1px solid rgba(220,38,38,0.25); }

/* ---------- Availability editor ---------- */
.ech-studio-hours { font-family: "Just Sanz", -apple-system, "Segoe UI", Helvetica, Arial, sans-serif; display: flex; flex-direction: column; gap: 16px; }
.ech-studio-hours * { box-sizing: border-box; }
.ech-studio-hours 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-studio-hours .ech-st-btn {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  font-size: 13px !important; font-weight: 600 !important; padding: 11px 22px !important;
  border-radius: 6px !important; border-width: 1px !important; border-style: solid !important;
  line-height: 1.2 !important; text-decoration: none !important;
}
.ech-studio-hours .ech-st-btn-sm { font-size: 11px !important; padding: 8px 16px !important; }
.ech-studio-hours .ech-st-row-remove {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  width: 34px !important; height: 34px !important; flex-shrink: 0 !important;
  border-radius: 6px !important; font-size: 16px !important; line-height: 1 !important;
  border-width: 1px !important; border-style: solid !important;
}
.ech-st-hours-card { border-radius: 10px; border-width: 1px; border-style: solid; padding: 22px; }
.ech-st-hours-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.ech-st-hours-status { font-family: "JetBrains Mono", ui-monospace, Menlo, monospace; font-size: 11px; }
.ech-st-days { display: flex; flex-direction: column; gap: 8px; margin-bottom: 20px; }
.ech-st-day-row { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.ech-st-day-toggle { display: flex; align-items: center; gap: 8px; min-width: 140px; font-size: 13px; cursor: pointer; }
.ech-st-day-toggle input { width: 16px; height: 16px; }
.ech-st-day-times { display: flex; align-items: center; gap: 8px; }
.ech-studio-hours .ech-st-time-input { width: auto !important; min-width: 120px; }
.ech-st-time-sep { font-size: 12px; }
.ech-st-hours-settings { margin-bottom: 18px; }
.ech-st-blackouts { margin-bottom: 18px; }
.ech-st-blackout-row { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; flex-wrap: wrap; }
.ech-studio-hours .ech-st-hours-save { width: 100% !important; }
.ech-st-warning { border-radius: 6px; padding: 11px 14px; font-size: 12.5px; margin-bottom: 16px; line-height: 1.5; }

html:not(.psk-theme-light) .ech-st-hours-card { background: #161616; border-color: #2A2A2A; }
html:not(.psk-theme-light) .ech-st-day-toggle, html:not(.psk-theme-light) .ech-st-time-sep { color: #9A9A9A; }
html:not(.psk-theme-light) .ech-st-hours-status { color: #4ADE80; }
html:not(.psk-theme-light) .ech-st-warning { background: rgba(245,185,59,0.10); border: 1px solid rgba(245,185,59,0.30); color: #F5B93B; }
html:not(.psk-theme-light) .ech-studio-hours .ech-st-row-remove { background: #1E1E1E !important; border-color: #3A3A3A !important; color: #9A9A9A !important; }

html.psk-theme-light .ech-st-hours-card { background: #FFFFFF; border-color: #E3E3E3; }
html.psk-theme-light .ech-st-day-toggle, html.psk-theme-light .ech-st-time-sep { color: #4A4A4A; }
html.psk-theme-light .ech-st-hours-status { color: #16A34A; }
html.psk-theme-light .ech-st-warning { background: rgba(217,119,6,0.08); border: 1px solid rgba(217,119,6,0.25); color: #B45309; }
html.psk-theme-light .ech-studio-hours .ech-st-row-remove { background: #F7F7F5 !important; border-color: #D1D1CE !important; color: #6B6B6B !important; }

/* ---------- Request form ---------- */
.ech-studio-request { font-family: "Just Sanz", -apple-system, "Segoe UI", Helvetica, Arial, sans-serif; max-width: 620px; margin: 0 auto; }
.ech-studio-request * { box-sizing: border-box; }
.ech-studio-request 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-studio-request .ech-st-btn {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  font-size: 14px !important; font-weight: 600 !important; padding: 14px 26px !important;
  border-radius: 6px !important; border-width: 1px !important; border-style: solid !important;
  line-height: 1.2 !important; text-decoration: none !important;
}
.ech-studio-request .ech-st-btn:disabled { opacity: 0.45 !important; cursor: not-allowed !important; }
.ech-studio-request .ech-st-req-submit { width: 100% !important; margin-top: 4px !important; }
.ech-st-req-step { margin-bottom: 26px; }
.ech-st-req-heading { font-family: "Gunterz", Georgia, serif; font-weight: 600; font-size: 17px; margin: 0 0 14px; }

.ech-st-tier-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; margin-bottom: 16px; }
.ech-studio-request .ech-st-tier {
  display: flex !important; flex-direction: column !important; gap: 3px !important;
  padding: 13px 15px !important; border-radius: 8px !important;
  border-width: 1px !important; border-style: solid !important; text-align: left !important;
}
.ech-st-tier-name { font-size: 13px; font-weight: 600; }
.ech-st-tier-price { font-family: "JetBrains Mono", ui-monospace, Menlo, monospace; font-size: 15px; }
.ech-st-tier-meta { font-size: 11px; line-height: 1.4; }

.ech-st-studio-list { display: flex; flex-direction: column; gap: 8px; }
.ech-studio-request .ech-st-studio-opt {
  display: flex !important; flex-direction: column !important; gap: 3px !important;
  padding: 14px 16px !important; border-radius: 8px !important;
  border-width: 1px !important; border-style: solid !important; text-align: left !important;
}
.ech-st-studio-name { font-size: 14px; font-weight: 600; }
.ech-st-studio-note { font-size: 12px; line-height: 1.4; }

.ech-st-cal { border-radius: 10px; border-width: 1px; border-style: solid; padding: 14px; margin-bottom: 16px; }
.ech-st-cal-nav { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.ech-st-cal-range { font-family: "JetBrains Mono", ui-monospace, Menlo, monospace; font-size: 11px; letter-spacing: 0.04em; }
.ech-studio-request .ech-st-cal-arrow {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  width: 32px !important; height: 32px !important; border-radius: 6px !important;
  border-width: 1px !important; border-style: solid !important; font-size: 14px !important;
}
.ech-st-cal-days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.ech-studio-request .ech-st-cal-day {
  display: flex !important; flex-direction: column !important; align-items: center !important;
  gap: 2px !important; padding: 9px 4px !important; border-radius: 8px !important;
  border-width: 1px !important; border-style: solid !important; min-height: 62px !important;
  justify-content: center !important;
}
.ech-studio-request .ech-st-cal-day.is-empty { opacity: 0.32 !important; cursor: not-allowed !important; }
.ech-st-cal-dow { font-size: 9.5px; text-transform: uppercase; letter-spacing: 0.06em; font-family: "JetBrains Mono", ui-monospace, Menlo, monospace; }
.ech-st-cal-num { font-size: 16px; font-weight: 600; }
.ech-st-cal-count { font-size: 9.5px; font-family: "JetBrains Mono", ui-monospace, Menlo, monospace; }
.ech-st-time-list { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 8px; }
.ech-studio-request .ech-st-time {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  padding: 9px 15px !important; border-radius: 999px !important; font-size: 12.5px !important;
  border-width: 1px !important; border-style: solid !important; line-height: 1 !important;
}
.ech-st-requirements { border-radius: 8px; padding: 13px 15px; font-size: 12.5px; line-height: 1.6; margin-top: 12px; }
.ech-st-requirements p { margin: 0 0 8px; }
.ech-st-requirements p:last-child { margin-bottom: 0; }
.ech-st-req-summary { border-radius: 10px; border-width: 1px; border-style: solid; padding: 18px; margin-bottom: 16px; }
.ech-st-guest-note { margin-top: 12px; }
.ech-req { color: #F87171; }

html:not(.psk-theme-light) .ech-st-req-heading { color: #E3E3E3; }
html:not(.psk-theme-light) .ech-st-tier { background: #161616 !important; border-color: #2A2A2A !important; color: #9A9A9A !important; }
html:not(.psk-theme-light) .ech-st-tier:hover { border-color: #4B9BD5 !important; }
html:not(.psk-theme-light) .ech-st-tier.is-active { background: #12202B !important; border-color: #4B9BD5 !important; }
html:not(.psk-theme-light) .ech-st-tier.is-active .ech-st-tier-name,
html:not(.psk-theme-light) .ech-st-tier.is-active .ech-st-tier-price { color: #83BDE7; }
html:not(.psk-theme-light) .ech-st-tier-name, html:not(.psk-theme-light) .ech-st-tier-price { color: #E3E3E3; }
html:not(.psk-theme-light) .ech-st-tier-meta { color: #6B6B6B; }
html:not(.psk-theme-light) .ech-st-studio-opt { background: #161616 !important; border-color: #2A2A2A !important; }
html:not(.psk-theme-light) .ech-st-studio-opt:hover { border-color: #4B9BD5 !important; }
html:not(.psk-theme-light) .ech-st-studio-opt.is-active { background: #12202B !important; border-color: #4B9BD5 !important; }
html:not(.psk-theme-light) .ech-st-studio-name { color: #E3E3E3; }
html:not(.psk-theme-light) .ech-st-studio-note { color: #6B6B6B; }
html:not(.psk-theme-light) .ech-st-cal { background: #161616; border-color: #2A2A2A; }
html:not(.psk-theme-light) .ech-st-cal-range { color: #9A9A9A; }
html:not(.psk-theme-light) .ech-st-cal-arrow { background: #1E1E1E !important; border-color: #3A3A3A !important; color: #E3E3E3 !important; }
html:not(.psk-theme-light) .ech-st-cal-day { background: #1E1E1E !important; border-color: #2A2A2A !important; color: #E3E3E3 !important; }
html:not(.psk-theme-light) .ech-st-cal-day:not(.is-empty):hover { border-color: #4B9BD5 !important; }
html:not(.psk-theme-light) .ech-st-cal-day.is-active { background: #33769F !important; border-color: transparent !important; color: #FFFFFF !important; }
html:not(.psk-theme-light) .ech-st-cal-dow, html:not(.psk-theme-light) .ech-st-cal-count { color: #6B6B6B; }
html:not(.psk-theme-light) .ech-st-cal-day.is-active .ech-st-cal-dow,
html:not(.psk-theme-light) .ech-st-cal-day.is-active .ech-st-cal-count { color: #D6E9F7; }
html:not(.psk-theme-light) .ech-st-time { background: #1E1E1E !important; border-color: #3A3A3A !important; color: #E3E3E3 !important; }
html:not(.psk-theme-light) .ech-st-time:hover { border-color: #4B9BD5 !important; }
html:not(.psk-theme-light) .ech-st-time.is-active { background: #33769F !important; border-color: transparent !important; color: #FFFFFF !important; }
html:not(.psk-theme-light) .ech-st-requirements { background: #12202B; color: #9A9A9A; }
html:not(.psk-theme-light) .ech-st-req-summary { background: #161616; border-color: #2A2A2A; }

html.psk-theme-light .ech-st-req-heading { color: #0E0E0E; }
html.psk-theme-light .ech-st-tier { background: #FFFFFF !important; border-color: #E3E3E3 !important; color: #4A4A4A !important; }
html.psk-theme-light .ech-st-tier.is-active { background: #EAF2F8 !important; border-color: #33769F !important; }
html.psk-theme-light .ech-st-tier-name, html.psk-theme-light .ech-st-tier-price { color: #0E0E0E; }
html.psk-theme-light .ech-st-tier-meta { color: #6B6B6B; }
html.psk-theme-light .ech-st-studio-opt { background: #FFFFFF !important; border-color: #E3E3E3 !important; }
html.psk-theme-light .ech-st-studio-opt.is-active { background: #EAF2F8 !important; border-color: #33769F !important; }
html.psk-theme-light .ech-st-studio-name { color: #0E0E0E; }
html.psk-theme-light .ech-st-studio-note { color: #6B6B6B; }
html.psk-theme-light .ech-st-cal { background: #FFFFFF; border-color: #E3E3E3; }
html.psk-theme-light .ech-st-cal-range { color: #4A4A4A; }
html.psk-theme-light .ech-st-cal-arrow { background: #F7F7F5 !important; border-color: #D1D1CE !important; color: #0E0E0E !important; }
html.psk-theme-light .ech-st-cal-day { background: #F7F7F5 !important; border-color: #E3E3E3 !important; color: #0E0E0E !important; }
html.psk-theme-light .ech-st-cal-day.is-active { background: #33769F !important; border-color: transparent !important; color: #FFFFFF !important; }
html.psk-theme-light .ech-st-cal-dow, html.psk-theme-light .ech-st-cal-count { color: #6B6B6B; }
html.psk-theme-light .ech-st-time { background: #F7F7F5 !important; border-color: #D1D1CE !important; color: #0E0E0E !important; }
html.psk-theme-light .ech-st-time.is-active { background: #33769F !important; border-color: transparent !important; color: #FFFFFF !important; }
html.psk-theme-light .ech-st-requirements { background: #EAF2F8; color: #4A4A4A; }
html.psk-theme-light .ech-st-req-summary { background: #FFFFFF; border-color: #E3E3E3; }

/* ---------- Form fields (own namespace, not borrowed from the jobs plugin) ---------- */
.ech-st-field { margin-bottom: 16px; }
.ech-st-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ech-st-label {
  display: block; margin-bottom: 7px;
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase;
}
@media (max-width: 600px) { .ech-st-row { grid-template-columns: 1fr; } }

/* Summary rows stack their label above the value when space is tight,
   rather than squeezing a long service name into a narrow column. */
.ech-st-summary-lines .ech-st-pay-row { flex-wrap: wrap; align-items: baseline; }
.ech-st-summary-lines .ech-st-pay-row > span:first-child { flex: 1 1 auto; min-width: 0; }
.ech-st-summary-lines .ech-st-pay-row > span:last-child { flex: 0 0 auto; text-align: right; }
.ech-st-summary-lines .ech-st-pay-row.is-quote { display: block; }
.ech-st-summary-lines .ech-st-pay-row.is-quote > span { display: block; text-align: left; }
.ech-st-summary-lines .ech-st-pay-row.is-quote > span:first-child { font-weight: 700; margin-bottom: 4px; }
.ech-st-summary-lines .ech-st-pay-row.is-quote > span:last-child { font-weight: 400; font-size: 13px; }

html:not(.psk-theme-light) .ech-st-label { color: #83BDE7; }
html.psk-theme-light .ech-st-label { color: #33769F; }

/* ---------- Add-ons and attachables ---------- */
.ech-st-addon-list { display: flex; flex-direction: column; gap: 8px; margin-bottom: 18px; }
.ech-st-addon {
  display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 14px;
  padding: 13px 16px; border-radius: 8px; border-width: 1px; border-style: solid;
}
.ech-st-addon.is-quote { opacity: 0.75; }
.ech-st-addon-main { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ech-st-addon-title { font-size: 13.5px; font-weight: 600; }
.ech-st-addon-desc { font-size: 11.5px; line-height: 1.45; }
.ech-st-addon-price { font-family: "JetBrains Mono", ui-monospace, Menlo, monospace; font-size: 11.5px; text-align: right; white-space: nowrap; }
.ech-st-addon-quote { font-family: "JetBrains Mono", ui-monospace, Menlo, monospace; font-size: 10px; text-transform: uppercase; letter-spacing: 0.06em; white-space: nowrap; }
.ech-studio-request .ech-st-addon-toggle {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  width: 26px !important; height: 26px !important; flex-shrink: 0 !important;
  border-radius: 6px !important; border-width: 1px !important; border-style: solid !important;
  font-size: 15px !important; line-height: 1 !important; position: relative !important;
}
.ech-studio-request .ech-st-addon.is-on .ech-st-addon-toggle::after { content: '✓'; font-size: 14px; }
.ech-st-addon-group-note {
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 9.5px; letter-spacing: 0.10em; text-transform: uppercase;
  margin: 6px 0 2px;
}
@media (max-width: 520px) {
  .ech-st-addon { grid-template-columns: 1fr auto; row-gap: 6px; }
  .ech-st-addon-price { grid-column: 1 / -1; text-align: left; }
}

html:not(.psk-theme-light) .ech-st-addon { background: #161616; border-color: #2A2A2A; }
html:not(.psk-theme-light) .ech-st-addon.is-on { background: #12202B; border-color: #4B9BD5; }
html:not(.psk-theme-light) .ech-st-addon-title { color: #E3E3E3; }
html:not(.psk-theme-light) .ech-st-addon-desc { color: #6B6B6B; }
html:not(.psk-theme-light) .ech-st-addon-price { color: #9A9A9A; }
html:not(.psk-theme-light) .ech-st-addon-quote { color: #6B6B6B; }
html:not(.psk-theme-light) .ech-st-addon-group-note { color: #83BDE7; }
html:not(.psk-theme-light) .ech-st-addon-toggle { background: #1E1E1E !important; border-color: #3A3A3A !important; color: #E3E3E3 !important; }
html:not(.psk-theme-light) .ech-st-addon.is-on .ech-st-addon-toggle { background: #33769F !important; border-color: transparent !important; color: #FFFFFF !important; }

html.psk-theme-light .ech-st-addon { background: #FFFFFF; border-color: #E3E3E3; }
html.psk-theme-light .ech-st-addon.is-on { background: #EAF2F8; border-color: #33769F; }
html.psk-theme-light .ech-st-addon-title { color: #0E0E0E; }
html.psk-theme-light .ech-st-addon-desc { color: #6B6B6B; }
html.psk-theme-light .ech-st-addon-price { color: #4A4A4A; }
html.psk-theme-light .ech-st-addon-quote { color: #6B6B6B; }
html.psk-theme-light .ech-st-addon-group-note { color: #33769F; }
html.psk-theme-light .ech-st-addon-toggle { background: #F7F7F5 !important; border-color: #D1D1CE !important; color: #0E0E0E !important; }
html.psk-theme-light .ech-st-addon.is-on .ech-st-addon-toggle { background: #33769F !important; border-color: transparent !important; color: #FFFFFF !important; }

/* A quote-pending add-on is selectable, so it shouldn't look disabled —
   only its price reads differently. */
.ech-st-addon.is-quote { opacity: 1; }
.ech-st-addon.is-quote .ech-st-addon-price { font-style: italic; }
.ech-st-quote-pending span:last-child { font-style: italic; }
html:not(.psk-theme-light) .ech-st-addon.is-quote .ech-st-addon-price,
html:not(.psk-theme-light) .ech-st-quote-pending span { color: #F5B93B; }
html.psk-theme-light .ech-st-addon.is-quote .ech-st-addon-price,
html.psk-theme-light .ech-st-quote-pending span { color: #B45309; }

/* ---------- Order management ---------- */
.ech-studio-orders .ech-st-order-summary {
  grid-template-columns: 22px 150px minmax(150px, 1.6fr) 100px auto auto !important;
}
.ech-st-tab-count {
  font-size: 9px; padding: 2px 6px; border-radius: 999px; margin-left: 5px;
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
}
.ech-st-meta-total { font-weight: 700; }
.ech-st-meta-balance { font-weight: 600; }
.ech-st-needs-quote { font-style: italic; font-size: 11.5px; }
.ech-st-charge-row { display: flex; align-items: center; gap: 12px; margin-top: 12px; flex-wrap: wrap; }
.ech-st-charge-status { font-size: 12px; line-height: 1.4; flex: 1 1 100%; }
.ech-st-session { border-radius: 8px; border-width: 1px; border-style: solid; padding: 14px; margin-bottom: 10px; }
.ech-st-session:last-child { margin-bottom: 0; }
.ech-st-session-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.ech-st-session-hours { font-family: "JetBrains Mono", ui-monospace, Menlo, monospace; font-size: 11px; }
.ech-st-session .ech-st-label { margin-top: 10px; }
.ech-st-session-actions { display: flex; align-items: center; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.ech-st-session-status { font-family: "JetBrains Mono", ui-monospace, Menlo, monospace; font-size: 11px; }
.ech-st-meta li em { font-style: normal; opacity: 0.7; }

@media (max-width: 1000px) {
  .ech-studio-orders .ech-st-order-summary { grid-template-columns: 22px 1fr auto !important; row-gap: 8px !important; }
}

html:not(.psk-theme-light) .ech-st-tab-count { background: rgba(255,255,255,0.08); }
html:not(.psk-theme-light) .ech-st-session { background: #121212; border-color: #2A2A2A; }
html:not(.psk-theme-light) .ech-st-session-hours { color: #6B6B6B; }
html:not(.psk-theme-light) .ech-st-session-status { color: #4ADE80; }
html:not(.psk-theme-light) .ech-st-charge-status { color: #4ADE80; }
html:not(.psk-theme-light) .ech-st-charge-status.is-error { color: #F5B93B; }
html:not(.psk-theme-light) .ech-st-needs-quote { color: #F5B93B; }
html:not(.psk-theme-light) .ech-st-meta-total { color: #E3E3E3; }
html:not(.psk-theme-light) .ech-st-meta-balance { color: #F5B93B; }
html:not(.psk-theme-light) .ech-st-status-requested, html:not(.psk-theme-light) .ech-st-session-requested { background: rgba(245,185,59,0.14); color: #F5B93B; }
html:not(.psk-theme-light) .ech-st-status-quoted, html:not(.psk-theme-light) .ech-st-session-proposed { background: rgba(167,139,250,0.14); color: #A78BFA; }
html:not(.psk-theme-light) .ech-st-status-awaiting { background: rgba(245,185,59,0.14); color: #F5B93B; }
html:not(.psk-theme-light) .ech-st-status-confirmed, html:not(.psk-theme-light) .ech-st-session-scheduled { background: #12202B; color: #83BDE7; }
html:not(.psk-theme-light) .ech-st-status-in_progress { background: #12202B; color: #83BDE7; }
html:not(.psk-theme-light) .ech-st-status-delivered, html:not(.psk-theme-light) .ech-st-status-completed,
html:not(.psk-theme-light) .ech-st-session-completed { background: rgba(74,222,128,0.14); color: #4ADE80; }
html:not(.psk-theme-light) .ech-st-status-draft { background: #1E1E1E; color: #9A9A9A; }
html:not(.psk-theme-light) .ech-st-session-no_show { background: #1E1E1E; color: #9A9A9A; }
html:not(.psk-theme-light) .ech-st-pay-unpaid { background: rgba(248,113,113,0.14); color: #F87171; }
html:not(.psk-theme-light) .ech-st-pay-deposit_paid { background: rgba(245,185,59,0.14); color: #F5B93B; }
html:not(.psk-theme-light) .ech-st-pay-paid { background: rgba(74,222,128,0.14); color: #4ADE80; }
html:not(.psk-theme-light) .ech-st-pay-balance_due, html:not(.psk-theme-light) .ech-st-pay-failed { background: rgba(248,113,113,0.14); color: #F87171; }
html:not(.psk-theme-light) .ech-st-pay-expired, html:not(.psk-theme-light) .ech-st-pay-refunded { background: #1E1E1E; color: #9A9A9A; }

html.psk-theme-light .ech-st-tab-count { background: rgba(0,0,0,0.07); }
html.psk-theme-light .ech-st-session { background: #FAFAF8; border-color: #E3E3E3; }
html.psk-theme-light .ech-st-session-hours { color: #6B6B6B; }
html.psk-theme-light .ech-st-session-status, html.psk-theme-light .ech-st-charge-status { color: #16A34A; }
html.psk-theme-light .ech-st-charge-status.is-error { color: #B45309; }
html.psk-theme-light .ech-st-needs-quote { color: #B45309; }
html.psk-theme-light .ech-st-meta-total { color: #0E0E0E; }
html.psk-theme-light .ech-st-meta-balance { color: #B45309; }
html.psk-theme-light .ech-st-status-requested, html.psk-theme-light .ech-st-session-requested { background: rgba(217,119,6,0.10); color: #B45309; }
html.psk-theme-light .ech-st-status-quoted, html.psk-theme-light .ech-st-session-proposed { background: rgba(109,40,217,0.10); color: #6D28D9; }
html.psk-theme-light .ech-st-status-awaiting { background: rgba(217,119,6,0.10); color: #B45309; }
html.psk-theme-light .ech-st-status-confirmed, html.psk-theme-light .ech-st-session-scheduled { background: #EAF2F8; color: #33769F; }
html.psk-theme-light .ech-st-status-in_progress { background: #EAF2F8; color: #33769F; }
html.psk-theme-light .ech-st-status-delivered, html.psk-theme-light .ech-st-status-completed,
html.psk-theme-light .ech-st-session-completed { background: rgba(22,163,74,0.10); color: #16A34A; }
html.psk-theme-light .ech-st-status-draft, html.psk-theme-light .ech-st-session-no_show { background: #F0F0EE; color: #6B6B6B; }
html.psk-theme-light .ech-st-pay-unpaid { background: rgba(220,38,38,0.10); color: #DC2626; }
html.psk-theme-light .ech-st-pay-deposit_paid { background: rgba(217,119,6,0.10); color: #B45309; }
html.psk-theme-light .ech-st-pay-paid { background: rgba(22,163,74,0.10); color: #16A34A; }
html.psk-theme-light .ech-st-pay-balance_due, html.psk-theme-light .ech-st-pay-failed { background: rgba(220,38,38,0.10); color: #DC2626; }
html.psk-theme-light .ech-st-pay-expired, html.psk-theme-light .ech-st-pay-refunded { background: #F0F0EE; color: #6B6B6B; }

.ech-st-test-banner code, .ech-st-warning code {
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 11px; word-break: break-all;
}
html:not(.psk-theme-light) .ech-st-test-banner { background: #12202B; border-color: rgba(75,155,213,0.35); color: #83BDE7; }
html.psk-theme-light .ech-st-test-banner { background: #EAF2F8; border-color: rgba(51,118,159,0.3); color: #33769F; }

/* ---------- Booking confirmation ---------- */
.ech-st-confirm {
  border-radius: 12px; border-width: 1px; border-style: solid;
  padding: 40px 32px; text-align: center; max-width: 480px; margin: 0 auto;
}
.ech-st-confirm-mark {
  width: 52px; height: 52px; border-radius: 999px; margin: 0 auto 20px;
  display: flex; align-items: center; justify-content: center;
}
.ech-st-confirm-mark svg { width: 26px; height: 26px; stroke: currentColor; }
.ech-st-confirm-title {
  font-family: "Gunterz", Georgia, serif; font-weight: 600;
  font-size: 25px; margin: 0 0 8px; letter-spacing: 0.01em;
}
.ech-st-confirm-service { font-size: 15px; font-weight: 600; margin: 0 0 4px; }
.ech-st-confirm-when {
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 12.5px; margin: 0 0 24px;
}
.ech-st-confirm-facts {
  display: flex; justify-content: center; gap: 28px; flex-wrap: wrap;
  padding: 18px 0; margin-bottom: 20px;
  border-top-width: 1px; border-bottom-width: 1px;
  border-top-style: solid; border-bottom-style: solid;
}
.ech-st-confirm-fact { display: flex; flex-direction: column; gap: 4px; }
.ech-st-confirm-fact span {
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 9.5px; letter-spacing: 0.10em; text-transform: uppercase;
}
.ech-st-confirm-fact strong { font-size: 15px; font-weight: 600; }
.ech-st-confirm-note { font-size: 12.5px; line-height: 1.6; margin: 0 0 22px; }
.ech-st-confirm-actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-bottom: 20px; }
.ech-st-confirm-email { font-size: 12px; margin: 0; }

@media (max-width: 480px) {
  .ech-st-confirm { padding: 30px 20px; }
  .ech-st-confirm-facts { gap: 18px; }
  .ech-st-confirm-actions .ech-st-btn { width: 100% !important; }
}

html:not(.psk-theme-light) .ech-st-confirm { background: #161616; border-color: #2A2A2A; }
html:not(.psk-theme-light) .ech-st-confirm-mark { background: rgba(74,222,128,0.12); color: #4ADE80; }
html:not(.psk-theme-light) .ech-st-confirm-title { color: #E3E3E3; }
html:not(.psk-theme-light) .ech-st-confirm-service { color: #E3E3E3; }
html:not(.psk-theme-light) .ech-st-confirm-when { color: #83BDE7; }
html:not(.psk-theme-light) .ech-st-confirm-facts { border-top-color: #2A2A2A; border-bottom-color: #2A2A2A; }
html:not(.psk-theme-light) .ech-st-confirm-fact span { color: #6B6B6B; }
html:not(.psk-theme-light) .ech-st-confirm-fact strong { color: #E3E3E3; }
html:not(.psk-theme-light) .ech-st-confirm-note { color: #9A9A9A; }
html:not(.psk-theme-light) .ech-st-confirm-email { color: #6B6B6B; }

html.psk-theme-light .ech-st-confirm { background: #FFFFFF; border-color: #E3E3E3; }
html.psk-theme-light .ech-st-confirm-mark { background: rgba(22,163,74,0.10); color: #16A34A; }
html.psk-theme-light .ech-st-confirm-title, html.psk-theme-light .ech-st-confirm-service { color: #0E0E0E; }
html.psk-theme-light .ech-st-confirm-when { color: #33769F; }
html.psk-theme-light .ech-st-confirm-facts { border-top-color: #E3E3E3; border-bottom-color: #E3E3E3; }
html.psk-theme-light .ech-st-confirm-fact span { color: #6B6B6B; }
html.psk-theme-light .ech-st-confirm-fact strong { color: #0E0E0E; }
html.psk-theme-light .ech-st-confirm-note { color: #4A4A4A; }
html.psk-theme-light .ech-st-confirm-email { color: #6B6B6B; }

.ech-st-confirm-block { border-radius: 8px; padding: 16px; border-width: 1px; border-style: solid; }
.ech-st-confirm-block .ech-st-h4 { margin-top: 0; }
.ech-st-confirm-block .ech-st-hint:first-of-type { margin-bottom: 12px; }
html:not(.psk-theme-light) .ech-st-confirm-block { background: rgba(245,185,59,0.07); border-color: rgba(245,185,59,0.28); }
html:not(.psk-theme-light) .ech-st-confirm-block .ech-st-h4 { color: #F5B93B; }
html.psk-theme-light .ech-st-confirm-block { background: rgba(217,119,6,0.06); border-color: rgba(217,119,6,0.22); }
html.psk-theme-light .ech-st-confirm-block .ech-st-h4 { color: #B45309; }

/* ---------- Package detail ---------- */
.ech-st-package-detail { border-radius: 8px; padding: 16px; margin-bottom: 16px; border-width: 1px; border-style: solid; }
.ech-st-pkg-tagline { font-size: 13.5px; line-height: 1.55; margin: 0 0 12px; }
.ech-st-pkg-list { list-style: none; margin: 6px 0 12px; padding: 0; }
.ech-st-pkg-list li { font-size: 12.5px; line-height: 1.6; padding-left: 16px; position: relative; }
.ech-st-pkg-list li::before { content: '·'; position: absolute; left: 5px; font-weight: 700; }
.ech-st-pkg-savings { margin: 0; font-size: 13px; display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.ech-st-pkg-savings strong { font-family: "JetBrains Mono", ui-monospace, Menlo, monospace; font-size: 17px; }
.ech-st-pkg-savings s { font-size: 12px; }
.ech-st-pkg-savings span {
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase;
  padding: 3px 9px; border-radius: 999px;
}

html:not(.psk-theme-light) .ech-st-package-detail { background: #12202B; border-color: rgba(75,155,213,0.28); }
html:not(.psk-theme-light) .ech-st-pkg-tagline { color: #E3E3E3; }
html:not(.psk-theme-light) .ech-st-pkg-list li { color: #9A9A9A; }
html:not(.psk-theme-light) .ech-st-pkg-list li::before { color: #4B9BD5; }
html:not(.psk-theme-light) .ech-st-pkg-savings strong { color: #E3E3E3; }
html:not(.psk-theme-light) .ech-st-pkg-savings s { color: #6B6B6B; }
html:not(.psk-theme-light) .ech-st-pkg-savings span { background: rgba(74,222,128,0.14); color: #4ADE80; }

html.psk-theme-light .ech-st-package-detail { background: #EAF2F8; border-color: rgba(51,118,159,0.22); }
html.psk-theme-light .ech-st-pkg-tagline { color: #0E0E0E; }
html.psk-theme-light .ech-st-pkg-list li { color: #4A4A4A; }
html.psk-theme-light .ech-st-pkg-list li::before { color: #33769F; }
html.psk-theme-light .ech-st-pkg-savings strong { color: #0E0E0E; }
html.psk-theme-light .ech-st-pkg-savings s { color: #6B6B6B; }
html.psk-theme-light .ech-st-pkg-savings span { background: rgba(22,163,74,0.10); color: #16A34A; }

/* ---------- Blocked time ---------- */
.ech-st-blocks { margin-top: 22px; padding-top: 20px; border-top-width: 1px; border-top-style: solid; }
.ech-st-block-list { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.ech-st-block-row { display: flex; align-items: center; gap: 12px; padding: 9px 12px; border-radius: 6px; }
.ech-st-block-when { font-family: "JetBrains Mono", ui-monospace, Menlo, monospace; font-size: 11px; flex-shrink: 0; }
.ech-st-block-label { font-size: 12.5px; flex: 1; min-width: 0; }
.ech-st-block-form { padding: 14px; border-radius: 8px; border-width: 1px; border-style: dashed; }

/* ---------- Bundle nudge ---------- */
.ech-st-bundle {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  padding: 15px 17px; border-radius: 8px; margin-top: 4px;
  border-width: 1px; border-style: solid;
}
.ech-st-bundle-main { flex: 1; min-width: 200px; display: flex; flex-direction: column; gap: 4px; }
.ech-st-bundle-title { font-size: 13.5px; font-weight: 600; }
.ech-st-bundle-note { font-size: 12px; line-height: 1.5; }

html:not(.psk-theme-light) .ech-st-blocks { border-top-color: #2A2A2A; }
html:not(.psk-theme-light) .ech-st-block-row { background: #1E1E1E; }
html:not(.psk-theme-light) .ech-st-block-when { color: #83BDE7; }
html:not(.psk-theme-light) .ech-st-block-label { color: #9A9A9A; }
html:not(.psk-theme-light) .ech-st-block-form { border-color: #3A3A3A; }
html:not(.psk-theme-light) .ech-st-bundle { background: rgba(74,222,128,0.08); border-color: rgba(74,222,128,0.30); }
html:not(.psk-theme-light) .ech-st-bundle-title { color: #4ADE80; }
html:not(.psk-theme-light) .ech-st-bundle-note { color: #9A9A9A; }

html.psk-theme-light .ech-st-blocks { border-top-color: #E3E3E3; }
html.psk-theme-light .ech-st-block-row { background: #F7F7F5; }
html.psk-theme-light .ech-st-block-when { color: #33769F; }
html.psk-theme-light .ech-st-block-label { color: #4A4A4A; }
html.psk-theme-light .ech-st-block-form { border-color: #D1D1CE; }
html.psk-theme-light .ech-st-bundle { background: rgba(22,163,74,0.07); border-color: rgba(22,163,74,0.25); }
html.psk-theme-light .ech-st-bundle-title { color: #16A34A; }
html.psk-theme-light .ech-st-bundle-note { color: #4A4A4A; }

/* ---------- Deliverables ---------- */
.ech-st-files { display: flex; flex-direction: column; gap: 6px; margin-bottom: 12px; }
.ech-st-file { display: flex; align-items: center; gap: 12px; padding: 9px 12px; border-radius: 6px; }
.ech-st-file-name { font-size: 12.5px; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ech-st-file-meta { font-family: "JetBrains Mono", ui-monospace, Menlo, monospace; font-size: 10px; flex-shrink: 0; }
.ech-st-upload { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ech-st-file-input { font-size: 12px; flex: 1; min-width: 160px; }
.ech-st-upload-status { font-size: 11.5px; flex: 1 1 100%; }
.ech-st-locked-note, .ech-st-ack-note { margin-bottom: 10px; }

.ech-st-deliver { margin-top: 14px; padding: 14px; border-radius: 8px; border-width: 1px; border-style: solid; }
.ech-st-deliver-list { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 7px; }
.ech-st-deliver-list li { display: flex; align-items: center; gap: 10px; }
.ech-st-deliver-name { font-size: 12.5px; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ech-st-deliver-size { font-family: "JetBrains Mono", ui-monospace, Menlo, monospace; font-size: 10px; flex-shrink: 0; }
.ech-st-deliver-locked { font-size: 13px; opacity: 0.55; flex-shrink: 0; }
.ech-st-ack { margin-top: 12px; display: flex; align-items: flex-start; gap: 9px; font-size: 12.5px; line-height: 1.5; cursor: pointer; }
.ech-st-ack input { margin-top: 2px; flex-shrink: 0; }

html:not(.psk-theme-light) .ech-st-file { background: #1E1E1E; }
html:not(.psk-theme-light) .ech-st-file-name { color: #E3E3E3; }
html:not(.psk-theme-light) .ech-st-file-meta { color: #6B6B6B; }
html:not(.psk-theme-light) .ech-st-upload-status { color: #83BDE7; }
html:not(.psk-theme-light) .ech-st-file-input { color: #9A9A9A; }
html:not(.psk-theme-light) .ech-st-deliver { background: #12202B; border-color: rgba(75,155,213,0.25); }
html:not(.psk-theme-light) .ech-st-deliver-name { color: #E3E3E3; }
html:not(.psk-theme-light) .ech-st-deliver-size { color: #6B6B6B; }
html:not(.psk-theme-light) .ech-st-ack { color: #9A9A9A; }

html.psk-theme-light .ech-st-file { background: #F7F7F5; }
html.psk-theme-light .ech-st-file-name { color: #0E0E0E; }
html.psk-theme-light .ech-st-file-meta { color: #6B6B6B; }
html.psk-theme-light .ech-st-upload-status { color: #33769F; }
html.psk-theme-light .ech-st-deliver { background: #EAF2F8; border-color: rgba(51,118,159,0.22); }
html.psk-theme-light .ech-st-deliver-name { color: #0E0E0E; }
html.psk-theme-light .ech-st-deliver-size { color: #6B6B6B; }
html.psk-theme-light .ech-st-ack { color: #4A4A4A; }

.ech-st-notify-row { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; flex-wrap: wrap; }
.ech-st-notify-status { font-size: 11.5px; }
html:not(.psk-theme-light) .ech-st-notify-status { color: #4ADE80; }
html.psk-theme-light .ech-st-notify-status { color: #16A34A; }

/* ---------- Revisions ---------- */
.ech-st-rev-request { border-radius: 6px; padding: 12px 14px; margin-bottom: 12px; }
.ech-st-rev-badge { font-family: "JetBrains Mono", ui-monospace, Menlo, monospace; font-size: 9.5px; letter-spacing: 0.08em; text-transform: uppercase; display: block; margin-bottom: 6px; }
.ech-st-rev-charge { display: flex; align-items: flex-start; gap: 9px; margin: 12px 0 0; font-size: 12.5px; line-height: 1.5; cursor: pointer; }
.ech-st-rev-charge input { margin-top: 2px; }
.ech-st-rev-history { margin-top: 14px; padding-top: 12px; border-top-width: 1px; border-top-style: solid; }
.ech-st-rev-row { display: flex; justify-content: space-between; gap: 10px; font-size: 12px; padding: 4px 0; }
.ech-st-rev-client { margin-top: 12px; }
.ech-st-rev-form { margin-top: 10px; display: flex; flex-direction: column; gap: 2px; }
.ech-st-rev-form .ech-st-textarea { margin-bottom: 4px; }

html:not(.psk-theme-light) .ech-st-rev-request { background: rgba(245,185,59,0.08); }
html:not(.psk-theme-light) .ech-st-rev-badge { color: #F5B93B; }
html:not(.psk-theme-light) .ech-st-rev-charge { color: #9A9A9A; }
html:not(.psk-theme-light) .ech-st-rev-history { border-top-color: #2A2A2A; }
html:not(.psk-theme-light) .ech-st-rev-row { color: #9A9A9A; }
html.psk-theme-light .ech-st-rev-request { background: rgba(217,119,6,0.07); }
html.psk-theme-light .ech-st-rev-badge { color: #B45309; }
html.psk-theme-light .ech-st-rev-charge { color: #4A4A4A; }
html.psk-theme-light .ech-st-rev-history { border-top-color: #E3E3E3; }
html.psk-theme-light .ech-st-rev-row { color: #4A4A4A; }

/* ---------- Creative briefs ---------- */
.ech-st-brief { margin-top: 14px; padding: 16px; border-radius: 8px; border-width: 1px; border-style: solid; }
.ech-st-brief-for { font-size: 13.5px; font-weight: 600; margin: 4px 0 8px; }
.ech-st-brief-reqs { font-size: 12.5px; line-height: 1.6; margin-bottom: 14px; padding: 11px 13px; border-radius: 6px; }
.ech-st-brief-reqs p { margin: 0 0 8px; }
.ech-st-brief-reqs p:last-child { margin-bottom: 0; }
.ech-st-brief-fields { margin-bottom: 6px; }
.ech-st-brief-fields .ech-st-field { margin-bottom: 14px; }
.ech-st-brief-fields .ech-st-hint { margin-top: 4px; }
.ech-st-brief-summary { list-style: none; margin: 8px 0 0; padding: 0; }
.ech-st-brief-summary li { font-size: 12.5px; line-height: 1.6; padding: 7px 0; border-top-width: 1px; border-top-style: solid; }
.ech-st-brief-summary li:first-child { border-top: none; }
.ech-st-brief-summary li span {
  display: block; font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: 9.5px; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 3px;
}
.ech-st-ref-list { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0 10px; }
.ech-st-ref {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 6px 11px; border-radius: 999px; font-size: 11.5px;
  text-decoration: none; max-width: 100%;
}
.ech-st-ref span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ech-st-ref-upload { margin-bottom: 14px; }
.ech-st-brief-admin { padding: 13px 0; border-top-width: 1px; border-top-style: solid; }
.ech-st-brief-admin:first-child { border-top: none; padding-top: 0; }
.ech-st-brief-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 6px; font-size: 13px; }

html:not(.psk-theme-light) .ech-st-brief { background: rgba(245,185,59,0.07); border-color: rgba(245,185,59,0.28); }
html:not(.psk-theme-light) .ech-st-brief.is-done { background: #12202B; border-color: rgba(75,155,213,0.25); }
html:not(.psk-theme-light) .ech-st-brief-for { color: #E3E3E3; }
html:not(.psk-theme-light) .ech-st-brief-reqs { background: rgba(0,0,0,0.22); color: #9A9A9A; }
html:not(.psk-theme-light) .ech-st-brief-summary li { border-top-color: #2A2A2A; color: #E3E3E3; }
html:not(.psk-theme-light) .ech-st-brief-summary li span { color: #83BDE7; }
html:not(.psk-theme-light) .ech-st-ref { background: #1E1E1E; color: #E3E3E3; }
html:not(.psk-theme-light) a.ech-st-ref:hover { background: #12202B; color: #83BDE7; }
html:not(.psk-theme-light) .ech-st-brief-admin { border-top-color: #2A2A2A; }
html:not(.psk-theme-light) .ech-st-brief-head strong { color: #E3E3E3; }

html.psk-theme-light .ech-st-brief { background: rgba(217,119,6,0.06); border-color: rgba(217,119,6,0.22); }
html.psk-theme-light .ech-st-brief.is-done { background: #EAF2F8; border-color: rgba(51,118,159,0.22); }
html.psk-theme-light .ech-st-brief-for { color: #0E0E0E; }
html.psk-theme-light .ech-st-brief-reqs { background: #FFFFFF; color: #4A4A4A; }
html.psk-theme-light .ech-st-brief-summary li { border-top-color: #E3E3E3; color: #0E0E0E; }
html.psk-theme-light .ech-st-brief-summary li span { color: #33769F; }
html.psk-theme-light .ech-st-ref { background: #F7F7F5; color: #0E0E0E; }
html.psk-theme-light .ech-st-brief-admin { border-top-color: #E3E3E3; }
html.psk-theme-light .ech-st-brief-head strong { color: #0E0E0E; }

.ech-studio-orders .ech-st-pagination { margin-top: 18px; }
