:root {
  --accent: #635bff;
  --bg: #f6f7fb;
  --card: #fff;
  --text: #111827;
  --muted: #6b7280;
  --line: #e5e7eb;
  --danger: #ef4444;
  --ok: #16a34a;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, sans-serif;
  background: var(--bg);
  color: var(--text);
}

button,
input {
  font: inherit;
}

#app {
  display: flex;
  min-height: 100vh;
}

/* ================= Sidebar ================= */

.sidebar {
  width: 280px;
  background: #0d1020;
  color: white;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 28px;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: hidden;
}

.brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 10px 0 18px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.sidebar-logo {
  width: 180px;
  max-width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  margin: 0 auto 10px;
}

.brand-subtitle,
.sidebar-footer span {
  margin: 0;
  color: #a9aec8;
  font-size: 13px;
}

.mini-logo{
  width:220px;
  height:auto;
  margin:0 auto 24px;
  display:flex;
  justify-content:center;
  align-items:center;
}

.mini-logo img{
  width:100%;
  height:auto;
  object-fit:contain;
  display:block;
}

nav {
  display: grid;
  gap: 8px;
}

.nav-btn {
  background: transparent;
  color: #c9cce0;
  border: 0;
  text-align: left;
  padding: 13px 14px;
  border-radius: 14px;
  cursor: pointer;
}

.nav-btn.active,
.nav-btn:hover {
  background: rgba(255, 255, 255, 0.1);
  color: white;
}

.sidebar-footer {
  margin-top: auto;
  font-size: 13px;
  display: grid;
  gap: 4px;
}

/* ================= Main ================= */

.main {
  flex: 1;
  padding: 28px;
  overflow: auto;
}

.topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}

.eyebrow {
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--accent);
  font-size: 12px;
  font-weight: 800;
  margin: 0 0 6px;
}

.topbar h2 {
  font-size: 30px;
  margin: 0;
}

.top-actions {
  display: flex;
  gap: 10px;
}

/* ================= Buttons ================= */

.primary,
.ghost,
.danger,
.event-card button,
.invite-actions button,
.ticket-options button {
  border: 0;
  border-radius: 14px;
  padding: 12px 16px;
  cursor: pointer;
  font-weight: 800;
}

.primary {
  background: var(--accent);
  color: white;
}

.ghost {
  background: white;
  color: var(--text);
  border: 1px solid var(--line);
}

.danger {
  background: var(--danger);
  color: white;
}

.full {
  width: 100%;
  margin-top: 12px;
}

/* ================= Pages ================= */

.page {
  display: none;
}

.page.active {
  display: block;
}

/* ================= Cards ================= */

.hero-card,
.panel,
.upload-box,
.ticket-shop,
.final-ticket,
.scan-result,
.event-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 26px;
  padding: 24px;
  box-shadow: 0 18px 50px rgba(15, 23, 42, .06);
}

.hero-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 18px;
  background: linear-gradient(135deg, #fff, #eef0ff);
}

.hero-card h3 {
  font-size: 28px;
  margin: 0 0 8px;
}

.hero-card p {
  color: var(--muted);
  margin: 0;
}

/* ================= Status ================= */

.live-pill,
.tag,
.status {
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  background: #ecfdf5;
  color: var(--ok);
}

.tag {
  background: #eef2ff;
  color: var(--accent);
}

.tag.live,
.status.live {
  background: #ecfdf5;
  color: var(--ok);
}

.status.ok {
  background: #ecfdf5;
  color: var(--ok);
}

/* ================= Stats ================= */

.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 18px;
}

.stat {
  background: white;
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 20px;
}

.stat span {
  display: block;
  color: var(--muted);
  font-size: 13px;
}

.stat strong {
  font-size: 30px;
  display: block;
  margin: 8px 0;
}

.stat small {
  color: var(--muted);
}

/* ================= Layout ================= */

.two-col,
.invite-preview,
.shop-layout,
.scanner-layout {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 18px;
}

.panel-head,
.section-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
}

.panel h3,
.section-head h3 {
  margin: 0;
}

.panel-head span {
  color: var(--muted);
  font-size: 13px;
}

/* ================= Progress ================= */

.progress-list {
  display: grid;
  gap: 18px;
}

.progress-list > div {
  display: grid;
  grid-template-columns: 120px 1fr 70px;
  gap: 12px;
  align-items: center;
}

.bar {
  height: 10px;
  background: #eef0f4;
  border-radius: 999px;
  overflow: hidden;
}

.bar i {
  display: block;
  height: 100%;
  background: var(--accent);
  border-radius: 999px;
}

/* ================= Activity ================= */

.activity {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 12px;
}

.activity li {
  border-bottom: 1px solid var(--line);
  padding-bottom: 12px;
}

.activity b {
  display: block;
}

.activity span {
  color: var(--muted);
  font-size: 14px;
}

/* ================= Event Cards ================= */

.cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 18px;
}

.event-card h3 {
  margin: 16px 0 6px;
}

.event-card p {
  color: var(--muted);
}

.event-card button {
  width: 100%;
  background: #f3f4f6;
}

/* ================= Forms ================= */

.form-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

input {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 13px;
  background: #fbfbfd;
}

.upload-box {
  text-align: center;
  margin-bottom: 18px;
  border-style: dashed;
}

/* ================= Tables ================= */

table {
  width: 100%;
  border-collapse: collapse;
}

th,
td {
  text-align: left;
  border-bottom: 1px solid var(--line);
  padding: 13px;
}

th {
  color: var(--muted);
  font-size: 13px;
}

/* ================= Invitation ================= */

.invite-card {
  background: #101427;
  color: white;
  border-radius: 30px;
  padding: 34px;
  text-align: center;
  box-shadow: 0 30px 80px rgba(16, 20, 39, .2);
}

.invite-card .mini-logo {
  margin: 0 auto 20px;
}

.invite-card .eyebrow {
  color: #b7b2ff;
}

.qr-box {
  width: 140px;
  height: 140px;
  background: repeating-linear-gradient(
    45deg,
    #111 0 8px,
    #fff 8px 16px
  );
  border: 12px solid white;
  border-radius: 18px;
  margin: 22px auto;
  color: transparent;
}

.invite-actions {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.invite-actions button {
  font-size: 12px;
}

.custom-row {
  display: flex;
  justify-content: space-between;
  padding: 15px 0;
  border-bottom: 1px solid var(--line);
}

/* ================= Ticket Shop ================= */

.ticket-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 18px 0;
}

.ticket-options button {
  background: #f3f4f6;
}

.ticket-options .selected {
  background: var(--accent);
  color: white;
}

.seating {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 8px;
  margin: 18px 0;
}

.seat {
  aspect-ratio: 1;
  border-radius: 10px;
  border: 0;
  background: #dcfce7;
  color: #166534;
  font-weight: 900;
  cursor: pointer;
}

.seat.reserved {
  background: #fee2e2;
  color: #991b1b;
  cursor: not-allowed;
}

.seat.selected {
  background: #fef3c7;
  color: #92400e;
}

/* ================= Final Ticket ================= */

.final-ticket {
  text-align: center;
  background: #111827;
  color: white;
}

.final-ticket span,
.final-ticket small {
  color: #aeb4c5;
}

/* ================= Scanner ================= */

.scanner-layout {
  align-items: stretch;
}

.scanner-panel p {
  color: var(--muted);
}

