/* List your event: step flow with a live preview. */
.lsteps{display:flex;gap:6px;list-style:none;margin:0 0 18px;padding:0;flex-wrap:wrap}
.lsteps li{flex:1 1 90px;min-width:0}
.lsteps button{width:100%;display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:transparent;color:var(--muted);cursor:pointer;font-size:14px;text-align:left}
.lsteps i{font-style:normal;display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--border-strong);font-size:12px;flex:none}
.lsteps li.on button{border-color:var(--brand);color:var(--text);background:var(--panel)}
.lsteps li.on i{background:var(--brand);border-color:var(--brand);color:#06220f;font-weight:700}
.lsteps li.done button{color:var(--text)}
.lsteps li.done i{background:var(--panel);color:var(--brand)}
.lw{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}
.lh{font-size:24px;margin:0 0 4px}
.lnav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px;padding-top:16px;border-top:1px solid var(--border)}
.lnav .btn{min-height:46px}
.lprev{position:sticky;top:calc(76px + env(safe-area-inset-top,0px));border:1px solid var(--border);border-radius:14px;padding:14px;background:var(--panel)}
.lprev-card .flyer{aspect-ratio:16/10;margin-bottom:10px}
.lprev-b{display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.lprev-n{font:700 18px var(--display)}
.lprev-wa{margin-top:8px;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;background:#25d366;color:#06220f;font-weight:700;font-size:14px}
.lprev-plan{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}
.lrev{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}
@media (max-width:820px){.lw{grid-template-columns:minmax(0,1fr)}.lprev{position:static;order:-1;display:none}.lsteps span{display:none}.lsteps li.on span{display:inline}.lsteps li{flex:0 0 auto}}

.lh2{font-size:18px;margin:24px 0 8px}
.lplan .lh2{margin-top:6px}
.lparsed{display:flex;flex-direction:column;gap:6px;margin:6px 0 4px}
.lp-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:14px}
.lp-row.bad{border-color:var(--error,#e5484d)}
.lmeter{border:1px solid var(--border);border-radius:10px;padding:12px;margin:0 0 12px;display:flex;flex-direction:column;gap:8px}
.lm-bar{height:8px;border-radius:4px;background:var(--border);overflow:hidden}
.lm-bar i{display:block;height:100%;background:var(--brand)}
.lmeter.over .lm-bar i{background:var(--error,#e5484d)}
.lm-t{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:14px}
.lm-t span{color:var(--muted)}
.lmeter.over .lm-t span{color:var(--error,#e5484d)}
.lmeter .btn{align-self:flex-start}

/* Category tiles */
.lcat-head{display:flex;justify-content:space-between;align-items:center;margin:0 0 10px}
.lcats{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.lcat{position:relative;text-align:left;display:flex;flex-direction:column;gap:4px;padding:14px 12px 12px;border:1px solid var(--border);border-radius:12px;background:var(--panel);color:var(--text);cursor:pointer;min-height:104px;overflow:hidden}
.lcat::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--brand)}
.lcat.h-yellow::before{background:#facc15}.lcat.h-violet::before{background:#a78bfa}.lcat.h-coral::before{background:#fb7185}.lcat.h-blue::before{background:#60a5fa}.lcat.h-green::before{background:#39c984}
.lcat b{font-size:15px}.lcat small{color:var(--muted);font-size:12px;line-height:1.3}.lcat span{margin-top:auto;font-size:12px;color:var(--muted)}
.lcat i{position:absolute;right:10px;top:10px;width:22px;height:22px;border-radius:50%;border:1px solid var(--border-strong);display:grid;place-items:center;font-style:normal;font-size:13px}
.lcat.on{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand) inset}
.lcat.on i{background:var(--brand);border-color:var(--brand);color:#06220f;font-weight:700}
/* Plan cards and quick split */
.pkgs{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:10px;margin:0 0 12px}
.pkgcard{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--panel);cursor:pointer}
.pkgcard input{position:absolute;opacity:0;inset:0;cursor:pointer}
.pkgcard b{font:700 22px var(--display)}.pkgcard span{font-size:12px;color:var(--muted)}.pkgcard em{font-style:normal;font-weight:700;margin-top:6px}.pkgcard small{color:var(--muted);font-size:12px}
.pkgcard:has(input:checked){border-color:var(--brand);box-shadow:0 0 0 1px var(--brand) inset}
.pkgcard:has(input:focus-visible){outline:2px solid var(--brand);outline-offset:2px}
.pkgx{padding:12px;border:1px solid var(--border);border-radius:12px}
.lpresets{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 12px}
.lbundles{margin:18px 0 0;border-top:1px solid var(--border);padding-top:6px}
.lbundles summary{cursor:pointer;font-weight:600;padding:10px 0}

/* Category pills and ticket slots (simple) */
.lpills{display:flex;flex-wrap:wrap;gap:10px}
.lpill{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid var(--border-strong);border-radius:999px;background:transparent;color:var(--text);cursor:pointer;font-size:15px}
.lpill i{width:10px;height:10px;border-radius:50%;background:var(--brand)}
.lpill.h-yellow i{background:#facc15}.lpill.h-violet i{background:#a78bfa}.lpill.h-coral i{background:#fb7185}.lpill.h-blue i{background:#60a5fa}
.lpill small{color:var(--muted);font-size:12px}
@media (hover:hover){.lpill:hover{border-color:var(--text)}}
.lpill.on{background:var(--brand);border-color:var(--brand);color:#06220f;font-weight:700}
.lpill.on i{background:#06220f}.lpill.on small{color:#06220f}
.slots{display:flex;flex-direction:column;gap:8px}
.slot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px;gap:8px;align-items:end;padding:10px;border:1px solid var(--border);border-radius:10px}
.slot-n{grid-column:1/-1}
.slot-f{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}
.slot .iconbtn{align-self:end;height:40px}

.slot .inp,.slot-f{color:#fff}
.slot .inp::placeholder{color:var(--muted)}

