/* LearnPress Workshops – Workshop Builder app (modelled on the LearnPress Course Builder) */

.lpw-builder {
	--a: #5b4ae4;
	--a-soft: color-mix(in srgb, var(--a) 11%, #fff);
	--a-soft2: color-mix(in srgb, var(--a) 20%, #fff);
	--border: #e7e8ec;
	--bg: #f7f8fa;
	--text: #1d2130;
	--muted: #6b7083;
	--radius: 12px;
	--side: 260px;
	--top: 64px;
	color: var(--text);
	font: 15px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif;
}
.lpw-builder *, .lpw-builder *::before, .lpw-builder *::after { box-sizing: border-box; }
.lpw-builder a { color: inherit; }
.lpw-builder .lpw-svg { flex-shrink: 0; display: inline-block; vertical-align: middle; }

/* ---------- Shell ---------- */
body.lpwa-body { margin: 0; background: #fff; }
.lpwa { min-height: 100vh; }

.lpwa-top { position: fixed; inset: 0 0 auto 0; z-index: 50; height: var(--top); display: flex; align-items: center; gap: 12px; padding: 0 24px; background: #fff; border-bottom: 1px solid var(--border); }
.lpwa-burger { display: none; background: none; border: 0; padding: 6px; color: var(--muted); cursor: pointer; }
.lpwa-logo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none !important; }
.lpwa-logo-icon { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 9px; background: var(--a); color: #fff; }
.lpwa-logo-icon.is-custom { background: var(--bg); color: var(--muted); overflow: hidden; }
.lpwa-logo-icon.is-custom img { width: 100%; height: 100%; object-fit: cover; }
.lpwa-logo-img { border-radius: 9px; object-fit: cover; display: block; }
.lpwa-logo-text { font-size: 22px; font-weight: 700; letter-spacing: -.02em; color: var(--a); white-space: nowrap; }

.lpwa-user { margin-left: auto; display: flex; align-items: center; gap: 12px; }
.lpwa-avatar { border-radius: 50%; display: block; }
.lpwa-user-text { display: flex; flex-direction: column; line-height: 1.25; }
.lpwa-user-text strong { font-size: 15px; font-weight: 600; }
.lpwa-user-text a { font-size: 13px; color: var(--muted); text-decoration: none; }
.lpwa-user-text a:hover { color: var(--a); }
.lpwa-logout { color: var(--muted); padding: 6px; margin-left: 8px; display: inline-flex; }
.lpwa-logout:hover { color: #dc2626; }

.lpwa-wrap { padding-top: var(--top); }
.lpwa-side { position: fixed; top: var(--top); bottom: 0; left: 0; width: var(--side); background: #fff; border-right: 1px solid var(--border); display: flex; flex-direction: column; padding: 24px 0 0; transition: width .2s; z-index: 40; }
.lpwa-nav { display: flex; flex-direction: column; gap: 6px; padding: 0 16px; }
.lpwa-nav-item { display: flex; align-items: center; gap: 14px; padding: 12px 18px; border-radius: 10px; color: var(--text) !important; text-decoration: none !important; font-weight: 500; font-size: 16px; white-space: nowrap; transition: background .15s, color .15s; }
.lpwa-nav-item:hover { background: var(--bg); }
.lpwa-nav-item.is-active { background: var(--a-soft); color: var(--a) !important; }
.lpwa-side-bottom { margin-top: auto; }
.lpwa-collapse { display: block; margin: 0 22px 14px auto; background: none; border: 0; color: var(--muted); cursor: pointer; padding: 6px; border-radius: 6px; }
.lpwa-collapse:hover { background: var(--bg); color: var(--text); }
.lpwa-back { border-top: 1px solid var(--border); border-radius: 0; padding: 18px 34px; font-size: 15px; }

.lpwa-main { margin-left: var(--side); padding: 32px 32px 60px; background: #fff; min-height: calc(100vh - var(--top)); transition: margin .2s; }
.lpwa-overlay { display: none; }

/* Collapsed sidebar */
.lpwa.is-collapsed { --side: 84px; }
.lpwa.is-collapsed .lpwa-nav-item span { display: none; }
.lpwa.is-collapsed .lpwa-nav-item { justify-content: center; padding: 12px; }
.lpwa.is-collapsed .lpwa-collapse { margin: 0 auto 14px; transform: scaleX(-1); }
.lpwa.is-collapsed .lpwa-back { padding: 18px 0; }

/* Gate (login / no access) */
.lpwa-gate { padding: calc(var(--top) + 60px) 16px 60px; display: flex; justify-content: center; background: var(--bg); min-height: 100vh; }
.lpwa-gate .lpwb-box { width: 100%; max-width: 420px; text-align: center; }
.lpwa-gate h1 { font-size: 24px; margin: 14px 0 6px; }
.lpwa-gate-icon { display: flex; justify-content: center; }
.lpwa-gate-icon .lpwa-logo-icon { width: 56px; height: 56px; border-radius: 14px; }
.lpwa-gate form { text-align: left; margin-top: 18px; }
.lpwa-gate form p { margin: 0 0 12px; }
.lpwa-gate label { display: block; font-weight: 600; font-size: 14px; margin-bottom: 4px; }
.lpwa-gate input[type=text], .lpwa-gate input[type=password] { width: 100%; padding: 10px 12px; border: 1px solid var(--border); border-radius: 8px; font-size: 15px; }
.lpwa-gate .login-remember label { display: flex; gap: 6px; align-items: center; font-weight: 400; }
.lpwa-gate input[type=submit] { width: 100%; padding: 11px; border: 0; border-radius: 8px; background: var(--a); color: #fff; font-weight: 600; font-size: 15px; cursor: pointer; }

/* ---------- Page elements ---------- */
.lpwa-page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 26px; }
.lpwa-h1 { margin: 0; font-size: 32px; font-weight: 600; letter-spacing: -.02em; line-height: 1.2; color: var(--text); }
.lpwb-sub { margin: 4px 0 0; color: var(--muted); font-size: 14px; }
.lpwb-back { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 6px; color: var(--muted) !important; text-decoration: none !important; font-size: 14px; }
.lpwb-back:hover { color: var(--a) !important; }
.lpwa-muted, .lpwb-muted { color: var(--muted); font-size: 13px; }
.lpwa-link { color: var(--a) !important; font-size: 14px; font-weight: 500; text-decoration: none !important; }
.lpw-builder .lpw-help { color: var(--muted); font-size: 13px; margin: 6px 0 0; }

/* Buttons */
.lpwb-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 10px 18px; border-radius: 8px; border: 1px solid transparent; font: inherit; font-size: 14px; font-weight: 600; line-height: 1.2; cursor: pointer; text-decoration: none !important; transition: .15s; white-space: nowrap; }
.lpwb-btn-primary { background: var(--a); color: #fff !important; }
.lpwb-btn-primary:hover { filter: brightness(.92); }
.lpwb-btn-light { background: #fff; border-color: var(--border); color: var(--text) !important; }
.lpwb-btn-light:hover { border-color: var(--a); color: var(--a) !important; }
.lpwb-btn-danger { background: #fff; border-color: #f5c2c2; color: #c62828 !important; }
.lpwb-btn-danger:hover { background: #c62828; color: #fff !important; }
.lpwb-icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 8px; border: 1px solid var(--border); background: #fff; color: var(--muted) !important; cursor: pointer; padding: 0; text-decoration: none !important; }
.lpwb-icon-btn:hover { color: var(--a) !important; border-color: var(--a); }
.lpwb-icon-btn.is-danger:hover { color: #c62828 !important; border-color: #c62828; }

/* Boxes / cards */
.lpwb-box { background: #fff; border: 1px solid var(--border); border-radius: var(--radius); padding: 24px; margin-bottom: 22px; }
.lpwb-box-title { margin: 0 0 18px; font-size: 17px; font-weight: 600; }
.lpwa-card { margin-bottom: 0; min-width: 0; }
.lpwa-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.lpwa-card-head h2 { margin: 0; font-size: 18px; font-weight: 600; }
.lpwa-select { padding: 7px 30px 7px 12px; border: 1px solid var(--border); border-radius: 8px; background: #fff; font: inherit; font-size: 13px; color: var(--text); cursor: pointer; }

/* Stat cards */
.lpwa-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 18px; margin-bottom: 26px; }
.lpwa-stat { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; padding: 26px 14px 22px; border: 1px solid var(--border); border-radius: var(--radius); background: #fff; text-decoration: none !important; transition: box-shadow .2s, transform .2s; }
a.lpwa-stat:hover { box-shadow: 0 8px 24px rgba(20, 24, 40, .07); transform: translateY(-2px); }
.lpwa-stat-icon { width: 52px; height: 52px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 10px; }
.lpwa-stat-label { font-size: 14px; color: #4b5064; }
.lpwa-stat-num { font-size: 28px; font-weight: 700; line-height: 1.2; color: var(--text); }
.is-red    { background: #fdecec; color: #e5484d; }
.is-blue   { background: #e8f1fe; color: #2f7ff0; }
.is-orange { background: #fff3e2; color: #f08c00; }
.is-green  { background: #e6f6ec; color: #23a55a; }
.is-cyan   { background: #e3f7fa; color: #12a5bf; }
.is-purple { background: var(--a-soft); color: var(--a); }

.lpwa-row { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-bottom: 22px; }
.lpwa-row-chart { grid-template-columns: 2fr 1fr; }
.lpwa-row-side { grid-template-columns: 340px 1fr; align-items: start; }

/* Chart */
.lpwa-chart { width: 100%; height: 240px; }
.lpwa-chart-svg { width: 100%; height: 100%; overflow: visible; }
.lpwa-grid { stroke: #eef0f3; stroke-width: 1; }
.lpwa-tick { fill: var(--muted); font-size: 11px; }
.lpwa-dot { fill: #fff; stroke: var(--a); stroke-width: 2; }

/* People + mini lists */
.lpwa-people, .lpwa-mini { list-style: none; margin: 0; padding: 0; }
.lpwa-people li { display: flex; align-items: center; gap: 14px; padding: 10px 0; }
.lpwa-people img { border-radius: 50%; }
.lpwa-people strong { display: block; font-weight: 600; }
.lpwa-people span { color: var(--muted); font-size: 13px; }
.lpwa-mini li { display: flex; align-items: center; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--border); }
.lpwa-mini li:last-child { border-bottom: 0; }
.lpwa-mini-thumb { flex: 0 0 76px; height: 52px; border-radius: 8px; overflow: hidden; background: var(--bg); display: block; }
.lpwa-mini-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lpwa-mini-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.lpwa-mini-title { font-weight: 600; color: var(--text) !important; text-decoration: none !important; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lpwa-mini-title:hover { color: var(--a) !important; }
.lpwa-pill { flex-shrink: 0; padding: 5px 12px; border-radius: 8px; background: var(--a-soft); color: var(--a); font-size: 13px; font-weight: 600; }

/* Toolbar + tabs + search */
.lpwa-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-bottom: 18px; }
.lpwa-tabs { display: flex; gap: 4px; background: var(--bg); padding: 4px; border-radius: 10px; }
.lpwa-tabs a { padding: 7px 16px; border-radius: 8px; font-size: 14px; font-weight: 500; color: var(--muted) !important; text-decoration: none !important; }
.lpwa-tabs a.is-active { background: #fff; color: var(--text) !important; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.lpwa-search { display: flex; align-items: center; gap: 8px; padding: 0 12px; border: 1px solid var(--border); border-radius: 10px; color: var(--muted); background: #fff; min-width: 260px; }
.lpwa-search input { border: 0; outline: 0; padding: 10px 0; font: inherit; width: 100%; background: transparent; }

/* Workshop list */
.lpwb-list { display: flex; flex-direction: column; gap: 12px; }
.lpwb-row { display: flex; align-items: center; gap: 18px; background: #fff; border: 1px solid var(--border); border-radius: var(--radius); padding: 12px; transition: box-shadow .2s; }
.lpwb-row:hover { box-shadow: 0 6px 18px rgba(20, 24, 40, .06); }
.lpwb-row-thumb { flex: 0 0 120px; height: 76px; border-radius: 8px; overflow: hidden; background: var(--bg); display: block; }
.lpwb-row-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lpwb-noimg { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, var(--a), color-mix(in srgb, var(--a) 40%, #ffb606)); opacity: .55; }
.lpwb-row-main { flex: 1; min-width: 0; }
.lpwb-row-title { display: block; font-weight: 600; font-size: 16px; color: var(--text) !important; text-decoration: none !important; margin-bottom: 6px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lpwb-row-title:hover { color: var(--a) !important; }
.lpwb-row-meta { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 13px; color: var(--muted); align-items: center; }
.lpwb-row-meta > span { display: inline-flex; align-items: center; gap: 5px; }
.lpwb-row-actions { display: flex; gap: 8px; flex-shrink: 0; }
.lpwb-empty { text-align: center; padding: 50px 22px; }
.lpwb-empty h3 { margin: 6px 0; }

.lpwb-status { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 12px; font-weight: 600; background: #eef0f3; color: #4b5563; }
.lpwb-status-publish { background: #e6f6ec; color: #1a7f45; }
.lpwb-status-pending { background: #fff3e2; color: #b45f00; }
.lpwb-status-draft { background: #eef0f3; color: #4b5563; }
.lpwb-status-closed { background: #fdecec; color: #c62828; }

/* Messages */
.lpwb-msg { padding: 12px 16px; border-radius: 10px; margin-bottom: 22px; border: 1px solid; font-weight: 500; transition: opacity .4s; }
.lpwb-msg-success { background: #ecfdf3; border-color: #a7e3be; color: #146c3b; }
.lpwb-msg-error { background: #fdecec; border-color: #f5c2c2; color: #a11d1d; }

/* Tables */
.lpwa-table-box { padding: 6px 0; overflow-x: auto; }
.lpwa-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.lpwa-table th { text-align: left; font-weight: 600; color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; padding: 12px 20px; border-bottom: 1px solid var(--border); }
.lpwa-table td { padding: 14px 20px; border-bottom: 1px solid var(--border); vertical-align: middle; }
.lpwa-table tr:last-child td { border-bottom: 0; }
.lpwa-table tr.is-past { opacity: .6; }
.lpwa-nowrap { white-space: nowrap; }
.lpwa-right { text-align: right; white-space: nowrap; }
.lpwa-progress-cell { min-width: 160px; }
.lpwa-progress-label { font-size: 13px; margin-bottom: 5px; }
.lpwa-progress { height: 6px; border-radius: 6px; background: #eef0f3; overflow: hidden; }
.lpwa-progress span { display: block; height: 100%; background: var(--a); border-radius: 6px; }
.lpwa-inline, .lpwa-inline-form { display: inline-flex; gap: 8px; align-items: center; margin: 0; }
.lpwa-inline-form .lpwb-input { margin: 0 !important; padding: 7px 10px; max-width: 260px; }

/* ---------- Forms (edit + settings) ---------- */
.lpwb-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 24px; align-items: start; }
.lpwb-side { position: sticky; top: calc(var(--top) + 24px); }
.lpwb-label { display: block; font-weight: 600; margin: 0 0 6px; font-size: 14px; }
.lpwb-input,
.lpw-builder .lpw-fields input[type=text], .lpw-builder .lpw-fields input[type=number],
.lpw-builder .lpw-fields input[type=date], .lpw-builder .lpw-fields input[type=time],
.lpw-builder .lpw-fields select {
	display: block; width: 100%; padding: 10px 12px; border: 1px solid var(--border); border-radius: 8px; background: #fff; font: inherit; font-size: 15px; color: var(--text);
}
.lpwb-input { margin-bottom: 18px; }
.lpwb-input:focus, .lpw-builder .lpw-fields input:focus, .lpw-builder .lpw-fields select:focus { outline: none; border-color: var(--a); box-shadow: 0 0 0 3px var(--a-soft2); }
.lpwb-input-lg { font-size: 20px; font-weight: 600; padding: 12px 14px; }
textarea.lpwb-input { resize: vertical; }

.lpw-builder .lpw-fields { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 16px 20px; }
.lpw-builder .lpw-fields label { display: block; font-weight: 600; margin-bottom: 6px; font-size: 14px; }
.lpw-builder .lpw-fields .lpw-full { grid-column: 1 / -1; }
.lpw-builder .lpw-check { display: flex; align-items: center; gap: 8px; font-weight: 500 !important; cursor: pointer; margin: 6px 0; }
.lpw-builder .lpw-field .lpw-check { padding-top: 0; }
.lpw-builder input[type=checkbox], .lpw-builder input[type=radio] { accent-color: var(--a); }
.lpw-builder code { background: var(--bg); padding: 1px 5px; border-radius: 4px; font-size: 12px; }

.lpw-builder .wp-editor-wrap { border-radius: 8px; }
.lpw-builder .wp-editor-container { border: 1px solid var(--border); }
.lpw-builder .wp-editor-area { font-size: 15px; font-family: inherit; }
.lpw-builder .wp-switch-editor { padding: 4px 10px; font-size: 13px; }
.lpw-builder .wp-media-buttons .button { border-radius: 6px; }

.lpwb-status-line { margin: 0 0 12px; display: flex; gap: 8px; align-items: center; }
.lpwb-actions { display: flex; gap: 8px; margin-top: 16px; }
.lpwb-actions .lpwb-btn { flex: 1; }

.lpwb-image { position: relative; border: 2px dashed var(--border); border-radius: 10px; aspect-ratio: 16/10; overflow: hidden; background: var(--bg); }
.lpwb-image:hover { border-color: var(--a); }
.lpwb-image-preview { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: none; }
.lpwb-image.has-image .lpwb-image-preview { display: block; }
.lpwb-image-drop { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; text-align: center; cursor: pointer; color: var(--muted); font-size: 14px; padding: 10px; }
.lpwb-image.has-image .lpwb-image-drop span { opacity: 0; background: rgba(0,0,0,.55); color: #fff; padding: 8px 12px; border-radius: 8px; transition: opacity .2s; }
.lpwb-image.has-image:hover .lpwb-image-drop span { opacity: 1; }
.lpwb-image input[type=file] { position: absolute; width: 1px; height: 1px; opacity: 0; }
.lpwb-cats { max-height: 240px; overflow: auto; }

/* Settings */
.lpwa-settings { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 24px; align-items: start; }
.lpwa-subnav { display: flex; flex-direction: column; gap: 4px; position: sticky; top: calc(var(--top) + 24px); }
.lpwa-subnav a { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: 10px; color: var(--muted) !important; text-decoration: none !important; font-weight: 500; }
.lpwa-subnav a:hover { background: var(--bg); color: var(--text) !important; }
.lpwa-subnav a.is-active { background: var(--a-soft); color: var(--a) !important; }
.lpwa-pane { display: none; max-width: 760px; }
.lpwa-pane.is-active { display: block; }
.lpwa-save-bar { max-width: 760px; }
.lpwa-save-bar.is-hidden { display: none; }

.lpwa-switch { display: flex; gap: 14px; align-items: flex-start; cursor: pointer; margin-bottom: 24px; }
.lpwa-switch input { position: absolute; opacity: 0; }
.lpwa-switch-ui { flex: 0 0 44px; height: 24px; border-radius: 24px; background: #d6d8de; position: relative; transition: background .2s; margin-top: 2px; }
.lpwa-switch-ui::after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.2); transition: transform .2s; }
.lpwa-switch input:checked + .lpwa-switch-ui { background: var(--a); }
.lpwa-switch input:checked + .lpwa-switch-ui::after { transform: translateX(20px); }
.lpwa-switch input:focus-visible + .lpwa-switch-ui { box-shadow: 0 0 0 3px var(--a-soft2); }
.lpwa-switch strong { display: block; font-weight: 600; }
.lpwa-switch small { display: block; color: var(--muted); font-size: 13px; margin-top: 2px; }

.lpwa-brand-preview { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border: 1px solid var(--border); border-radius: 10px; background: var(--bg); margin-bottom: 22px; }
.lpwa-brand-preview small { color: var(--muted); }
.lpwa-icon-grid { display: grid; grid-template-columns: repeat(auto-fill, 52px); gap: 10px; margin-bottom: 14px; }
.lpwa-icon-opt { cursor: pointer; }
.lpwa-icon-opt input { position: absolute; opacity: 0; }
.lpwa-icon-opt .lpwa-logo-icon { width: 52px; height: 52px; border-radius: 12px; background: var(--bg); color: var(--muted); border: 2px solid transparent; transition: .15s; }
.lpwa-icon-opt:hover .lpwa-logo-icon { color: var(--a); }
.lpwa-icon-opt input:checked + .lpwa-logo-icon { background: var(--a); color: #fff; border-color: var(--a); box-shadow: 0 0 0 3px var(--a-soft2); }
.lpwa-icon-opt input:checked + .lpwa-logo-icon.is-custom { background: #fff; }
.lpwa-icon-opt input:focus-visible + .lpwa-logo-icon { box-shadow: 0 0 0 3px var(--a-soft2); }
.lpwa-upload-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 24px; }
.lpwa-upload-row .lpw-help { margin: 0; }
.lpwa-file-btn { position: relative; overflow: hidden; }
.lpwa-file-btn input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.lpwa-colors { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.lpwa-swatch { width: 32px; height: 32px; border-radius: 50%; border: 3px solid #fff; box-shadow: 0 0 0 1px var(--border); cursor: pointer; padding: 0; }
.lpwa-swatch.is-active { box-shadow: 0 0 0 2px var(--text); }
.lpwa-colors input[type=color] { width: 44px; height: 34px; border: 1px solid var(--border); border-radius: 8px; padding: 2px; background: #fff; cursor: pointer; }
.lpwa-btn-row { display: flex; gap: 10px; flex-wrap: wrap; }
.lpwa-btn-row form { margin: 0; }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
	.lpwa-row, .lpwa-row-chart, .lpwa-row-side { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
	.lpwb-layout { grid-template-columns: 1fr; }
	.lpwb-side { position: static; }
	.lpwa-settings { grid-template-columns: 1fr; }
	.lpwa-subnav { position: static; flex-direction: row; overflow-x: auto; }
}
@media (max-width: 782px) {
	.lpwa-burger { display: inline-flex; }
	.lpwa-top { padding: 0 12px; }
	.lpwa-logo-text { font-size: 18px; }
	.lpwa-user-text { display: none; }
	.lpwa-side { transform: translateX(-100%); transition: transform .25s; width: 260px; visibility: hidden; }
	.lpwa.is-open .lpwa-side { transform: none; visibility: visible; box-shadow: 0 10px 40px rgba(0,0,0,.15); }
	.lpwa.is-open .lpwa-overlay { display: block; position: fixed; inset: var(--top) 0 0 0; background: rgba(15, 18, 30, .35); z-index: 30; }
	.lpwa-collapse { display: none; }
	.lpwa.is-collapsed { --side: 260px; }
	.lpwa.is-collapsed .lpwa-nav-item span { display: inline; }
	.lpwa-main { margin-left: 0; padding: 22px 16px 50px; }
	.lpwa-h1 { font-size: 26px; }
	.lpwa-stats { grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.lpwa-search { min-width: 0; width: 100%; }
	.lpwb-row { flex-wrap: wrap; }
	.lpwb-row-thumb { flex-basis: 90px; height: 60px; }
}

/* ---------- Inside the LearnPress profile tab ---------- */
.lpw-builder-profile .lpwb-row-thumb { flex-basis: 96px; height: 62px; }

/* Table status badges never wrap */
.lpwa-table .lpwb-status { white-space: nowrap; }
.lpwa-table:not(.lpwe-regs) td:first-child { min-width: 220px; }
.lpwa-table:not(.lpwe-regs) td:first-child { width: 42%; }
.lpwa-date-cell { min-width: 150px; }
.lpwa-table td:last-child, .lpwa-table th:last-child { white-space: nowrap; }
.lpwa-table .lpwa-mini-title { white-space: normal; }

/* =========================================================
   Workshop editor – LearnPress Course Builder layout
   ========================================================= */
.lpwe { margin-top: -8px; }
.lpwe-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }
.lpwe-head-title { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; min-width: 0; }
.lpwe-head-title h1 { margin: 0; font-size: 26px; font-weight: 500; letter-spacing: -.01em; line-height: 1.25; color: var(--text); }
.lpwe-back { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 8px; color: var(--muted) !important; text-decoration: none !important; }
.lpwe-back:hover { background: var(--bg); color: var(--a) !important; }
.lpwe-head .lpwb-status { font-size: 13px; padding: 4px 12px; border-radius: 8px; }
.lpwb-status-future, .lpwb-status-private { background: #e8f1fe; color: #1f5fbf; }
.lpwe-wplink { display: inline-flex; align-items: center; gap: 8px; color: var(--muted) !important; text-decoration: none !important; font-size: 15px; }
.lpwe-wplink:hover { color: var(--a) !important; }
.lpwe-head-actions { display: flex; align-items: center; gap: 12px; }
.lpwe-btn { padding: 12px 22px; font-size: 15px; border-radius: 10px; }
.lpwe-btn.lpwb-btn-light { box-shadow: 0 1px 2px rgba(0,0,0,.04); }

.lpwe-menu { position: relative; }
.lpwe-kebab { width: 44px; height: 44px; border-radius: 10px; }
.lpwe-menu-pop { display: none; position: absolute; right: 0; top: calc(100% + 6px); min-width: 210px; background: #fff; border: 1px solid var(--border); border-radius: 10px; box-shadow: 0 12px 32px rgba(20,24,40,.12); padding: 6px; z-index: 20; }
.lpwe-menu.is-open .lpwe-menu-pop { display: block; }
.lpwe-menu-pop a, .lpwe-menu-pop button { display: flex; align-items: center; gap: 10px; width: 100%; padding: 9px 12px; border: 0; background: none; border-radius: 7px; font: inherit; font-size: 14px; color: var(--text) !important; text-decoration: none !important; cursor: pointer; text-align: left; }
.lpwe-menu-pop a:hover, .lpwe-menu-pop button:hover { background: var(--bg); }
.lpwe-menu-pop .is-danger { color: #c62828 !important; }

/* Top tabs */
.lpwe-tabs { display: flex; align-items: center; gap: 4px; border-bottom: 1px solid var(--border); margin-bottom: 26px; flex-wrap: wrap; }
.lpwe-tabs a { display: inline-flex; align-items: center; gap: 8px; padding: 12px 16px; margin-bottom: -1px; border-bottom: 2px solid transparent; font-weight: 500; font-size: 15px; color: var(--muted) !important; text-decoration: none !important; }
.lpwe-tabs a:hover { color: var(--text) !important; }
.lpwe-tabs a.is-active { color: var(--a) !important; border-bottom-color: var(--a); }
.lpwe-count { min-width: 22px; padding: 1px 7px; border-radius: 12px; background: var(--bg); color: var(--muted); font-size: 12px; font-weight: 600; text-align: center; }
.lpwe-tabs a.is-active .lpwe-count { background: var(--a-soft); color: var(--a); }
.lpwe-tabs-hint { margin-left: auto; color: var(--muted); font-size: 13px; }
.lpwe-panel { display: none; }
.lpwe-panel.is-active { display: block; }

/* Overview grid */
.lpwe-grid { display: grid; grid-template-columns: minmax(300px, 430px) minmax(0, 1fr); gap: 42px; align-items: start; }
.lpwe-field { margin-bottom: 26px; }
.lpwe-label { display: flex; align-items: center; gap: 6px; font-weight: 500; font-size: 16px; margin-bottom: 10px; color: var(--text); }
.lpwe-label-lg { font-size: 16px; }
.lpwe-req { color: #e5484d; }
.lpwe-chip { margin-left: 6px; padding: 2px 9px; border-radius: 6px; background: var(--bg); color: var(--muted); font-size: 12px; font-weight: 500; }
.lpwe .lpwb-input { margin-bottom: 0; }
.lpwe-permalink { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.lpwe-permalink a { color: var(--a) !important; font-size: 14px; word-break: break-all; text-decoration: none !important; line-height: 1.5; }
.lpwe-permalink a:hover { text-decoration: underline !important; }
.lpwe-sm { width: 32px; height: 32px; flex-shrink: 0; }
.lpwe-slug { display: flex; align-items: center; gap: 6px; margin-top: 10px; font-size: 13px; color: var(--muted); flex-wrap: wrap; }
.lpwe-slug .lpwb-input { flex: 1; min-width: 160px; padding: 7px 10px; font-size: 14px; }
.lpwe-row { display: grid; grid-template-columns: 110px 1fr; align-items: center; gap: 12px; margin-bottom: 12px; }
.lpwe-row label { font-size: 14px; color: #4b5064; }
.lpwe-image-actions { display: flex; gap: 10px; margin-top: 16px; }
.lpwe-image-actions[hidden] { display: none; }
.lpwe-soft-btn { padding: 0 18px; height: 38px; border-radius: 8px; border: 0; background: var(--a-soft); color: var(--a); font: inherit; font-size: 14px; font-weight: 500; cursor: pointer; }
.lpwe-soft-btn:hover { background: var(--a-soft2); }
.lpwe .lpwb-image { border-style: solid; border-width: 1px; border-radius: 10px; }
.lpwe .lpwb-image:not(.has-image) { border-style: dashed; border-width: 2px; }
.lpwe .lpwb-image-drop span { line-height: 1.5; }

/* Description editor */
.lpwe-editor { border: 1px solid var(--border); border-radius: 12px; padding: 14px; }
.lpwe-editor .wp-editor-container { border: 0 !important; }
.lpwe-editor .mce-toolbar-grp, .lpwe-editor .quicktags-toolbar { border-bottom: 1px solid var(--border) !important; background: #fff !important; }
.lpwe-editor .wp-editor-tabs { background: var(--bg); padding: 4px; border-radius: 10px; }
.lpwe-editor .wp-switch-editor { border: 0 !important; background: transparent !important; border-radius: 8px; margin: 0 !important; padding: 5px 14px !important; color: var(--muted); }
.lpwe-editor .html-active .switch-html, .lpwe-editor .tmce-active .switch-tmce { background: #fff !important; color: var(--a) !important; box-shadow: 0 1px 2px rgba(0,0,0,.06); }
.lpwe-editor .wp-media-buttons .button { background: #fff; border: 1px solid var(--border); border-radius: 8px; padding: 2px 12px; color: var(--text); }

/* Category / tag boxes */
.lpwe-taxboxes { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.lpwe-taxbox { border: 1px solid var(--border); border-radius: 12px; padding: 18px 18px 20px; min-width: 0; }
.lpwe-taxbox-head { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; }
.lpwe-taxbox-head strong { font-weight: 500; font-size: 16px; }
.lpwe-ghost { border: 0; background: none; color: var(--muted); cursor: pointer; padding: 4px; display: inline-flex; border-radius: 6px; }
.lpwe-ghost:hover { color: var(--a); background: var(--bg); }
.lpwe-addnew { margin-left: auto; border: 0; background: none; color: var(--muted); font: inherit; font-size: 14px; cursor: pointer; }
.lpwe-addnew:hover { color: var(--a); }
.lpwe .lpwe-mini-input { padding: 8px 10px; font-size: 14px; margin-bottom: 12px; }
.lpwe-addrow { display: flex; gap: 8px; margin-bottom: 12px; }
.lpwe-addrow .lpwe-mini-input { margin: 0; }
.lpwe-subtabs { display: flex; gap: 22px; border-bottom: 1px solid var(--border); margin-bottom: 14px; }
.lpwe-subtabs button { border: 0; background: none; padding: 6px 0 10px; margin-bottom: -1px; border-bottom: 2px solid transparent; color: var(--muted); font: inherit; font-size: 14px; cursor: pointer; }
.lpwe-subtabs button.is-active { color: var(--a); border-bottom-color: var(--a); }
.lpwe-checks { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 18px; max-height: 260px; overflow: auto; }
.lpwe-checks[hidden] { display: none; }
.lpwe .lpwe-checks .lpw-check { margin: 4px 0; font-size: 15px; font-weight: 400 !important; }
.lpwe .lpw-check input[type=checkbox] { width: 17px; height: 17px; }
.lpwe-checks .is-new { color: var(--a); }
.lpwe-muted { color: var(--muted); font-size: 12px; }
.lpwe-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.lpwe-tag { display: inline-flex; align-items: center; gap: 4px; padding: 7px 14px; border-radius: 8px; border: 1px solid var(--border); background: #fff; color: var(--text); font: inherit; font-size: 14px; cursor: pointer; }
.lpwe-tag span { color: var(--muted); font-size: 13px; }
.lpwe-tag i { display: none; font-style: normal; margin-left: 4px; color: var(--muted); }
.lpwe-tag.is-on { background: var(--a-soft); border-color: var(--a-soft); color: var(--a); }
.lpwe-tag.is-on span { color: var(--a); opacity: .8; }
.lpwe-tag.is-on i { display: inline; }
.lpwe-tag:hover { border-color: var(--a); }

/* Details tab */
.lpwe-details { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; align-items: start; }
.lpwe-note { display: flex; gap: 8px; align-items: center; padding: 10px 14px; border-radius: 10px; background: var(--a-soft); color: var(--a); font-size: 14px; margin: 0 0 18px; }
.lpwe-big { font-size: 38px; font-weight: 700; line-height: 1; margin-bottom: 16px; }
.lpwe-big small { font-size: 18px; color: var(--muted); font-weight: 500; }
.lpwe-statlist { list-style: none; margin: 0 0 18px; padding: 0; }
.lpwe-statlist li { display: flex; align-items: center; gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--border); font-size: 14px; }
.lpwe-statlist strong { margin-left: auto; }
.lpwe-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: #cbd0d8; flex-shrink: 0; }
.lpwe-dot.is-confirmed { background: #23a55a; }
.lpwe-dot.is-waitlist { background: #f08c00; }
.lpwe-dot.is-attended { background: #2f7ff0; }
.lpwe-dot.is-no_show { background: #e5484d; }
.lpwe-dot.is-cancelled { background: #9aa1ad; }

/* Sessions + registrations split layout */
.lpwe-split { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 26px; align-items: start; }
.lpwe-split-side { position: sticky; top: calc(var(--top) + 24px); }
.lpwe-split .lpwa-card-head { flex-wrap: wrap; }
.lpwe-sessions { display: flex; flex-direction: column; gap: 12px; }
.lpwe-session { display: flex; gap: 18px; align-items: center; padding: 14px; border: 1px solid var(--border); border-radius: 12px; background: #fff; }
.lpwe-session.is-past { opacity: .6; }
.lpwe-session.is-cancelled .lpwe-session-title { text-decoration: line-through; color: var(--muted); }
.lpwe-datebox { flex: 0 0 64px; display: flex; flex-direction: column; align-items: center; padding: 8px 0; border-radius: 10px; background: var(--a-soft); color: var(--a); line-height: 1.15; }
.lpwe-datebox span { font-size: 12px; text-transform: uppercase; font-weight: 600; letter-spacing: .04em; }
.lpwe-datebox strong { font-size: 24px; }
.lpwe-datebox small { font-size: 12px; opacity: .8; }
.lpwe-session-main { flex: 1; min-width: 0; }
.lpwe-session-title { display: flex; align-items: center; gap: 10px; font-weight: 600; margin-bottom: 4px; }
.lpwe-session-seats { display: flex; align-items: center; gap: 12px; margin-top: 8px; font-size: 13px; color: var(--muted); flex-wrap: wrap; }
.lpwe-session-seats .lpwa-progress { width: 140px; }
.lpwe-session-seats .lpwa-link { font-size: 13px; }
.lpwe-session-form .lpwb-input { margin-bottom: 14px; }
.lpwe-3 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.lpwe-3 > div { min-width: 0; }
.lpwe-more { margin: -4px 0 14px; font-size: 14px; }
.lpwe-more summary { cursor: pointer; color: var(--a); margin-bottom: 8px; }
.lpwe-session-form [hidden] { display: none !important; }

.lpwe-pills { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.lpwe-pills a { display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px; border-radius: 20px; border: 1px solid var(--border); font-size: 13px; color: var(--text) !important; text-decoration: none !important; }
.lpwe-pills a span { color: var(--muted); font-weight: 600; }
.lpwe-pills a.is-active { border-color: var(--a); background: var(--a-soft); color: var(--a) !important; }
.lpwe-pills .lpwe-dot { width: 8px; height: 8px; }
.lpwe-bulkbar { display: flex; align-items: center; gap: 10px; padding: 10px 20px 12px; border-bottom: 1px solid var(--border); flex-wrap: wrap; }
.lpwe-bulkbar .lpw-check { margin: 0 8px 0 0; font-size: 14px; }
.lpwe-regs .lpwe-cb { width: 36px; padding-right: 0; }
.lpwe-person { display: block; font-weight: 600; }
.lpwe-contact { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 13px; }
.lpwe-contact a { color: var(--muted) !important; text-decoration: none !important; }
.lpwe-contact a:hover { color: var(--a) !important; }
.lpwe-note-sm { display: block; font-size: 12px; color: var(--muted); font-style: italic; margin-top: 2px; }
.lpwe-sess { font-size: 13px; color: #4b5064; max-width: 220px; }
.lpwe-when { font-size: 13px; white-space: nowrap; }
.lpwe-when small { color: var(--muted); }
.lpwe-status-select { padding: 5px 26px 5px 10px; border-radius: 20px; border: 1px solid transparent; font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; background-color: #eef0f3; }
.lpwe-status-select.is-confirmed { background-color: #e6f6ec; color: #1a7f45; }
.lpwe-status-select.is-waitlist { background-color: #fff3e2; color: #b45f00; }
.lpwe-status-select.is-attended { background-color: #e8f1fe; color: #1f5fbf; }
.lpwe-status-select.is-no_show { background-color: #fdecec; color: #c62828; }
.lpwe-status-select.is-cancelled { background-color: #eef0f3; color: #6b7083; }
.lpwe-delete-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; border: 0; background: none; color: #c62828; font: inherit; font-size: 13px; cursor: pointer; padding: 0; }

/* Settings: language + radio cards */
.lpwa-select-lg { max-width: 360px; }
.lpwa-help-gap { margin: -8px 0 22px !important; }
.lpwa-radio-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 24px; }
.lpwa-radio-cards label { display: flex; gap: 10px; align-items: flex-start; padding: 14px; border: 1px solid var(--border); border-radius: 10px; cursor: pointer; }
.lpwa-radio-cards label:has(input:checked) { border-color: var(--a); background: var(--a-soft); }
.lpwa-radio-cards input { margin-top: 3px; }
.lpwa-radio-cards strong { display: block; font-weight: 600; }
.lpwa-radio-cards small { display: block; color: var(--muted); font-size: 13px; margin-top: 2px; }

@media (max-width: 1280px) {
	.lpwe-taxboxes { grid-template-columns: 1fr; }
}
@media (max-width: 1100px) {
	.lpwe-grid, .lpwe-split, .lpwe-details { grid-template-columns: 1fr; }
	.lpwe-split-side { position: static; }
}
@media (max-width: 782px) {
	.lpwe-head-title h1 { font-size: 21px; }
	.lpwe-head-actions { width: 100%; }
	.lpwe-head-actions .lpwb-btn-primary { flex: 1; }
	.lpwe-checks, .lpwa-radio-cards { grid-template-columns: 1fr; }
	.lpwe-session { flex-wrap: wrap; }
	.lpwe-tabs { overflow-x: auto; flex-wrap: nowrap; }
	.lpwe-tabs-hint { display: none; }
}
.lpwa-filters { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.lpwa-block { display: block; }
.lpwa-pad { padding: 16px 20px; margin: 0 !important; }
.lpwa-badge { display: inline-block; padding: 4px 10px; cursor: default; white-space: nowrap; }
.lpw-builder [hidden] { display: none !important; }
.lpwe-head { flex-wrap: nowrap; }
.lpwe-head-title { flex: 1 1 auto; flex-wrap: nowrap; }
.lpwe-head-title h1 { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.lpwe-head-title .lpwb-status, .lpwe-wplink { flex-shrink: 0; white-space: nowrap; }
.lpwe-head-actions { flex-shrink: 0; }
@media (max-width: 1200px) { .lpwe-wplink span, .lpwe-wplink { font-size: 0; gap: 0; } .lpwe-wplink svg { width: 20px; height: 20px; } }
@media (max-width: 782px) { .lpwe-head, .lpwe-head-title { flex-wrap: wrap; } .lpwe-head-title h1 { white-space: normal; } }

/* ---------- Pickers (venue / organizer / instructors) ---------- */
.lpw-builder .lpw-picker { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.lpw-builder .lpw-picker select { flex: 1 1 220px; min-width: 0; width: auto !important; }
.lpw-picker-add { padding: 9px 14px; font-size: 13px; }
.lpw-picker-edit { width: 40px; height: 40px; }
.lpw-copicker-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.lpw-copicker-chips:empty { display: none; }
.lpw-cochip { display: inline-flex; align-items: center; gap: 8px; padding: 5px 6px 5px 10px; border-radius: 20px; background: var(--a-soft); color: var(--a); font-size: 14px; font-weight: 500; }
.lpw-cochip img { border-radius: 50%; }
.lpw-cochip button { width: 22px; height: 22px; border: 0; border-radius: 50%; background: rgba(255,255,255,.7); color: var(--a); cursor: pointer; font-size: 15px; line-height: 1; padding: 0; }
.lpw-cochip button:hover { background: #fff; }
.lpw-builder .is-error { border-color: #e5484d !important; box-shadow: 0 0 0 3px #fdecec !important; }

/* ---------- Modal ---------- */
.lpw-modal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 20px; }
.lpw-modal-backdrop { position: absolute; inset: 0; background: rgba(15, 18, 30, .5); backdrop-filter: blur(2px); }
.lpw-modal-box { position: relative; width: 100%; max-width: 880px; max-height: calc(100vh - 40px); display: flex; flex-direction: column; background: #fff; border-radius: 16px; box-shadow: 0 30px 80px rgba(0,0,0,.25); overflow: hidden; animation: lpwPop .18s ease-out; }
.lpw-modal-sm { max-width: 560px; }
@keyframes lpwPop { from { transform: translateY(12px) scale(.98); opacity: 0; } to { transform: none; opacity: 1; } }
.lpw-modal-head { display: flex; align-items: center; gap: 12px; padding: 18px 22px; border-bottom: 1px solid var(--border); }
.lpw-modal-head .lpwa-stat-icon { width: 40px; height: 40px; margin: 0; }
.lpw-modal-head h2 { margin: 0; font-size: 19px; font-weight: 600; }
.lpw-modal-x { margin-left: auto; width: 36px; height: 36px; border: 0; border-radius: 8px; background: var(--bg); font-size: 22px; line-height: 1; color: var(--muted); cursor: pointer; }
.lpw-modal-x:hover { color: var(--text); }
.lpw-modal-body { padding: 20px 22px; overflow-y: auto; }
.lpw-modal-body .lpwb-input { margin-bottom: 14px; }
.lpw-modal-grid { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 22px; }
.lpw-modal-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.lpw-modal-2 .is-wide { grid-column: 1 / -1; }
.lpw-modal-side .lpwb-image { margin-bottom: 8px; }
.lpw-modal-side .lpwb-image.is-logo .lpwb-image-preview { object-fit: contain; padding: 14px; background: #fff; }
.lpw-modal-maplabel { margin-top: 14px !important; }
.lpw-modal-map { height: 180px; border-radius: 10px; overflow: hidden; background: var(--bg); display: flex; align-items: center; justify-content: center; text-align: center; color: var(--muted); font-size: 13px; padding: 0; }
.lpw-modal-map span { padding: 12px; }
.lpw-modal-map iframe { width: 100%; height: 100%; border: 0; display: block; }
.lpw-modal-foot { display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding: 14px 22px; border-top: 1px solid var(--border); background: #fafbfc; }
.lpw-modal-error { margin: 0 auto 0 0; color: #c62828; font-size: 14px; }
body.lpw-modal-open { overflow: hidden; }
@media (max-width: 760px) { .lpw-modal-grid, .lpw-modal-2 { grid-template-columns: 1fr; } .lpw-modal { padding: 0; align-items: stretch; } .lpw-modal-box { max-height: 100vh; border-radius: 0; } }

/* ---------- Locations / organizers list ---------- */
.lpwp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; }
.lpwp-card { display: flex; flex-direction: column; border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; background: #fff; }
.lpwp-media { aspect-ratio: 16/9; background: var(--bg); display: flex; align-items: center; justify-content: center; }
.lpwp-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lpwp-media.is-logo img { object-fit: contain; padding: 18px; }
.lpwp-noimg { color: var(--muted); opacity: .6; }
.lpwp-body { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; flex: 1; }
.lpwp-body strong { font-size: 16px; }
.lpwp-body .lpwa-muted { display: flex; gap: 5px; align-items: flex-start; }
.lpwp-body .lpwa-pill { align-self: flex-start; margin-top: 6px; }
.lpwp-actions { display: flex; gap: 8px; justify-content: flex-end; padding: 10px 16px; border-top: 1px solid var(--border); }

/* ---------- Settings: permissions, display, translations ---------- */
.lpwa-h3 { margin: 6px 0 16px; padding-bottom: 8px; border-bottom: 1px solid var(--border); font-size: 15px; font-weight: 600; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
.lpwa-h3 ~ .lpwa-h3 { margin-top: 26px; }
.lpwa-help-tight { margin: -2px 0 10px !important; }
.lpwa-roles { display: flex; flex-wrap: wrap; gap: 6px 10px; margin-bottom: 22px; }
.lpwa-roles .lpw-check { margin: 0 !important; padding: 7px 12px; border: 1px solid var(--border); border-radius: 8px; font-size: 14px; }
.lpwa-roles .lpw-check:has(input:checked) { border-color: var(--a); background: var(--a-soft); color: var(--a); }
.lpwa-radio-3 { grid-template-columns: repeat(3, 1fr); }
.lpwa-toggles { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 20px; margin-bottom: 22px; }
.lpwa-switch-sm { margin-bottom: 12px; align-items: center; }
.lpwa-switch-sm strong { font-weight: 500; font-size: 14px; }
.lpwa-pane-wide { max-width: none; }
.lpwa-m0 { margin: 0 !important; }
.lpwa-tr-toolbar { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-bottom: 14px; }
.lpwa-tr-toolbar .lpwa-search { flex: 1; min-width: 220px; }
.lpwa-tr-toolbar .lpwa-tabs a span { color: var(--muted); font-size: 12px; margin-left: 3px; }
.lpwa-tr-list { border: 1px solid var(--border); border-radius: 10px; max-height: 62vh; overflow: auto; }
.lpwa-tr-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) 38px; gap: 14px; align-items: start; padding: 10px 14px; border-bottom: 1px solid var(--border); }
.lpwa-tr-row:last-child { border-bottom: 0; }
.lpwa-tr-row.is-changed { background: color-mix(in srgb, var(--a) 4%, #fff); }
.lpwa-tr-row.is-empty .lpwa-tr-dst .lpwb-input { border-color: #f5c27a; }
.lpwa-tr-row.is-edited { box-shadow: inset 3px 0 0 var(--a); }
.lpwa-tr-src { font-size: 14px; color: #3b4054; padding-top: 8px; word-break: break-word; }
.lpwa-tr-src small { display: block; color: var(--muted); }
.lpwa-tr-dst .lpwb-input { margin: 0 !important; padding: 7px 10px; font-size: 14px; resize: vertical; min-height: 36px; }
.lpwa-tr-plural { display: grid; grid-template-columns: 90px 1fr; align-items: center; gap: 8px; margin-bottom: 6px; font-size: 12px; color: var(--muted); }
.lpwa-tr-reset { width: 34px; height: 34px; font-size: 16px; margin-top: 2px; }
.lpwa-tr-save { position: sticky; bottom: 0; display: flex; gap: 10px; align-items: center; justify-content: flex-end; padding: 14px 0 0; background: #fff; }
.lpwa-tr-save .lpwa-muted { margin-right: auto; }
@media (max-width: 900px) { .lpwa-tr-row { grid-template-columns: 1fr 34px; } .lpwa-tr-src { grid-column: 1 / -1; padding: 0; } .lpwa-radio-3, .lpwa-toggles { grid-template-columns: 1fr; } }
.lpwa-tr-dst textarea { field-sizing: content; }

/* ---------- 1.5: session form (start/end bar, option cards, repeat) ---------- */
.lpws { background: #fff; border: 1px solid var(--border); border-radius: 16px; padding: 22px; margin-bottom: 28px; }
.lpws-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.lpws-head .lpwb-box-title { display: flex; align-items: center; gap: 8px; margin: 0; }
.lpws-bar { display: flex; flex-wrap: wrap; gap: 18px 40px; padding: 18px 22px; border-radius: 16px; background: linear-gradient(90deg, #fcd9a8 0%, #ffb35c 100%); margin-bottom: 20px; }
.lpws-when > span { display: block; color: #6b4a1f; font-size: 15px; margin-bottom: 6px; }
.lpws-pills { display: flex; gap: 8px; align-items: center; }
.lpws-pills input, .lpws-pills select { border: 0; border-radius: 12px; background: #fff; font: inherit; font-size: 17px; font-weight: 600; color: #6b4a1f; padding: 8px 14px; height: 44px; }
.lpws-pills .lpws-date { min-width: 190px; }
.lpws-pills select { background: #fff3e2; appearance: none; -webkit-appearance: none; text-align: center; padding: 8px 10px; cursor: pointer; }
.lpws-pills input:focus, .lpws-pills select:focus { outline: 2px solid #fff; outline-offset: 2px; }
.lpws-grid { display: grid; grid-template-columns: 1.2fr 1.4fr .8fr; gap: 0 16px; }
.lpws-grid .is-wide { grid-column: 1 / -1; }
.lpws .lpwb-input { margin-bottom: 14px; }

.lpw-optcards { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px; margin: 6px 0 16px; }
.lpw-optcard { position: relative; display: flex; flex-direction: column; gap: 4px; padding: 16px 16px 14px; border-radius: 14px; background: #f1f1f2; cursor: pointer; min-height: 92px; transition: background .15s; }
.lpw-optcard:hover { background: #e9e9eb; }
.lpw-optcard input { position: absolute; opacity: 0; pointer-events: none; }
.lpw-optcard-check { width: 22px; height: 22px; border-radius: 50%; border: 2px solid #9aa1ad; margin-bottom: 8px; display: inline-flex; align-items: center; justify-content: center; background: #fff; }
.lpw-optcard strong { font-weight: 500; font-size: 15px; color: var(--text); }
.lpw-optcard small { font-size: 12px; color: var(--muted); }
.lpw-optcard:has(input:checked) { background: #bfe6fb; }
.lpw-optcard:has(input:checked) .lpw-optcard-check { background: #1d2130; border-color: #1d2130; }
.lpw-optcard:has(input:checked) .lpw-optcard-check::after { content: ""; width: 9px; height: 5px; border: 2px solid #fff; border-top: 0; border-right: 0; transform: rotate(-45deg) translate(1px, -1px); }
.lpw-optcard:has(input:focus-visible) { box-shadow: 0 0 0 3px var(--a-soft2); }

.lpws-panel { background: #f1f1f2; border-radius: 14px; padding: 18px 20px; margin-bottom: 16px; }
.lpws-panel .lpwb-input { background: #fff; }
.lpws-panel-title { margin: 0 0 14px; font-size: 15px; font-weight: 600; }
.lpw-seg { display: inline-flex; flex-wrap: wrap; gap: 2px; padding: 4px; border-radius: 22px; background: #e2e3e6; margin-bottom: 18px; }
.lpw-seg label { cursor: pointer; }
.lpw-seg input { position: absolute; opacity: 0; }
.lpw-seg span { display: inline-block; padding: 7px 14px; border-radius: 18px; font-size: 14px; color: #4b5064; }
.lpw-seg input:checked + span { background: #1d2130; color: #fff; }
.lpw-seg input:focus-visible + span { box-shadow: 0 0 0 2px var(--a); }
.lpws-repeat-row { display: flex; flex-wrap: wrap; gap: 18px 40px; margin-bottom: 16px; }
.lpws-stepper-row { display: flex; align-items: center; gap: 12px; }
.lpw-stepper { display: inline-flex; align-items: center; background: #fff; border-radius: 24px; padding: 4px; box-shadow: 0 1px 2px rgba(0,0,0,.05); }
.lpw-stepper button { width: 36px; height: 36px; border: 0; border-radius: 50%; background: transparent; font-size: 18px; cursor: pointer; color: var(--text); }
.lpw-stepper button:hover { background: var(--bg); }
.lpw-stepper input { width: 56px; border: 0; text-align: center; font: inherit; font-size: 16px; background: transparent; -moz-appearance: textfield; }
.lpw-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; }
.lpws-unit { color: var(--muted); }
.lpw-daychips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.lpw-daychips label { cursor: pointer; }
.lpw-daychips input { position: absolute; opacity: 0; }
.lpw-daychips span { display: inline-flex; align-items: center; justify-content: center; min-width: 48px; padding: 7px 10px; border-radius: 10px; background: #fff; border: 1px solid var(--border); font-size: 14px; }
.lpw-daychips input:checked + span { background: var(--a); border-color: var(--a); color: #fff; }
.lpws-preview strong { display: block; font-size: 14px; margin-bottom: 8px; }
.lpws-dates { display: flex; flex-wrap: wrap; gap: 6px; }
.lpws-dates span { padding: 4px 10px; border-radius: 8px; background: #fff; font-size: 13px; }
.lpws-actions { display: flex; justify-content: flex-end; }
.lpws-listhead { margin-top: 6px; }
.lpws-listhead h2 { display: flex; align-items: center; gap: 8px; }
@media (max-width: 900px) { .lpws-grid { grid-template-columns: 1fr; } .lpws-pills .lpws-date { min-width: 0; flex: 1; } }

/* ---------- 1.5: Details with section menu ---------- */
.lpwd { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 0; border: 1px solid var(--border); border-radius: 16px; overflow: hidden; background: #fff; }
.lpwd-nav { display: flex; flex-direction: column; gap: 2px; padding: 14px 10px; background: #fafafb; border-right: 1px solid var(--border); }
.lpwd-nav a { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 10px; color: var(--text) !important; text-decoration: none !important; font-size: 15px; }
.lpwd-nav a:hover { background: #f0f0f2; }
.lpwd-nav a.is-active { background: #e6e6ea; color: var(--a) !important; }
.lpwd-body { min-width: 0; }
.lpwd-sec { display: none; padding: 22px 26px 18px; }
.lpwd-sec.is-active { display: block; }
.lpwd-title { display: flex; align-items: center; gap: 10px; margin: 0 0 20px; font-size: 18px; font-weight: 600; }
.lpwd-help { margin: -8px 0 16px !important; }
.lpwd-pager { display: flex; justify-content: space-between; gap: 10px; margin-top: 26px; padding-top: 16px; border-top: 1px solid var(--border); }
.lpwd-pager-btn { padding: 9px 18px; border-radius: 22px; border: 1px solid #c9ccd3; background: #f6f6f7; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; color: var(--text); }
.lpwd-pager-btn:hover { border-color: var(--a); color: var(--a); }
.lpwd-pager-btn.is-next { margin-left: auto; }
.lpwd-health { background: #f1f1f2; border-radius: 14px; padding: 18px 20px 6px; margin-top: 4px; }
.lpwd-health .lpwa-switch { margin-bottom: 14px; }
.lpwd-health .lpwb-input { background: #fff; }
.lpwd-regsum { margin-top: 18px; padding: 18px; border: 1px solid var(--border); border-radius: 12px; max-width: 420px; }

/* Location / organizer box */
.lpw-placebox-current { display: flex; align-items: center; gap: 6px; padding: 10px 10px 10px 18px; border: 1px solid #1d2130; border-radius: 24px; margin-bottom: 8px; }
.lpw-placebox-current.is-empty { border-color: var(--border); color: var(--muted); }
.lpw-placebox-current.is-empty .lpw-placebox-ico { display: none; }
.lpw-placebox-text { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 15px; }
.lpw-placebox-ico { width: 30px; height: 30px; border: 0; border-radius: 50%; background: transparent; cursor: pointer; font-size: 18px; color: var(--text); display: inline-flex; align-items: center; justify-content: center; }
.lpw-placebox-ico:hover { background: var(--bg); }
.lpw-placebox-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--border); }
.lpw-placebox-row strong { display: block; font-weight: 500; font-size: 15px; }
.lpw-placebox-row small { color: var(--muted); font-size: 13px; }
.lpw-dark-btn { flex-shrink: 0; padding: 9px 18px; border: 0; border-radius: 20px; background: #1d2130; color: #fff; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.lpw-dark-btn:hover { background: #000; }
.lpw-placebox .lpw-optcards { margin-top: 14px; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }

/* FAQ repeater */
.lpwd-faq { display: flex; flex-direction: column; gap: 12px; margin-top: 14px; }
.lpwd-faq-item { padding: 14px; border-radius: 12px; background: #f6f6f7; }
.lpwd-faq-item .lpwb-input { background: #fff; margin-bottom: 8px; }
.lpwd-faq-tools { display: flex; align-items: center; gap: 6px; margin-bottom: 8px; }
.lpwd-faq-tools .lpwb-icon-btn { width: 32px; height: 32px; }
.lpwd-faq-num { margin-right: auto; font-weight: 600; color: var(--muted); font-size: 13px; }

/* Picker popup list */
.lpw-picklist { list-style: none; margin: 14px 0 0; padding: 0; max-height: 50vh; overflow: auto; }
.lpw-picklist button { display: flex; align-items: center; gap: 12px; width: 100%; padding: 10px; border: 0; border-radius: 10px; background: none; text-align: left; font: inherit; cursor: pointer; }
.lpw-picklist button:hover { background: var(--a-soft); }
.lpw-picklist img, .lpw-picklist-noimg { width: 56px; height: 42px; border-radius: 8px; object-fit: cover; background: var(--bg); flex-shrink: 0; }
.lpw-picklist strong { display: block; }
.lpw-picklist small { color: var(--muted); }
.lpw-picklist-empty { padding: 12px; color: var(--muted); }
.lpw-modal .lpwa-search { width: 100%; }
@media (max-width: 900px) { .lpwd { grid-template-columns: 1fr; } .lpwd-nav { flex-direction: row; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--border); } .lpwd-nav a span { white-space: nowrap; } }
.lpwa-3col { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 14px; }
.lpwa-2col { grid-template-columns: repeat(2, 1fr); }
.lpwa-colorgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; margin-bottom: 18px; }
.lpwa-colorpick { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border: 1px solid var(--border); border-radius: 10px; cursor: pointer; font-size: 13px; }
.lpwa-colorpick input { width: 34px; height: 30px; border: 0; padding: 0; background: none; cursor: pointer; }
.lpwa-preview-card { --pp: #ffb606; --ps: #442e66; --pt: #333; --ph: #fff; --pb: #fff; --pr: 6px; max-width: 420px; border: 1px solid var(--border); border-radius: var(--pr); overflow: hidden; margin: 4px 0 24px; }
.lpwa-pc-hero { padding: 18px; background: var(--ps); color: var(--ph); }
.lpwa-pc-hero.is-gradient { background: linear-gradient(120deg, var(--ps), color-mix(in srgb, var(--ps) 55%, var(--pp))); }
.lpwa-pc-hero small { display: block; color: var(--pp); font-weight: 600; }
.lpwa-pc-hero strong { font-size: 18px; }
.lpwa-pc-body { padding: 14px 18px 18px; color: var(--pt); }
.lpwa-pc-body p { margin: 0 0 12px; }
.lpwa-pc-btn { display: inline-block; padding: 9px 18px; border-radius: var(--pr); background: var(--pp); color: var(--pb); font-weight: 600; }
.lpwa-code { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 13px; }
@media (max-width: 900px) { .lpwa-3col, .lpwa-2col { grid-template-columns: 1fr; } }