#reader {
  min-height: 120px;
  border: 1px dashed var(--line);
  border-radius: 18px;
  background: #f9fafb;
  margin: 18px 0;
  display: grid;
  place-items: center;
  color: var(--muted);
}

.scan-result {
  display: grid;
  place-items: center;
  text-align: center;
}

.scan-result.accepted {
  background: #ecfdf5;
  border-color: #bbf7d0;
}

.scan-result.rejected {
  background: #fef2f2;
  border-color: #fecaca;
}

.scan-result h2 {
  font-size: 38px;
  margin: 8px 0;
}

/* ================= Responsive ================= */

@media (max-width: 900px) {

  #app {
    display: block;
  }

  .sidebar {
    position: relative;
    width: 100%;
    height: auto;
    overflow: visible;
  }

  .sidebar-logo {
    width: 150px;
  }

  .main {
    padding: 18px;
  }

  .topbar,
  .hero-card {
    display: block;
  }

  .top-actions {
    margin-top: 14px;
  }

  .stats-grid,
  .two-col,
  .invite-preview,
  .shop-layout,
  .scanner-layout,
  .cards-grid,
  .form-grid {
    grid-template-columns: 1fr;
  }

  .progress-list > div {
    grid-template-columns: 1fr;
  }

  .invite-actions {
    grid-template-columns: 1fr;
  }
}

/* ================= Login Demo ================= */
body.app-locked #app {
  display: none;
}

.login-screen {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    radial-gradient(circle at top left, rgba(99,91,255,.28), transparent 34%),
    linear-gradient(135deg, #0d1020, #111827);
}

.login-card {
  width: min(430px, 100%);
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 30px;
  padding: 34px;
  box-shadow: 0 30px 90px rgba(0,0,0,.28);
}

.login-logo {
  width: 210px;
  display: block;
  margin: 0 auto 24px;
}

.login-card h1 {
  font-size: 30px;
  margin: 0 0 10px;
}

.login-hint {
  color: var(--muted);
  margin: 0 0 22px;
  line-height: 1.6;
}

.login-card label {
  display: block;
  margin: 14px 0 7px;
  font-weight: 800;
  font-size: 13px;
}

.login-error {
  min-height: 20px;
  color: var(--danger);
  font-weight: 800;
  margin: 12px 0 0;
}

.demo-credentials {
  margin-top: 18px;
  padding: 14px;
  border-radius: 18px;
  background: #f3f4f6;
  display: grid;
  gap: 4px;
}

.demo-credentials span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}

@media (max-width: 520px) {
  .login-card {
    padding: 24px;
  }

  .login-logo {
    width: 170px;
  }
}


/* ================= Phase 2: Event Wizard + Details ================= */
.wizard-shell{display:grid;grid-template-columns:320px 1fr;gap:18px;align-items:stretch}.wizard-side{background:#0d1020;color:white;border-radius:30px;padding:28px;box-shadow:0 24px 70px rgba(13,16,32,.18)}.wizard-side h3{font-size:26px;margin:0 0 24px;line-height:1.2}.wizard-steps{display:grid;gap:12px}.wizard-step{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);color:#c9cce0;border-radius:18px;padding:14px;text-align:left;cursor:pointer}.wizard-step b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);color:white}.wizard-step.active{background:var(--accent);color:white}.wizard-main{min-height:450px;display:flex;flex-direction:column}.wizard-pane{display:none}.wizard-pane.active{display:block}.form-grid.two{grid-template-columns:1fr 1fr}.wizard-actions{display:flex;justify-content:space-between;margin-top:auto;padding-top:24px}.ticket-class,.toggle-row,.gate-row{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.toggle-row{grid-template-columns:1fr auto}.muted-copy,.center-note{color:var(--muted)}.event-detail-hero{min-height:210px;border-radius:34px;padding:30px;background:linear-gradient(135deg,rgba(13,16,32,.94),rgba(99,91,255,.78)),url('assets/images/logo.png');background-size:520px,340px;background-position:center,right 40px center;background-repeat:no-repeat;color:white;display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:18px;box-shadow:0 30px 90px rgba(13,16,32,.18)}.event-detail-hero h2{font-size:38px;margin:0 0 8px}.event-detail-hero p:not(.eyebrow){color:#d7d9ea;margin:0}.detail-tabs{display:flex;gap:10px;overflow:auto;margin-bottom:18px}.detail-tabs button{border:1px solid var(--line);background:white;border-radius:999px;padding:10px 14px;font-weight:800;cursor:pointer;white-space:nowrap}.detail-tabs button.active{background:var(--accent);color:white}.real-qr{width:190px;height:190px;margin:0 auto 12px;display:grid;grid-template-columns:repeat(17,1fr);grid-template-rows:repeat(17,1fr);gap:2px;background:white;padding:12px;border-radius:22px;box-shadow:0 18px 50px rgba(15,23,42,.08)}.real-qr i{border-radius:2px;background:#111827}.real-qr i.empty{background:#fff}.center-note{text-align:center;margin:0}.gate-row{grid-template-columns:90px 1fr 90px}.event-card,.stat,.panel,.hero-card{transition:transform .18s ease,box-shadow .18s ease}.event-card:hover,.stat:hover,.panel:hover,.hero-card:hover{transform:translateY(-3px);box-shadow:0 24px 65px rgba(15,23,42,.1)}
@media (max-width:900px){.wizard-shell{grid-template-columns:1fr}.form-grid.two{grid-template-columns:1fr}.event-detail-hero{display:block;background-size:520px,260px}.event-detail-hero h2{font-size:28px}.ticket-class{grid-template-columns:1fr}.gate-row{grid-template-columns:1fr}}


/* ================= Real QR + Camera Scanner ================= */
.qr-box,
.real-qr {
  background: #fff;
  border: 12px solid #fff;
  border-radius: 18px;
  margin: 22px auto;
  color: transparent;
  display: grid;
  place-items: center;
  overflow: hidden;
}

.qr-box img,
.real-qr img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

.real-qr {
  width: 190px;
  height: 190px;
}

#reader {
  overflow: hidden;
}

#reader video {
  border-radius: 18px;
}


/* ================= Excel Import ================= */
.excel-import-box .upload-actions{
  display:flex;
  gap:10px;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:16px;
}
.file-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.import-summary{
  margin:16px auto 0;
  width:fit-content;
  max-width:100%;
  padding:10px 14px;
  border-radius:999px;
  background:#eef2ff;
  color:var(--accent);
  font-weight:900;
  font-size:13px;
}

.confirmed-btn{background:#16a34a!important;color:white!important;}


/* ================= Event Details v2.4.0 ================= */
.premium-event-hero{position:relative;overflow:hidden}
.hero-actions{display:grid;gap:12px;justify-items:end}
.hero-btn{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.14);color:white;border-radius:999px;padding:10px 14px;font-weight:900;cursor:pointer;backdrop-filter:blur(10px)}
.event-kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.event-kpi-strip>div{background:white;border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:0 14px 45px rgba(15,23,42,.05)}
.event-kpi-strip span{display:block;color:var(--muted);font-size:13px}.event-kpi-strip strong{display:block;font-size:28px;margin:6px 0}.event-kpi-strip small{color:var(--muted)}
.detail-pane{display:none}.detail-pane.active{display:block}.detail-lower{margin-top:18px}.inline-actions{display:flex;gap:10px}.snapshot-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.snapshot-grid>div{padding:14px;border:1px solid var(--line);border-radius:18px;background:#fbfbfd}.snapshot-grid span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.quick-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.campaign-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.campaign-flow>div{border:1px solid var(--line);border-radius:20px;padding:18px;background:#fbfbfd}.campaign-flow b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:white;margin-bottom:10px}.stage-label{text-align:center;font-weight:900;letter-spacing:.18em;color:var(--muted);padding:12px;border:1px dashed var(--line);border-radius:16px;margin-bottom:16px}.detail-seating{grid-template-columns:repeat(10,1fr);max-width:720px;margin:0 auto 16px}.seat-legend{display:flex;gap:16px;justify-content:center;color:var(--muted);font-size:13px}.seat-legend i{display:inline-block;width:12px;height:12px;border-radius:4px;margin-right:6px;vertical-align:middle}.seat-legend .available{background:#dcfce7}.seat-legend .selected{background:#fef3c7}.seat-legend .reserved{background:#fee2e2}.scanner-box-mini{min-height:160px;border:1px dashed var(--line);border-radius:20px;display:grid;place-items:center;background:#f9fafb;color:var(--muted);margin:18px 0}.chart-bars{height:220px;display:flex;align-items:end;gap:14px;padding:18px;border-radius:22px;background:#fbfbfd}.chart-bars i{flex:1;background:linear-gradient(180deg,var(--accent),#a7a3ff);border-radius:12px 12px 4px 4px;min-height:22px}.settings-actions{display:flex;gap:10px;margin-top:18px}
@media(max-width:900px){.event-kpi-strip,.campaign-flow,.snapshot-grid,.quick-actions-grid{grid-template-columns:1fr}.hero-actions{justify-items:start;margin-top:18px}.detail-seating{grid-template-columns:repeat(5,1fr)}.inline-actions,.settings-actions{flex-direction:column}.seat-legend{flex-wrap:wrap}}


/* ================= Venue Seating Designer v2.5.0 ================= */
.venue-designer{
  display:grid;
  grid-template-columns: 320px 1fr;
  gap:18px;
  align-items:start;
}

.designer-tools{position:sticky;top:18px}.muted-copy{color:var(--muted);line-height:1.6}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.tool-btn{border:1px solid var(--line);background:#fff;border-radius:16px;padding:13px 10px;cursor:pointer;font-weight:900;text-align:center;transition:.18s ease}.tool-btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(15,23,42,.08);border-color:var(--accent)}.designer-actions{margin:16px 0}.designer-board-wrap{overflow:hidden}.designer-board{height:560px;border:1px dashed #cfd5e5;border-radius:24px;background:linear-gradient(90deg,rgba(99,91,255,.06) 1px,transparent 1px),linear-gradient(rgba(99,91,255,.06) 1px,transparent 1px),#fbfcff;background-size:28px 28px;position:relative;overflow:hidden;touch-action:none}.board-grid{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 0%, rgba(99,91,255,.10), transparent 35%)}.venue-item{position:absolute;display:grid;place-items:center;border:2px solid rgba(17,24,39,.12);box-shadow:0 15px 35px rgba(15,23,42,.12);cursor:grab;user-select:none;font-weight:900;text-align:center;color:#111827;background:#fff;transition:box-shadow .15s ease, transform .15s ease}.venue-item:active{cursor:grabbing}.venue-item.selected{outline:4px solid rgba(99,91,255,.18);border-color:var(--accent);z-index:5}.venue-item.reserved{opacity:.75;filter:saturate(.7)}.venue-item .item-label{font-size:12px;line-height:1.15}.venue-item .item-icon{font-size:22px;display:block;margin-bottom:2px}.shape-chair{width:58px;height:58px;border-radius:16px;background:#dcfce7;color:#166534}.shape-table{width:92px;height:92px;border-radius:50%;background:#eef2ff;color:#3730a3}.shape-viptable{width:112px;height:112px;border-radius:50%;background:#fef3c7;color:#92400e}.shape-sofa{width:132px;height:64px;border-radius:24px;background:#e0f2fe;color:#075985}.shape-beanbag{width:74px;height:74px;border-radius:48% 52% 42% 58%;background:#f3e8ff;color:#7e22ce}.shape-stage{width:220px;height:64px;border-radius:20px;background:#111827;color:#fff}.shape-entrance{width:130px;height:54px;border-radius:16px;background:#ecfdf5;color:#047857}.shape-bar{width:150px;height:56px;border-radius:16px;background:#fee2e2;color:#991b1b}

@media (max-width:900px){.venue-designer{grid-template-columns:1fr}.designer-tools{position:relative;top:auto}.designer-board{height:520px}.tool-grid{grid-template-columns:1fr 1fr}.shape-stage{width:180px}}

/* ================= Venue Designer v2.7.0 ================= */
.venue-designer{
  grid-template-columns: 360px 1fr;
}
.tool-group-title{
  margin:18px 0 8px;
  color:var(--muted);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:900;
}
.tool-grid.compact{
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin:8px 0 10px;
}
.tool-grid.compact .tool-btn{
  padding:10px 8px;
  font-size:12px;
  border-radius:13px;
}
.properties-panel{
  margin-top:16px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fbfbfd;
}
.properties-panel h4{margin:0 0 12px;font-size:16px}.properties-panel label{display:block;margin:10px 0 6px;font-weight:900;font-size:12px;color:var(--muted)}.properties-panel input,.properties-panel select{width:100%;border:1px solid var(--line);border-radius:12px;padding:10px;background:white}.prop-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.prop-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.prop-actions button[disabled]{opacity:.45;cursor:not-allowed}.venue-item{border-radius:16px}.venue-item .item-label small{display:block;font-size:10px;margin-top:2px;opacity:.75}.resize-handle{position:absolute;right:-7px;bottom:-7px;width:16px;height:16px;border-radius:50%;background:var(--accent);border:3px solid white;box-shadow:0 8px 18px rgba(15,23,42,.25);cursor:nwse-resize;display:none}.venue-item.selected .resize-handle{display:block}.status-sold{opacity:.55!important;filter:saturate(.4)}.status-reserved{outline:3px dashed rgba(245,158,11,.45)}.status-hidden{opacity:.25!important}.shape-recttable,.shape-bench,.shape-boothseat,.shape-exit,.shape-emergency,.shape-registration,.shape-scannerGate,.shape-security,.shape-reception,.shape-buffet,.shape-coffee,.shape-toilets,.shape-prayer,.shape-firstaid,.shape-screen,.shape-projector,.shape-photobooth,.shape-sponsor,.shape-branding,.shape-kids{color:#111827}.shape-screen{color:#fff}.designer-board{min-width:720px}.designer-board-wrap{overflow:auto}
@media (max-width:900px){.venue-designer{grid-template-columns:1fr}.tool-grid.compact{grid-template-columns:1fr 1fr}.designer-board{min-width:680px}.prop-grid{grid-template-columns:1fr}}

/* Rotation handle for Venue Designer v2.7.0 */
.rotate-handle{
  position:absolute;
  left:50%;
  top:-34px;
  width:20px;
  height:20px;
  transform:translateX(-50%);
  border-radius:50%;
  background:#fff;
  border:3px solid var(--accent);
  box-shadow:0 8px 20px rgba(15,23,42,.25);
  cursor:grab;
  display:none;
  z-index:8;
}
.rotate-handle::after{
  content:'';
  position:absolute;
  left:50%;
  top:17px;
  width:2px;
  height:16px;
  background:var(--accent);
  transform:translateX(-50%);
}
.venue-item.selected .rotate-handle{display:block}
.venue-item.selected .rotate-handle:active{cursor:grabbing}


/* ================= Event Wizard v3.0 ================= */
.wizard-topline{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.wizard-topline h2{font-size:34px;margin:0 0 8px}.draft-chip{background:#eef2ff;color:var(--accent);border:1px solid #d9ddff;border-radius:999px;padding:10px 14px;font-weight:900;white-space:nowrap}.draft-chip.saved{background:#ecfdf5;color:var(--ok);border-color:#bbf7d0}.enterprise-wizard .wizard-main{min-height:620px}.wizard-progress-track{height:8px;background:rgba(255,255,255,.12);border-radius:999px;overflow:hidden;margin:0 0 22px}.wizard-progress-track i{display:block;width:0%;height:100%;background:linear-gradient(90deg,#fff,var(--accent));border-radius:999px;transition:width .25s ease}.wizard-step.done b{background:#16a34a}.wizard-side-note{margin-top:18px;padding:16px;border-radius:18px;background:rgba(255,255,255,.08);display:grid;gap:5px}.wizard-side-note span{color:#c9cce0;font-size:13px}.wizard-pane-head{margin-bottom:18px}.wizard-pane-head h3{font-size:28px;margin:8px 0}.step-pill{display:inline-flex;background:#eef2ff;color:var(--accent);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900}.field{display:grid;gap:7px}.field span{font-size:13px;font-weight:900;color:var(--muted)}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);border-radius:14px;padding:13px;background:#fbfbfd;color:var(--text)}.field textarea{min-height:110px;resize:vertical}.full-field{margin-top:12px}.form-grid.three{grid-template-columns:1fr 1fr 1fr}.wizard-feature-card{margin-top:18px;border:1px dashed var(--line);background:#fbfbfd;border-radius:22px;padding:18px;display:grid;gap:8px}.wizard-feature-card span{color:var(--muted)}.wizard-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.wizard-stat-row div,.summary-card{border:1px solid var(--line);background:white;border-radius:18px;padding:16px}.wizard-stat-row span,.summary-card span{display:block;color:var(--muted);font-size:13px;margin-bottom:6px}.wizard-stat-row strong,.summary-card b{font-size:22px}.publish-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.summary-card.ok{background:#ecfdf5;border-color:#bbf7d0}.wizard-error{min-height:22px;color:var(--danger);font-weight:900}.field-error{border-color:var(--danger)!important;box-shadow:0 0 0 4px rgba(239,68,68,.12)}.wizard-actions button:disabled{opacity:.45;cursor:not-allowed}.ticket-mini-form{margin:18px 0 0}.editable-ticket{border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:10px;background:#fff}
@media (max-width:900px){.wizard-topline{display:block}.draft-chip{display:inline-flex;margin-top:10px}.publish-summary,.wizard-stat-row,.form-grid.three{grid-template-columns:1fr}.enterprise-wizard .wizard-main{min-height:auto}}

/* ================= Ticket Builder v3.1.0 ================= */
.builder-head{align-items:flex-start}.builder-summary{background:#0d1020;color:white;border-radius:22px;padding:18px 22px;min-width:230px;box-shadow:0 18px 50px rgba(13,16,32,.15)}.builder-summary span{display:block;color:#a9aec8;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.builder-summary strong{font-size:26px;display:block;margin-top:6px}.ticket-builder-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin-bottom:18px}.ticket-form-panel .field span{display:block;margin-bottom:7px;font-size:13px;font-weight:900;color:var(--muted)}.ticket-form-actions,.mini-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.ticket-form-actions{margin-top:14px}.ticket-live-card{border:1px solid var(--line);border-radius:28px;padding:26px;background:linear-gradient(180deg,#fff,#f8f9ff);box-shadow:0 18px 50px rgba(15,23,42,.06)}.ticket-live-card h3{font-size:34px;margin:10px 0 6px}.ticket-live-card>strong{font-size:28px;color:var(--text)}.ticket-live-card p{color:var(--muted);line-height:1.6}.ticket-live-status{display:inline-flex;border-radius:999px;padding:7px 11px;background:#ecfdf5;color:var(--ok);font-weight:900;font-size:12px}.benefit-pills{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.benefit-pills span{background:#eef2ff;color:var(--accent);border-radius:999px;padding:8px 10px;font-size:12px;font-weight:900}.ticket-live-card small{color:var(--muted)}.builder-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.builder-metrics div{background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:13px}.builder-metrics span{display:block;color:var(--muted);font-size:12px}.builder-metrics b{font-size:20px}.ticket-builder-table{display:grid;gap:10px}.builder-ticket-row{display:grid;grid-template-columns:20px 1.2fr .75fr .75fr 1fr .75fr auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:20px;padding:14px;background:white;transition:transform .18s ease,box-shadow .18s ease}.builder-ticket-row:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(15,23,42,.08)}.builder-ticket-row span{display:block;color:var(--muted);font-size:12px}.ticket-color-dot{width:14px;height:48px;border-radius:999px}.mini-progress{height:10px;background:#eef0f4;border-radius:999px;overflow:hidden}.mini-progress i{display:block;height:100%;border-radius:999px}.field-error{border-color:var(--danger)!important;box-shadow:0 0 0 4px rgba(239,68,68,.12)}
@media (max-width:900px){.ticket-builder-layout{grid-template-columns:1fr}.builder-head{display:block}.builder-summary{margin-top:14px}.builder-ticket-row{grid-template-columns:16px 1fr}.builder-ticket-row .mini-progress,.builder-ticket-row button{grid-column:1/-1}.builder-metrics{grid-template-columns:1fr}.ticket-form-actions,.mini-actions{display:grid;grid-template-columns:1fr}.ticket-form-actions button,.mini-actions button{width:100%}}

/* ================= Ticket & Invitation Designer v3.2.0 ================= */
.designer-layout{display:grid;grid-template-columns:280px minmax(520px,1fr) 320px;gap:18px;align-items:start}.designer-tools,.designer-properties{position:sticky;top:22px}.designer-template-row{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:12px}.designer-components{display:grid;grid-template-columns:1fr 1fr;gap:8px}.designer-components .tool-btn{border:1px solid var(--line);background:#fff;color:var(--text);border-radius:14px;padding:11px 9px;font-weight:900;cursor:pointer}.designer-components .tool-btn:hover{border-color:var(--accent);color:var(--accent)}.designer-help{background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:14px;display:grid;gap:6px}.designer-help span{color:var(--muted);font-size:12px;line-height:1.6}.designer-workspace{overflow:auto}.designer-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.designer-toolbar span{font-weight:900;color:var(--muted)}.designer-canvas-wrap{min-height:620px;display:grid;place-items:center;background:linear-gradient(45deg,#f1f5f9 25%,transparent 25%),linear-gradient(-45deg,#f1f5f9 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f1f5f9 75%),linear-gradient(-45deg,transparent 75%,#f1f5f9 75%);background-size:22px 22px;background-position:0 0,0 11px,11px -11px,-11px 0;border-radius:22px;border:1px solid var(--line);padding:24px;overflow:auto}.designer-canvas{position:relative;box-shadow:0 30px 80px rgba(15,23,42,.18);overflow:hidden}.ticket-canvas{width:430px;height:380px;background:linear-gradient(180deg,#ffffff,#f8f9ff);border-radius:28px;border-top:10px solid var(--accent)}.invitation-canvas{width:540px;height:620px;background:#101427;border-radius:34px}.design-item{position:absolute;display:flex;align-items:center;justify-content:center;text-align:center;border:1px dashed transparent;border-radius:10px;padding:6px;cursor:move;user-select:none;line-height:1.2;font-weight:800}.design-item.selected{border-color:var(--accent);box-shadow:0 0 0 4px rgba(99,91,255,.12);z-index:5}.design-item.type-button{border-radius:999px;box-shadow:0 12px 28px rgba(15,23,42,.12)}.design-item.type-logo img{width:100%;height:100%;object-fit:contain}.designer-qr-mini{width:72%;height:72%;background:repeating-linear-gradient(45deg,#111 0 7px,#fff 7px 14px);border:8px solid #fff;border-radius:14px;box-shadow:0 8px 20px rgba(0,0,0,.14)}.design-item.type-qr{display:grid;place-items:center;gap:4px}.design-item.type-qr span{font-size:10px;color:#6b7280}.design-resize{position:absolute;right:-7px;bottom:-7px;width:15px;height:15px;background:var(--accent);border:3px solid #fff;border-radius:50%;box-shadow:0 8px 20px rgba(15,23,42,.25);display:none;cursor:nwse-resize}.design-item.selected .design-resize{display:block}.designer-json-box{margin-top:16px;background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:14px;display:grid;gap:6px}.designer-json-box span{color:var(--muted);font-size:13px;line-height:1.5}
@media (max-width:1100px){.designer-layout{grid-template-columns:1fr}.designer-tools,.designer-properties{position:relative;top:auto}.designer-canvas-wrap{place-items:start}.designer-components{grid-template-columns:1fr 1fr 1fr}.invitation-canvas{width:500px}.ticket-canvas{width:420px}}
@media (max-width:620px){.designer-components{grid-template-columns:1fr 1fr}.designer-canvas-wrap{padding:14px}.invitation-canvas{width:430px;height:560px}.ticket-canvas{width:380px;height:340px}.designer-layout{gap:12px}}


/* ================= Design Studio v3.3.0 ================= */
.studio-layout{display:grid;grid-template-columns:280px minmax(560px,1fr) 320px;gap:18px;align-items:start}.studio-tools,.studio-properties{position:sticky;top:22px}.upload-design-box{border:2px dashed var(--line);border-radius:20px;padding:18px;display:grid;gap:8px;text-align:center;cursor:pointer;background:#fbfcff;margin:12px 0}.upload-design-box:hover{border-color:var(--accent);background:#f7f7ff}.upload-design-box b{font-size:16px}.upload-design-box span{font-size:13px;color:var(--muted);line-height:1.5}.studio-field-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.studio-field-list button{border:1px solid var(--line);background:#fff;border-radius:14px;padding:11px 8px;font-weight:900;cursor:pointer}.studio-field-list button:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.studio-workspace{overflow:auto}.studio-canvas-wrap{min-height:680px;display:grid;place-items:center;background:linear-gradient(45deg,#f1f5f9 25%,transparent 25%),linear-gradient(-45deg,#f1f5f9 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f1f5f9 75%),linear-gradient(-45deg,transparent 75%,#f1f5f9 75%);background-size:22px 22px;background-position:0 0,0 11px,11px -11px,-11px 0;border-radius:22px;border:1px solid var(--line);padding:24px;overflow:auto}.studio-canvas{position:relative;width:520px;height:720px;background:#fff;border-radius:22px;box-shadow:0 30px 80px rgba(15,23,42,.18);overflow:hidden;transform-origin:center top}.studio-empty{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:8px;color:var(--muted);padding:30px}.studio-empty b{font-size:22px;color:var(--text)}.studio-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}.studio-bg.pdf{background:#fff}.studio-field{position:absolute;display:flex;align-items:center;justify-content:center;text-align:center;border:1px dashed rgba(99,91,255,.5);border-radius:10px;padding:6px;cursor:move;user-select:none;font-weight:900;line-height:1.15;box-shadow:0 10px 24px rgba(15,23,42,.08)}.studio-field.selected{border:2px solid var(--accent);box-shadow:0 0 0 4px rgba(99,91,255,.12);z-index:9}.studio-field.qr{background:#fff!important}.studio-field .qr-demo{width:72%;height:72%;background:repeating-linear-gradient(45deg,#111 0 7px,#fff 7px 14px);border:8px solid #fff;border-radius:14px;box-shadow:0 8px 20px rgba(0,0,0,.14)}.studio-field .field-mini-label{position:absolute;left:6px;top:-18px;background:var(--accent);color:#fff;border-radius:999px;padding:2px 7px;font-size:10px;display:none}.studio-field.selected .field-mini-label{display:block}.studio-resize{position:absolute;right:-7px;bottom:-7px;width:16px;height:16px;border-radius:50%;background:var(--accent);border:3px solid #fff;box-shadow:0 8px 20px rgba(15,23,42,.25);cursor:nwse-resize}.studio-preview-ticket{position:absolute;right:18px;bottom:18px;background:#111827;color:#fff;border-radius:18px;padding:12px 14px;font-size:12px;box-shadow:0 18px 40px rgba(0,0,0,.2);max-width:220px}.studio-preview-ticket b{display:block;color:#fff;margin-bottom:4px}.studio-preview-ticket span{color:#cbd5e1}.mini-actions .ghost{padding:10px 13px}@media(max-width:1150px){.studio-layout{grid-template-columns:1fr}.studio-tools,.studio-properties{position:relative;top:auto}.studio-canvas-wrap{place-items:start}.studio-field-list{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.studio-field-list{grid-template-columns:1fr 1fr}.studio-canvas{width:390px;height:540px}.studio-canvas-wrap{padding:14px}.studio-layout{gap:12px}}


/* ================= Event Hero Customizer v3.4.0 ================= */
.event-detail-hero{
  --hero-image:url("assets/images/logo.png");
  --hero-overlay:linear-gradient(135deg,rgba(13,16,32,.72),rgba(99,91,255,.56));
  --hero-position:center;
  --hero-size:cover;
  background:var(--hero-overlay),var(--hero-image) !important;
  background-size:cover,var(--hero-size) !important;
  background-position:center,var(--hero-position) !important;
  background-repeat:no-repeat !important;
  overflow:hidden;
  position:relative;
}
.event-detail-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 82% 38%,rgba(255,255,255,.14),transparent 28%);
  pointer-events:none;
}
.event-detail-hero > *{position:relative;z-index:1}
.hero-customizer{
  margin:18px 0;
  padding:18px;
  border:1px solid var(--line);
  border-radius:24px;
  background:linear-gradient(135deg,#fff,#f8fafc);
}
.hero-customizer-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.hero-customizer h4{margin:8px 0 4px;font-size:20px}
.hero-presets{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.hero-presets button{
  border:1px solid var(--line);
  background:#fff;
  border-radius:999px;
  padding:10px 14px;
  font-weight:800;
  cursor:pointer;
}
.hero-presets button:hover{border-color:var(--accent);color:var(--accent)}
.field input[type="range"]{width:100%;accent-color:var(--accent)}
@media(max-width:900px){.hero-customizer-head{display:block}.hero-customizer-head .ghost{margin-top:12px}}

/* ================= Ticket Generation Engine v3.4.0 ================= */
.ticket-generator-box{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid var(--line);
}
.generation-status{
  display:block;
  margin-top:10px;
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}
.generated-strip{
  margin-top:16px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:22px;
  padding:16px;
  display:grid;
  gap:12px;
}
.generated-strip > b{font-size:16px}
.generated-strip > span{color:var(--muted);font-size:13px}
.generated-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.generated-thumb{
  border:1px solid var(--line);
  border-radius:16px;
  overflow:hidden;
  background:#f8fafc;
  box-shadow:0 12px 30px rgba(15,23,42,.08);
}
.generated-thumb img{width:100%;display:block;background:#fff}
.generated-thumb span{display:block;padding:9px 10px;font-size:12px;font-weight:800;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
button:disabled{opacity:.55;cursor:not-allowed;transform:none!important}
@media(max-width:900px){.generated-grid{grid-template-columns:1fr}}


/* ================= Customer Page Builder v3.6 ================= */
.creation-hub{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.creation-card{border:0;text-align:left;border-radius:26px;padding:24px;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;cursor:pointer;color:white;box-shadow:0 18px 50px rgba(15,23,42,.13);transition:.2s transform,.2s box-shadow}.creation-card:hover{transform:translateY(-3px);box-shadow:0 25px 60px rgba(15,23,42,.2)}.event-create-card{background:linear-gradient(135deg,#5b50e7,#8278ff)}.customer-create-card{background:linear-gradient(135deg,#0f766e,#14b8a6)}.creation-icon{width:58px;height:58px;border-radius:18px;background:rgba(255,255,255,.16);display:grid;place-items:center;font-size:30px}.creation-card small{opacity:.8;text-transform:uppercase;letter-spacing:.08em}.creation-card h3{font-size:24px;margin:5px 0}.creation-card p{margin:0;opacity:.88}.creation-card b{white-space:nowrap}.customer-page-head{align-items:flex-end}.customer-pages-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.empty-customer-state{grid-column:1/-1;text-align:center;padding:55px;border:2px dashed var(--line);border-radius:24px;background:white}.customer-page-card{background:white;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 16px 40px rgba(15,23,42,.06)}.customer-page-cover{height:150px;background:linear-gradient(135deg,#0f766e,#0ea5e9);background-size:cover;background-position:center;position:relative}.customer-page-cover span{position:absolute;top:14px;right:14px;background:#ecfdf5;color:#15803d;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}.customer-page-card-body{padding:18px}.customer-page-card h3{margin:0 0 7px}.customer-page-card p{color:var(--muted);font-size:14px}.customer-card-actions{display:flex;gap:8px;flex-wrap:wrap}.customer-card-actions button,.customer-card-actions a{border:0;border-radius:11px;padding:9px 11px;font-weight:800;cursor:pointer;text-decoration:none;background:#f3f4f6;color:var(--text)}.customer-builder{margin-top:20px;background:white;border:1px solid var(--line);border-radius:28px;padding:22px;box-shadow:0 22px 65px rgba(15,23,42,.1)}.hidden-builder{display:none}.customer-builder-top,.builder-actions,.publish-actions,.customer-builder-nav{display:flex;align-items:center;justify-content:space-between;gap:10px}.customer-builder-shell{display:grid;grid-template-columns:210px 1fr;gap:20px;margin-top:18px}.customer-builder-steps{display:grid;align-content:start;gap:7px}.customer-step{border:0;background:#f5f6fa;border-radius:14px;padding:11px;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;color:var(--muted)}.customer-step b{width:28px;height:28px;border-radius:10px;background:white;display:grid;place-items:center}.customer-step.active{background:var(--accent);color:white}.customer-step.active b{color:var(--accent)}.customer-step.done{background:#ecfdf5;color:#15803d}.customer-builder-content{min-width:0}.customer-progress{height:8px;border-radius:999px;background:#edf0f5;overflow:hidden;margin-bottom:22px}.customer-progress i{display:block;height:100%;width:0;background:var(--accent);transition:.25s}.customer-pane{display:none}.customer-pane.active{display:block}.customer-pane h3{margin-top:0}.customer-form-grid .field{display:grid;gap:7px}.customer-form-grid .field span,.map-properties .field span{font-size:13px;font-weight:800;color:var(--muted)}.customer-form-grid select,.customer-form-grid textarea,.map-properties select{border:1px solid var(--line);border-radius:14px;padding:13px;background:#fbfbfd;font:inherit}.full-span{grid-column:1/-1}.upload-preview-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:15px;margin-bottom:18px}.upload-tile{height:190px;border:2px dashed var(--line);border-radius:20px;display:grid;place-items:center;overflow:hidden;position:relative;cursor:pointer;background:#f8fafc}.upload-tile input,.gallery-uploader input{display:none}.upload-tile img{display:none;width:100%;height:100%;object-fit:cover}.upload-tile.has-image img{display:block}.upload-tile.has-image span{display:none}.gallery-uploader{display:inline-block;background:var(--accent);color:white;border-radius:14px;padding:12px 16px;font-weight:800;cursor:pointer}.gallery-builder-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.gallery-builder-grid img{width:100%;height:120px;object-fit:cover;border-radius:15px}.dynamic-rows{display:grid;gap:10px}.dynamic-row{display:grid;grid-template-columns:1.3fr .7fr .7fr auto;gap:8px;align-items:center;background:#f8fafc;border:1px solid var(--line);border-radius:16px;padding:10px}.dynamic-row input,.dynamic-row select{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px}.dynamic-row button{border:0;background:#fee2e2;color:#991b1b;border-radius:10px;padding:10px;cursor:pointer}.booking-type-head{margin-top:24px}.booking-map-builder{display:grid;grid-template-columns:150px 1fr 210px;gap:13px}.map-tools{display:grid;align-content:start;gap:8px}.map-tools button{border:1px solid var(--line);background:white;border-radius:12px;padding:11px;text-align:left;cursor:pointer;font-weight:800}.map-tools button.active{background:var(--accent);color:white}.cp-booking-map{height:490px;border:2px solid #bde4ed;border-radius:22px;position:relative;overflow:hidden;background:linear-gradient(#ecfeff 0 16%,#fef3c7 16% 100%);touch-action:none}.map-watermark{position:absolute;top:23px;left:50%;transform:translateX(-50%);letter-spacing:.25em;color:#0891b2;font-weight:900}.cp-map-item{position:absolute;display:grid;place-items:center;text-align:center;border:2px solid #0f766e;background:#ccfbf1;color:#115e59;border-radius:50%;width:72px;height:72px;font-size:11px;font-weight:900;cursor:move;user-select:none}.cp-map-item[data-type="sofa"]{border-radius:18px;width:115px;height:60px;background:#ede9fe;border-color:#7c3aed;color:#5b21b6}.cp-map-item[data-type="cabana"]{border-radius:12px;width:110px;height:80px;background:#ffedd5;border-color:#ea580c;color:#9a3412}.cp-map-item[data-type="chair"]{width:45px;height:45px;border-radius:12px}.cp-map-item[data-type="stage"]{width:170px;height:65px;border-radius:12px;background:#e0e7ff;border-color:#4f46e5}.cp-map-item[data-type="entrance"]{width:95px;height:42px;border-radius:10px;background:#dcfce7;border-color:#16a34a}.cp-map-item.selected{outline:4px solid rgba(99,91,255,.28)}.map-properties{background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:14px}.map-properties .field{display:grid;gap:5px;margin-bottom:10px}.weekday-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:18px 0}.weekday-grid label{background:#f3f4f6;border-radius:12px;padding:12px;text-align:center;font-weight:800}.payment-options-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.payment-options-grid label{border:1px solid var(--line);border-radius:18px;padding:17px;display:grid;gap:5px;cursor:pointer}.payment-options-grid span{color:var(--muted);font-size:13px}.publish-summary{background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:18px;margin:18px 0;display:grid;gap:8px}.builder-error{min-height:20px;color:var(--danger);font-weight:800}.customer-builder-nav{border-top:1px solid var(--line);padding-top:16px;margin-top:18px}
@media(max-width:1000px){.creation-hub,.customer-pages-grid{grid-template-columns:1fr}.customer-builder-shell{grid-template-columns:1fr}.customer-builder-steps{grid-template-columns:repeat(4,1fr)}.customer-step span{display:none}.booking-map-builder{grid-template-columns:1fr}.map-tools{grid-template-columns:repeat(3,1fr)}.map-properties{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.upload-preview-grid{grid-template-columns:1fr}.gallery-builder-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.creation-card{grid-template-columns:auto 1fr}.creation-card>b{grid-column:1/-1}.customer-builder-steps{grid-template-columns:repeat(4,1fr)}.customer-form-grid{grid-template-columns:1fr}.full-span{grid-column:auto}.dynamic-row{grid-template-columns:1fr}.payment-options-grid,.weekday-grid{grid-template-columns:1fr 1fr}.gallery-builder-grid{grid-template-columns:1fr}.customer-builder-top{align-items:flex-start;flex-direction:column}.cp-booking-map{height:430px}}

/* ================= Maze Ticket Workspace UI v4.0.0 ================= */
:root{
  --sidebar:#0b1020;
  --surface:#ffffff;
  --surface-soft:#f8fafc;
  --shadow:0 18px 55px rgba(15,23,42,.08);
}
body{background:#f4f6fb}
.sidebar{width:252px;padding:22px 18px;gap:22px;background:linear-gradient(180deg,#0a0f1f,#11172b);overflow-y:auto}
.sidebar .brand{padding:4px 8px 20px;align-items:flex-start;text-align:left}
.sidebar-logo{width:154px;margin:0 0 8px}
.brand-subtitle{font-size:12px;letter-spacing:.04em}
.sidebar nav{display:grid;gap:5px}
.nav-section-label{color:#69718f;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.16em;padding:14px 13px 6px}
.nav-btn{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:12px;font-size:14px;font-weight:750}
.nav-btn span{width:20px;text-align:center;font-size:16px;color:#8790ad}
.nav-btn.active,.nav-btn:hover{background:linear-gradient(135deg,rgba(99,91,255,.3),rgba(99,91,255,.13));box-shadow:inset 0 0 0 1px rgba(155,148,255,.15)}
.nav-btn.active span,.nav-btn:hover span{color:#fff}
.sidebar-footer{border-top:1px solid rgba(255,255,255,.08);padding-top:16px;gap:12px}
.sidebar-user{display:flex;align-items:center;gap:10px}
.sidebar-user .avatar,.profile-chip span{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#635bff,#8b5cf6);color:#fff;font-weight:900}
.sidebar-user div{display:grid;gap:2px;min-width:0}.sidebar-user strong{font-size:12px;white-space:nowrap}.sidebar-user small{font-size:10px;color:#8f97b1}
.sidebar-logout{width:100%;border:1px solid rgba(255,255,255,.09);background:transparent;color:#aeb5cb;border-radius:11px;padding:9px;cursor:pointer;font-weight:700}
.main{padding:24px 30px 42px;max-width:1600px;margin:0 auto;width:calc(100% - 252px)}
.topbar{position:sticky;top:0;z-index:20;background:rgba(244,246,251,.88);backdrop-filter:blur(16px);margin:-24px -30px 26px;padding:18px 30px;border-bottom:1px solid rgba(226,232,240,.85)}
.topbar-left{display:flex;align-items:center;gap:14px}.topbar h2{font-size:26px}.topbar .eyebrow{margin-bottom:3px}
.mobile-menu-btn{display:none;border:0;background:#fff;border-radius:12px;width:42px;height:42px;box-shadow:var(--shadow)}
.icon-btn{position:relative;width:42px;height:42px;border:1px solid var(--line);background:white;border-radius:13px;cursor:pointer;font-size:17px}
.notification-btn i{position:absolute;top:-4px;right:-4px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#ef4444;color:white;font-size:9px;font-style:normal;font-weight:900}
.profile-chip{border:0;background:white;border-radius:14px;padding:5px 11px 5px 5px;display:flex;align-items:center;gap:8px;box-shadow:0 8px 25px rgba(15,23,42,.06);cursor:pointer}.profile-chip span{width:32px;height:32px;border-radius:10px}.profile-chip b{font-size:13px}
.welcome-hero{background:linear-gradient(135deg,#11172b 0%,#24205d 62%,#635bff 100%);border-radius:30px;padding:34px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:0 28px 70px rgba(57,45,133,.24);position:relative;overflow:hidden;margin-bottom:20px}
.welcome-hero:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;right:-100px;top:-160px;background:rgba(255,255,255,.08)}
.welcome-hero>div{position:relative;z-index:1}.welcome-hero .eyebrow{color:#c9c5ff}.welcome-hero h1{font-size:34px;margin:6px 0 10px}.welcome-hero p{margin:0;color:#d9dced;max-width:650px;line-height:1.6}.welcome-actions{display:flex;gap:10px;flex-wrap:wrap}.welcome-actions .ghost{background:rgba(255,255,255,.12);color:white;border-color:rgba(255,255,255,.18)}
.overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:18px}
.overview-card{background:#fff;border:1px solid #e8ebf1;border-radius:21px;padding:18px;display:flex;align-items:center;gap:14px;box-shadow:0 10px 35px rgba(15,23,42,.045)}
.overview-card div{display:grid}.overview-card small{color:var(--muted);font-size:12px}.overview-card strong{font-size:25px;margin:4px 0}.overview-card em{font-size:10px;color:#16a34a;font-style:normal}
.overview-icon{width:45px;height:45px;border-radius:14px;display:grid;place-items:center;font-weight:900;font-size:15px}.overview-icon.violet{background:#ede9fe;color:#6d28d9}.overview-icon.teal{background:#ccfbf1;color:#0f766e}.overview-icon.blue{background:#dbeafe;color:#1d4ed8;font-size:10px}.overview-icon.green{background:#dcfce7;color:#15803d}
.dashboard-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);gap:18px}.recent-projects-panel,.activity-panel{padding:20px}
.text-btn{border:0;background:transparent;color:var(--accent);font-weight:800;cursor:pointer}.project-list{display:grid}.project-row{width:100%;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:13px;border:0;border-top:1px solid #edf0f4;background:transparent;padding:15px 0;text-align:left;cursor:pointer}.project-row:first-child{border-top:0}.project-row:hover{transform:translateX(4px)}.project-thumb{width:45px;height:45px;border-radius:14px;display:grid;place-items:center;color:#fff;font-weight:900}.event-thumb{background:linear-gradient(135deg,#635bff,#8b5cf6)}.cafe-thumb{background:linear-gradient(135deg,#0f766e,#06b6d4)}.wedding-thumb{background:linear-gradient(135deg,#be185d,#fb7185)}.project-row div{display:grid;gap:4px}.project-row small{color:var(--muted)}.project-metric{text-align:right;display:grid}.project-metric b{font-size:15px}.project-metric small{font-size:10px}.project-row i{font-style:normal;color:#a3aabd}
.modern-activity li{display:flex;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #edf0f4}.modern-activity li:last-child{border-bottom:0}.activity-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-weight:900}.activity-icon.success{background:#dcfce7;color:#15803d}.activity-icon.payment{background:#dbeafe;color:#1d4ed8}.activity-icon.invite{background:#f3e8ff;color:#7e22ce}.modern-activity div{display:grid;gap:3px}.modern-activity small{color:var(--muted);font-size:11px}.live-dot{font-size:11px;color:#15803d;background:#dcfce7;padding:6px 9px;border-radius:999px;font-weight:900}
.quick-launch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.quick-launch{border:1px solid #e5e9f1;background:#fff;border-radius:18px;padding:16px;text-align:left;display:flex;align-items:center;gap:13px;cursor:pointer}.quick-launch:hover{border-color:var(--accent);box-shadow:0 12px 35px rgba(99,91,255,.1);transform:translateY(-2px)}.quick-launch>span{width:39px;height:39px;border-radius:12px;background:#f0efff;color:var(--accent);display:grid;place-items:center;font-size:20px;font-weight:900}.quick-launch div{display:grid;gap:3px}.quick-launch small{color:var(--muted)}
.workspace-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.workspace-header h2{font-size:31px;margin:4px 0}.workspace-actions{display:flex;gap:10px}.workspace-filters{display:flex;gap:8px;align-items:center;margin-bottom:18px}.workspace-filters>button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 14px;font-weight:800;cursor:pointer}.workspace-filters>button.active{background:#111827;color:white}.workspace-search{margin-left:auto;background:#fff;border:1px solid var(--line);border-radius:13px;padding:0 12px;display:flex;align-items:center;gap:8px}.workspace-search input{border:0;background:transparent;padding:10px;width:210px}.workspace-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.workspace-card{background:#fff;border:1px solid #e6e9ef;border-radius:24px;overflow:hidden;box-shadow:0 15px 40px rgba(15,23,42,.055)}.workspace-card-cover{height:135px;display:flex;align-items:center;justify-content:center;position:relative}.workspace-card-cover>b{font-size:37px;color:#fff}.workspace-card-cover .status{position:absolute;top:13px;right:13px}.event-project .workspace-card-cover{background:linear-gradient(135deg,#3f37b8,#887df5)}.booking-project .workspace-card-cover{background:linear-gradient(135deg,#0f766e,#22d3ee)}.draft-project .workspace-card-cover{background:linear-gradient(135deg,#8b1e56,#fb7185)}.workspace-card-body{padding:18px}.workspace-card-body>small{font-weight:900;color:var(--accent);letter-spacing:.1em;font-size:10px}.workspace-card-body h3{margin:7px 0}.workspace-card-body p{color:var(--muted);font-size:13px}.workspace-card-stats{display:flex;gap:18px;margin:15px 0;color:var(--muted);font-size:11px}.workspace-card-stats b{color:var(--text);font-size:14px}.workspace-create-card{border:2px dashed #cfd5df;background:rgba(255,255,255,.55);border-radius:24px;min-height:320px;display:grid;place-items:center;align-content:center;gap:8px;cursor:pointer;color:var(--muted)}.workspace-create-card span{width:54px;height:54px;border-radius:17px;background:#fff;display:grid;place-items:center;font-size:28px;color:var(--accent)}.workspace-create-card b{color:var(--text)}
.customer-builder-shell{grid-template-columns:190px minmax(0,1fr) 310px}.customer-live-preview{position:sticky;top:100px;align-self:start;background:#101525;border-radius:24px;padding:14px;color:#fff}.preview-toolbar{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:900;margin-bottom:12px}.preview-toolbar div{display:flex;background:rgba(255,255,255,.08);padding:3px;border-radius:9px}.preview-toolbar button{border:0;background:transparent;color:#99a0b7;font-size:9px;padding:5px 7px;border-radius:7px}.preview-toolbar button.active{background:#fff;color:#111827}.phone-frame{width:100%;max-width:260px;margin:auto;background:#05070c;padding:8px;border-radius:31px;box-shadow:0 18px 45px rgba(0,0,0,.35)}.phone-notch{width:74px;height:14px;background:#05070c;border-radius:0 0 12px 12px;margin:0 auto -11px;position:relative;z-index:2}.phone-screen{background:#f8fafc;border-radius:24px;overflow:hidden;min-height:470px;color:#111827}.preview-hero{min-height:190px;padding:42px 18px 20px;background:linear-gradient(135deg,#0f766e,#0ea5e9);color:white;background-size:cover;background-position:center}.preview-brand{font-size:18px;font-weight:900}.preview-hero p{font-size:10px;line-height:1.5;opacity:.9}.preview-hero button{border:0;border-radius:999px;background:#fff;color:#0f766e;font-weight:900;padding:8px 12px;font-size:9px}.preview-section{padding:15px}.preview-section>b{font-size:11px}.preview-place-row{display:flex;gap:7px;margin-top:10px}.preview-place-row span{width:42px;height:42px;border:1px solid #99f6e4;background:#ccfbf1;border-radius:50%}.preview-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:10px}.preview-gallery i{height:48px;background:linear-gradient(135deg,#cbd5e1,#e2e8f0);border-radius:8px}.preview-note{display:block;text-align:center;color:#8f97b1;margin-top:10px;font-size:9px}
.settings-layout{display:grid;grid-template-columns:240px 1fr;gap:18px}.settings-menu{display:grid;align-content:start;gap:7px}.settings-menu button{border:0;background:transparent;text-align:left;padding:12px;border-radius:11px;font-weight:800;color:var(--muted);cursor:pointer}.settings-menu button.active{background:#f0efff;color:var(--accent)}.settings-content hr{border:0;border-top:1px solid var(--line);margin:25px 0}.settings-content h3{margin-top:0}
@media(max-width:1200px){.overview-grid{grid-template-columns:repeat(2,1fr)}.workspace-grid{grid-template-columns:repeat(2,1fr)}.customer-builder-shell{grid-template-columns:180px minmax(0,1fr)}.customer-live-preview{display:none}}
@media(max-width:900px){.sidebar{position:fixed;left:-270px;top:0;z-index:60;transition:.25s;width:252px;height:100vh}.sidebar.mobile-open{left:0}.main{width:100%;padding:18px}.topbar{margin:-18px -18px 20px;padding:14px 18px}.mobile-menu-btn{display:block}.profile-chip b{display:none}.welcome-hero{display:block}.welcome-actions{margin-top:18px}.dashboard-layout,.workspace-grid{grid-template-columns:1fr}.quick-launch-grid{grid-template-columns:1fr}.settings-layout{grid-template-columns:1fr}.settings-menu{grid-template-columns:repeat(3,1fr)}.workspace-header{align-items:flex-start;flex-direction:column}.workspace-filters{flex-wrap:wrap}.workspace-search{order:2;margin-left:0;width:100%}.workspace-search input{width:100%}}
@media(max-width:620px){.overview-grid{grid-template-columns:1fr}.welcome-hero{padding:24px}.welcome-hero h1{font-size:27px}.top-actions .icon-btn,.profile-chip{display:none}.workspace-actions{width:100%}.workspace-actions button{flex:1}.project-row{grid-template-columns:auto 1fr auto}.project-metric{display:none}.settings-menu{grid-template-columns:1fr 1fr}.main{padding-bottom:80px}}
