:root {
    color-scheme: dark;
    --ps-bg: #050714;
    --ps-bg-2: #090b1c;
    --ps-panel: #0e1227;
    --ps-panel-2: #13172f;
    --ps-panel-3: #191b38;
    --ps-line: rgba(177, 127, 255, .18);
    --ps-line-strong: rgba(228, 107, 199, .34);
    --ps-text: #f9f7ff;
    --ps-muted: #9da4bd;
    --ps-muted-2: #717993;
    --ps-purple: #8b5cf6;
    --ps-purple-2: #6d28d9;
    --ps-pink: #ec4899;
    --ps-orange: #fb923c;
    --ps-yellow: #fbbf24;
    --ps-red: #f43f5e;
    --ps-green: #22c55e;
    --ps-blue: #3b82f6;
    --ps-cyan: #06b6d4;
    --ps-radius-sm: 10px;
    --ps-radius: 16px;
    --ps-radius-lg: 24px;
    --ps-shadow: 0 24px 80px rgba(0, 0, 0, .42);
    --ps-glow: 0 0 40px rgba(139, 92, 246, .24);
    --ps-gradient: linear-gradient(100deg, #ff9c3a 0%, #f34d72 48%, #a935d5 100%);
    --ps-gradient-soft: linear-gradient(135deg, rgba(251,146,60,.16), rgba(236,72,153,.12), rgba(139,92,246,.16));
    --ps-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; font-family: var(--ps-font); background: var(--ps-bg); color: var(--ps-text); line-height: 1.5; -webkit-font-smoothing: antialiased; }
body::selection { background: rgba(236,72,153,.35); }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
img { max-width: 100%; display: block; }
svg { flex: 0 0 auto; }
h1,h2,h3,h4,p { margin-top: 0; }
h1,h2,h3,h4 { letter-spacing: -.035em; }
.sr-only { position: absolute!important; width: 1px!important; height: 1px!important; padding: 0!important; margin: -1px!important; overflow: hidden!important; clip: rect(0,0,0,0)!important; white-space: nowrap!important; border: 0!important; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 10000; padding: 12px 16px; border-radius: 10px; background: #fff; color: #111; transition: top .2s; }
.skip-link:focus { top: 16px; }

/* Brand */
.ps-brand { display: inline-flex; align-items: center; gap: 10px; min-width: 0; }
.ps-brand__mark { width: 46px; height: 46px; overflow: hidden; border-radius: 12px; background: #060713; box-shadow: 0 0 26px rgba(236,72,153,.18); }
.ps-brand__mark img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.15); }
.ps-brand__word { display: flex; flex-wrap: wrap; align-items: baseline; color: #fff; font-size: 1.34rem; font-weight: 850; letter-spacing: -.055em; line-height: 1; }
.ps-brand__word > span { color: #ff5e63; background: var(--ps-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ps-brand__word small { flex-basis: 100%; color: #df784d; margin-top: 5px; font-size: .44rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 800; }
.ps-brand--compact .ps-brand__mark { width: 38px; height: 38px; }

/* Buttons and fields */
.button { appearance: none; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 18px; border: 1px solid transparent; border-radius: 9px; color: #fff; background: transparent; font-weight: 750; cursor: pointer; transition: transform .18s, box-shadow .18s, border-color .18s, background .18s, opacity .18s; }
.button:hover { transform: translateY(-1px); }
.button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, a:focus-visible { outline: 3px solid rgba(251,146,60,.45); outline-offset: 3px; }
.button--gradient { background: var(--ps-gradient); box-shadow: 0 10px 28px rgba(236,72,153,.22); }
.button--gradient:hover { box-shadow: 0 14px 34px rgba(236,72,153,.34); }
.button--ghost { border-color: rgba(236,72,153,.35); background: rgba(8,10,26,.62); }
.button--ghost:hover { border-color: rgba(251,146,60,.62); background: rgba(236,72,153,.08); }
.button--soft { background: rgba(139,92,246,.13); border-color: rgba(139,92,246,.32); color: #d8ccff; }
.button--danger { background: rgba(244,63,94,.12); border-color: rgba(244,63,94,.38); color: #ff9eb0; }
.button--success { background: rgba(34,197,94,.12); border-color: rgba(34,197,94,.38); color: #8ff0b0; }
.button--small { min-height: 38px; padding: 0 14px; font-size: .9rem; }
.button--large { min-height: 52px; padding: 0 24px; font-size: 1rem; }
.button[disabled], .button.is-disabled { opacity: .45; cursor: not-allowed; transform: none; }
.input-group { display: flex; align-items: stretch; gap: 8px; }
.ps-field { display: grid; gap: 8px; }
.ps-field label { font-size: .84rem; color: #d8dbeb; font-weight: 700; }
.ps-field small { color: var(--ps-muted); }
.ps-input, .ps-select, .ps-textarea, input[type="text"], input[type="email"], input[type="password"], input[type="search"], input[type="url"], input[type="date"], input[type="time"], input[type="number"], select, textarea {
    width: 100%; min-height: 44px; padding: 10px 13px; border: 1px solid rgba(148,163,184,.18); border-radius: 9px; background: #090d20; color: var(--ps-text); transition: border-color .18s, box-shadow .18s, background .18s;
}
textarea, .ps-textarea { min-height: 120px; resize: vertical; }
input::placeholder, textarea::placeholder { color: #69718b; }
input:focus, select:focus, textarea:focus { border-color: rgba(236,72,153,.55); box-shadow: 0 0 0 4px rgba(236,72,153,.08); background: #0b1025; outline: none; }
.ps-checkbox { display: inline-flex; align-items: center; gap: 9px; color: var(--ps-muted); }
.ps-checkbox input { width: 18px; height: 18px; accent-color: var(--ps-pink); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.form-grid .full { grid-column: 1/-1; }
.form-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px; margin-top: 20px; }

/* Flash */
.ps-flash { width: min(1180px, calc(100% - 32px)); margin: 18px auto; display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; border: 1px solid; border-radius: 12px; backdrop-filter: blur(16px); position: relative; z-index: 20; }
.ps-flash button { margin-left: auto; border: 0; background: transparent; cursor: pointer; opacity: .7; }
.ps-flash ul { margin: 6px 0 0; padding-left: 18px; }
.ps-flash--success { background: rgba(34,197,94,.1); border-color: rgba(34,197,94,.34); color: #c9fbd9; }
.ps-flash--error { background: rgba(244,63,94,.1); border-color: rgba(244,63,94,.34); color: #ffd2da; }

/* Public header */
.public-body { background: radial-gradient(circle at 70% 8%, rgba(98,26,137,.24), transparent 30%), radial-gradient(circle at 13% 25%, rgba(234,76,65,.13), transparent 26%), #050714; }
.public-header { position: sticky; inset: 0 0 auto; z-index: 100; border-bottom: 1px solid rgba(139,92,246,.14); background: rgba(4,6,18,.86); backdrop-filter: blur(20px); }
.public-header__inner { width: min(1450px, calc(100% - 40px)); min-height: 68px; margin: 0 auto; display: grid; grid-template-columns: 240px 1fr auto; align-items: center; gap: 28px; }
.public-nav { display: flex; justify-content: center; align-items: center; gap: 30px; }
.public-nav a { position: relative; padding: 23px 0; color: #d8d9e4; font-size: .9rem; font-weight: 650; }
.public-nav a::after { content: ""; position: absolute; left: 50%; right: 50%; bottom: 0; height: 2px; background: var(--ps-gradient); transition: left .2s,right .2s; }
.public-nav a:hover::after, .public-nav a.is-active::after { left: 0; right: 0; }
.public-header__actions { display: flex; align-items: center; gap: 10px; }
.mobile-menu-button { display: none; justify-self: end; border: 1px solid var(--ps-line); border-radius: 9px; background: #0d1024; padding: 9px; }

/* Public common */
.public-container { width: min(1420px, calc(100% - 40px)); margin: 0 auto; }
.public-section { padding: 54px 0; }
.public-section--tight { padding: 32px 0; }
.public-section__head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.public-section__head h2 { margin-bottom: 0; font-size: clamp(1.55rem, 2.5vw, 2.25rem); }
.public-section__head p { margin: 4px 0 0; color: var(--ps-muted); }
.public-link { display: inline-flex; align-items: center; gap: 6px; color: #d18cff; font-size: .9rem; font-weight: 700; }
.public-link:hover { color: #ff9b68; }
.ps-eyebrow { margin-bottom: 12px; color: #ff9a51; font-size: .76rem; font-weight: 850; text-transform: uppercase; letter-spacing: .13em; }
.gradient-text { background: var(--ps-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ps-panel { border: 1px solid var(--ps-line); border-radius: var(--ps-radius); background: linear-gradient(150deg, rgba(18,22,46,.96), rgba(7,10,26,.96)); box-shadow: 0 16px 48px rgba(0,0,0,.22); }
.ps-panel__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px 12px; }
.ps-panel__head h2, .ps-panel__head h3 { margin: 0; font-size: 1.08rem; }
.ps-panel__body { padding: 18px 20px 20px; }
.ps-grid { display: grid; gap: 14px; }
.ps-grid--2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.ps-grid--3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.ps-grid--4 { grid-template-columns: repeat(4,minmax(0,1fr)); }

/* Hero */
.home-hero { position: relative; min-height: 560px; overflow: hidden; border-bottom: 1px solid var(--ps-line); }
.home-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 79% 32%, rgba(207,46,83,.32), transparent 28%), radial-gradient(circle at 50% 70%, rgba(105,40,170,.22), transparent 32%), linear-gradient(90deg, rgba(5,7,20,.98) 0%, rgba(5,7,20,.83) 45%, rgba(5,7,20,.58) 100%); }
.home-hero::after { content: ""; position: absolute; inset: 0; opacity: .2; background-image: linear-gradient(90deg, transparent 49.8%, rgba(255,255,255,.08) 50%, transparent 50.2%), radial-gradient(ellipse at bottom, rgba(0,0,0,0) 0, rgba(0,0,0,.8) 75%); background-size: 250px 100%, 100% 100%; }
.home-hero__stage { position: absolute; inset: 0; background: linear-gradient(115deg, transparent 0 43%, rgba(251,146,60,.08) 44%, transparent 57%), radial-gradient(ellipse at 83% 26%, rgba(255,126,44,.72) 0 2px, transparent 3px), radial-gradient(ellipse at 90% 30%, rgba(255,126,44,.5) 0 5px, transparent 7px); }
.home-hero__inner { position: relative; z-index: 2; width: min(1420px, calc(100% - 40px)); margin: 0 auto; display: grid; grid-template-columns: .82fr 1.3fr; gap: 70px; align-items: center; padding: 46px 0 44px; }
.home-hero__copy h1 { max-width: 510px; margin-bottom: 20px; font-size: clamp(3.2rem, 5vw, 5.4rem); line-height: .94; letter-spacing: -.065em; }
.home-hero__copy p { max-width: 580px; color: #bec2d4; font-size: 1.05rem; }
.home-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0; }
.popular-searches { display: flex; flex-wrap: wrap; gap: 8px; }
.popular-searches a { display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; border: 1px solid rgba(139,92,246,.22); border-radius: 7px; color: #c9cbe0; background: rgba(15,17,37,.72); font-size: .77rem; }
.explore-preview { padding: 22px; border: 1px solid rgba(236,72,153,.35); border-radius: 18px; background: rgba(6,8,22,.9); box-shadow: 0 30px 80px rgba(0,0,0,.5), 0 0 50px rgba(126,44,181,.15); }
.explore-preview__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 13px; }
.explore-preview__top h2 { margin: 0; font-size: 1.12rem; }
.explore-search { display: flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 12px; margin-bottom: 16px; border: 1px solid var(--ps-line); border-radius: 8px; color: var(--ps-muted); background: #0b0e21; font-size: .8rem; }
.explore-preview__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.preview-event { min-height: 210px; padding: 12px; border: 1px solid rgba(139,92,246,.2); border-radius: 9px; background: linear-gradient(160deg, rgba(47,30,80,.7), rgba(8,10,25,.95)); overflow: hidden; position: relative; }
.preview-event::before { content: ""; position: absolute; inset: 0 0 52%; background: radial-gradient(circle at center, var(--preview, #8b5cf6), transparent 55%); opacity: .42; }
.preview-event strong { position: relative; display: block; padding-top: 90px; font-size: .88rem; }
.preview-event small { position: relative; display: block; margin-top: 4px; color: var(--ps-muted); font-size: .68rem; }
.preview-event span { position: relative; display: inline-flex; margin-top: 9px; padding: 3px 6px; border-radius: 4px; background: rgba(236,72,153,.24); color: #ffc8e4; font-size: .62rem; }

/* Audience cards */
.audience-strip { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-top: -22px; position: relative; z-index: 5; }
.audience-card { min-height: 130px; display: grid; grid-template-columns: 86px 1fr; gap: 18px; align-items: center; padding: 18px; border: 1px solid var(--ps-line); border-radius: 14px; background: linear-gradient(145deg, rgba(26,19,53,.96), rgba(10,12,30,.98)); box-shadow: var(--ps-shadow); }
.audience-card__icon { height: 80px; display: grid; place-items: center; border-radius: 12px; background: rgba(139,92,246,.11); color: #d45acc; }
.audience-card__icon svg { width: 42px; height: 42px; }
.audience-card h2 { margin-bottom: 5px; font-size: 1.25rem; }
.audience-card p { margin: 0 0 9px; color: var(--ps-muted); font-size: .86rem; }

/* Event tiles */
.event-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 12px; }
.event-tile { min-width: 0; overflow: hidden; border: 1px solid rgba(139,92,246,.23); border-radius: 12px; background: linear-gradient(180deg,#12162d,#0b0e21); transition: transform .2s, border-color .2s, box-shadow .2s; }
.event-tile:hover { transform: translateY(-3px); border-color: rgba(236,72,153,.48); box-shadow: 0 18px 38px rgba(0,0,0,.32); }
.event-tile__media { position: relative; display: block; min-height: 150px; padding: 10px; background-color: #17142f; background-position: center; background-size: cover; }
.event-tile__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(4,6,16,.05),rgba(4,6,16,.75)); }
.event-tile__media > .ps-badge { position: relative; z-index: 2; }
.event-tile__save { position: absolute; z-index: 3; top: 9px; right: 9px; }
.event-tile__save button { width: 32px; height: 32px; display: grid; place-items: center; border: 0; border-radius: 50%; background: rgba(4,6,16,.72); cursor: pointer; }
.event-tile__save .is-filled { fill: var(--ps-pink); color: var(--ps-pink); }
.event-tile__body { display: grid; grid-template-columns: 45px 1fr; gap: 10px; padding: 12px; }
.event-tile__date { text-align: center; border-right: 1px solid var(--ps-line); }
.event-tile__date b { display: block; font-size: 1.25rem; }
.event-tile__date span { color: #db72e5; font-size: .72rem; text-transform: uppercase; }
.event-tile h3 { margin: 0 0 4px; font-size: .94rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.event-tile p { margin: 0; color: var(--ps-muted); font-size: .75rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.event-tile small { margin-top: 8px; display: flex; align-items: center; gap: 5px; color: #c6c8d5; font-size: .7rem; }
.event-tile--compact .event-tile__media { min-height: 105px; }

/* Home content */
.how-steps { display: grid; grid-template-columns: repeat(4,1fr); padding: 26px; }
.how-step { display: grid; grid-template-columns: 56px 1fr; gap: 12px; align-items: center; position: relative; }
.how-step:not(:last-child)::after { content: "→"; position: absolute; right: 10px; color: #b8a7d6; font-size: 1.4rem; }
.how-step__icon { width: 50px; height: 50px; display: grid; place-items: center; border: 1px solid rgba(236,72,153,.55); border-radius: 50%; color: #d775dc; }
.how-step h3 { margin: 0 0 2px; font-size: .95rem; }
.how-step p { margin: 0; max-width: 170px; color: var(--ps-muted); font-size: .72rem; }
.role-showcase { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.role-showcase__card { min-height: 280px; display: grid; grid-template-columns: 1fr 1.1fr; gap: 20px; padding: 24px; overflow: hidden; }
.role-showcase__card h2 { margin-bottom: 6px; font-size: 1.4rem; }
.role-showcase__card ul { list-style: none; padding: 0; margin: 22px 0; display: grid; gap: 9px; color: #d5d7e2; font-size: .82rem; }
.role-showcase__card li { display: flex; gap: 8px; }
.role-showcase__card li svg { color: #f59d55; }
.mini-dashboard { align-self: end; padding: 15px; border: 1px solid var(--ps-line); border-radius: 10px; background: #090d1f; transform: translateY(14px); }
.mini-dashboard__stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.mini-dashboard__stats div { padding: 9px; border-radius: 7px; background: #12162d; }
.mini-dashboard__stats small { display: block; color: var(--ps-muted); font-size: .6rem; }
.mini-dashboard__stats strong { font-size: 1rem; }
.mini-dashboard__row { display: flex; align-items: center; gap: 8px; margin-top: 8px; padding: 8px; border-radius: 7px; background: #12162d; font-size: .68rem; }
.mini-dashboard__row i { width: 28px; height: 24px; border-radius: 4px; background: var(--ps-gradient); }
.mini-dashboard__row span:last-child { margin-left: auto; color: #6fe696; }
.pricing-grid { display: grid; grid-template-columns: repeat(3,1fr) 1.15fr; gap: 12px; }
.price-card { position: relative; padding: 22px; }
.price-card.is-featured { border-color: rgba(236,72,153,.65); box-shadow: 0 0 40px rgba(236,72,153,.1); }
.price-card__ribbon { position: absolute; top: -11px; left: 50%; transform: translateX(-50%); padding: 4px 28px; border-radius: 999px; background: var(--ps-gradient); font-size: .67rem; text-transform: uppercase; font-weight: 800; }
.price-card h3 { margin: 0; font-size: 1rem; }
.price-card__price { display: flex; align-items: baseline; gap: 6px; margin: 12px 0; }
.price-card__price strong { font-size: 2rem; }
.price-card__price span { color: var(--ps-muted); font-size: .75rem; }
.price-card ul { min-height: 125px; list-style: none; margin: 16px 0; padding: 0; display: grid; align-content: start; gap: 7px; color: #d6d8e3; font-size: .77rem; }
.price-card li { display: flex; gap: 7px; }
.price-card li::before { content: "✓"; color: #f7b260; }
.pricing-promo { display: flex; align-items: center; justify-content: center; padding: 30px; background: radial-gradient(circle at 80% 15%,rgba(255,116,52,.28),transparent 25%), radial-gradient(circle at 20% 90%,rgba(147,51,234,.3),transparent 32%), #0d1025; }
.pricing-promo strong { max-width: 260px; font-size: 1.65rem; line-height: 1.14; }
.cta-banner { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 30px; padding: 26px 34px; border: 1px solid rgba(236,72,153,.4); border-radius: 12px; background: linear-gradient(100deg,rgba(89,21,166,.9),rgba(190,46,116,.65),rgba(84,34,138,.9)); overflow: hidden; position: relative; }
.cta-banner::after { content: ""; position: absolute; inset: 0 0 0 65%; background: radial-gradient(circle,rgba(255,145,50,.4),transparent 50%); }
.cta-banner > * { position: relative; z-index: 2; }
.cta-banner h2 { margin: 0; font-size: 1.5rem; }
.cta-banner p { margin: 4px 0 0; color: #e5d7ef; }
.cta-banner__actions { display: flex; gap: 12px; }

/* Listings and detail pages */
.page-hero { padding: 60px 0 30px; border-bottom: 1px solid var(--ps-line); background: radial-gradient(circle at 80% 15%,rgba(139,92,246,.22),transparent 32%); }
.page-hero__inner { width: min(1180px,calc(100% - 40px)); margin: 0 auto; }
.page-hero h1 { margin: 0 0 10px; font-size: clamp(2.4rem,5vw,4.5rem); }
.page-hero p { max-width: 720px; color: var(--ps-muted); }
.filter-bar { display: grid; grid-template-columns: minmax(220px,2fr) repeat(3,minmax(130px,1fr)) auto; gap: 10px; padding: 14px; margin: 22px 0; }
.listing-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.profile-card { overflow: hidden; }
.profile-card__media { height: 180px; background: radial-gradient(circle at 70% 20%,rgba(236,72,153,.38),transparent 34%),linear-gradient(135deg,#17132e,#090c20); background-size: cover; background-position: center; }
.profile-card__body { padding: 16px; }
.profile-card h2 { margin-bottom: 5px; font-size: 1.08rem; }
.profile-card p { color: var(--ps-muted); font-size: .82rem; }
.profile-card__meta { display: flex; flex-wrap: wrap; gap: 6px; }
.detail-hero { position: relative; min-height: 380px; display: flex; align-items: end; overflow: hidden; background: #0a0c20 center/cover; }
.detail-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(4,6,16,.1),rgba(4,6,16,.96)); }
.detail-hero__inner { position: relative; z-index: 2; width: min(1180px,calc(100% - 40px)); margin: 0 auto; padding: 60px 0 34px; display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.detail-hero h1 { margin: 8px 0; font-size: clamp(2.5rem,5vw,4.8rem); }
.detail-hero p { color: #d0d2df; }
.detail-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.detail-layout { width: min(1180px,calc(100% - 40px)); margin: 24px auto 60px; display: grid; grid-template-columns: minmax(0,1fr) 360px; gap: 18px; }
.detail-content { display: grid; gap: 18px; }
.detail-sidebar { display: grid; align-content: start; gap: 18px; }
.info-list { display: grid; gap: 12px; }
.info-list__row { display: grid; grid-template-columns: 26px 1fr; gap: 10px; color: var(--ps-muted); }
.info-list__row strong { color: var(--ps-text); display: block; }
.review-list { display: grid; gap: 10px; }
.review { padding: 14px; border: 1px solid var(--ps-line); border-radius: 10px; background: rgba(8,11,26,.65); }
.review__head { display: flex; justify-content: space-between; gap: 10px; }
.review__stars { color: #fbbf24; }
.empty-state { display: grid; place-items: center; text-align: center; min-height: 220px; padding: 30px; color: var(--ps-muted); }
.empty-state svg { width: 44px; height: 44px; color: #9f62ef; margin-bottom: 12px; }
.pagination { display: flex; justify-content: center; gap: 8px; margin-top: 25px; }

/* Badges */
.ps-badge { display: inline-flex; align-items: center; gap: 4px; padding: 4px 7px; border: 1px solid color-mix(in srgb,var(--badge-colour,#8b5cf6) 50%,transparent); border-radius: 5px; background: color-mix(in srgb,var(--badge-colour,#8b5cf6) 20%,transparent); color: color-mix(in srgb,var(--badge-colour,#c4b5fd) 55%,white); font-size: .65rem; font-weight: 800; line-height: 1.1; }
.ps-badge--approved,.ps-badge--active,.ps-badge--confirmed,.ps-badge--published,.ps-badge--complimentary { --badge-colour:#22c55e; }
.ps-badge--pending,.ps-badge--requested,.ps-badge--trialing,.ps-badge--provisional { --badge-colour:#f59e0b; }
.ps-badge--rejected,.ps-badge--cancelled,.ps-badge--suspended,.ps-badge--failed,.ps-badge--past-due { --badge-colour:#f43f5e; }
.ps-badge--draft,.ps-badge--unknown { --badge-colour:#64748b; }
.ps-badge--verified { --badge-colour:#3b82f6; }

/* Auth */
.auth-page { min-height: calc(100vh - 68px); display: grid; grid-template-columns: 1fr 1fr; }
.auth-art { padding: 60px; display: flex; flex-direction: column; justify-content: end; background: radial-gradient(circle at 45% 35%,rgba(236,72,153,.28),transparent 25%),radial-gradient(circle at 60% 60%,rgba(251,146,60,.2),transparent 30%),linear-gradient(145deg,#140d2b,#050714); }
.auth-art h1 { max-width: 620px; font-size: clamp(3rem,5vw,5.7rem); line-height: .95; }
.auth-art p { max-width: 520px; color: #b9bdd0; }
.auth-panel { display: grid; place-items: center; padding: 50px 25px; }
.auth-card { width: min(520px,100%); padding: 30px; }
.auth-card h1 { margin-bottom: 8px; font-size: 2rem; }
.auth-card > p { color: var(--ps-muted); }
.auth-card form { display: grid; gap: 15px; margin-top: 24px; }
.account-type-tabs { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.account-type-tabs label { cursor: pointer; }
.account-type-tabs input { position: absolute; opacity: 0; }
.account-type-tabs span { display: grid; place-items: center; min-height: 66px; padding: 8px; border: 1px solid var(--ps-line); border-radius: 9px; color: var(--ps-muted); }
.account-type-tabs input:checked + span { border-color: var(--ps-pink); background: rgba(236,72,153,.12); color: #fff; }
.auth-links { display: flex; justify-content: space-between; gap: 12px; margin-top: 18px; color: #bca4e4; font-size: .84rem; }

/* Dashboard shell */
.dashboard-body { overflow-x: hidden; background: radial-gradient(circle at 100% 4%,rgba(89,36,153,.2),transparent 24%),#060817; }
.dashboard-shell { min-height: 100vh; display: grid; grid-template-columns: 190px minmax(0,1fr); }
.dashboard-sidebar { position: fixed; z-index: 90; inset: 0 auto 0 0; width: 190px; display: flex; flex-direction: column; padding: 12px 10px; border-right: 1px solid rgba(139,92,246,.18); background: rgba(5,7,20,.98); overflow-y: auto; }
.dashboard-sidebar__brand { padding: 0 3px 14px; }
.dashboard-sidebar .ps-brand__mark { width: 38px; height: 38px; }
.dashboard-sidebar .ps-brand__word { font-size: 1.05rem; }
.dashboard-sidebar .ps-brand__word small { font-size: .34rem; }
.dashboard-nav { display: grid; gap: 4px; }
.dashboard-nav__link { min-height: 40px; display: grid; grid-template-columns: 24px 1fr auto; align-items: center; gap: 8px; padding: 0 10px; border: 1px solid transparent; border-radius: 8px; color: #c6c9d8; font-size: .79rem; transition: background .15s,border-color .15s,color .15s; }
.dashboard-nav__link:hover { background: rgba(139,92,246,.08); color: #fff; }
.dashboard-nav__link.is-active { border-color: rgba(236,72,153,.42); background: linear-gradient(90deg,rgba(244,63,94,.17),rgba(139,92,246,.11)); color: #fff; box-shadow: inset 3px 0 #f15874; }
.dashboard-nav__link.is-active svg { color: #ff755b; }
.dashboard-nav__link em { min-width: 22px; padding: 2px 6px; border-radius: 999px; background: rgba(139,92,246,.32); color: #e4d7ff; font-size: .65rem; text-align: center; font-style: normal; }
.dashboard-switcher { margin-top: 18px; padding: 10px; border: 1px solid var(--ps-line); border-radius: 9px; background: rgba(139,92,246,.05); }
.dashboard-switcher > span { display: block; color: var(--ps-muted); font-size: .64rem; text-transform: uppercase; letter-spacing: .08em; }
.dashboard-switcher div { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 7px; }
.dashboard-switcher a { padding: 4px 6px; border-radius: 5px; color: var(--ps-muted); font-size: .64rem; }
.dashboard-switcher a.is-active { background: rgba(236,72,153,.18); color: #fff; }
.dashboard-sidebar__bottom { margin-top: auto; display: grid; gap: 6px; padding-top: 18px; }
.dashboard-sidebar__bottom a,.dashboard-sidebar__bottom button { width: 100%; display: flex; align-items: center; gap: 8px; padding: 9px 10px; border: 0; border-radius: 8px; background: transparent; color: var(--ps-muted); font-size: .74rem; cursor: pointer; }
.dashboard-sidebar__bottom a:hover,.dashboard-sidebar__bottom button:hover { color: #fff; background: rgba(139,92,246,.08); }
.dashboard-main { grid-column: 2; min-width: 0; }
.dashboard-topbar { position: sticky; z-index: 80; top: 0; min-height: 62px; display: grid; grid-template-columns: minmax(260px,480px) 1fr; align-items: center; gap: 20px; padding: 9px 20px; border-bottom: 1px solid rgba(139,92,246,.15); background: rgba(5,7,20,.9); backdrop-filter: blur(18px); }
.dashboard-sidebar-toggle { display: none; }
.dashboard-search { min-height: 38px; display: flex; align-items: center; gap: 8px; padding: 0 11px; border: 1px solid rgba(139,92,246,.2); border-radius: 8px; background: #0b0f22; }
.dashboard-search input { border: 0; padding: 0; min-height: auto; background: transparent; box-shadow: none; }
.dashboard-search kbd { margin-left: auto; color: #8990a7; font-size: .67rem; }
.dashboard-topbar__actions { display: flex; justify-content: flex-end; align-items: center; gap: 10px; }
.topbar-icon { position: relative; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--ps-line); border-radius: 8px; background: #0b0f22; }
.topbar-icon em { position: absolute; top: -5px; right: -5px; min-width: 18px; height: 18px; display: grid; place-items: center; border-radius: 50%; background: var(--ps-pink); font-size: .6rem; font-style: normal; }
.topbar-user { display: flex; align-items: center; gap: 8px; padding-left: 8px; }
.topbar-user > img,.topbar-user > span { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; display: grid; place-items: center; background: var(--ps-gradient); font-weight: 800; }
.topbar-user strong,.topbar-user small { display: block; }
.topbar-user strong { font-size: .78rem; }
.topbar-user small { color: var(--ps-muted); font-size: .65rem; }
.dashboard-content { width: min(1560px,100%); margin: 0 auto; padding: 20px; }
.dashboard-page-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.dashboard-page-head h1 { margin: 0; font-size: 1.75rem; }
.dashboard-page-head p { margin: 3px 0 0; color: var(--ps-muted); font-size: .84rem; }
.dashboard-page-head__actions { display: flex; gap: 8px; }
.stat-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px; margin-bottom: 14px; }
.stat-card { min-width: 0; padding: 14px; overflow: hidden; border: 1px solid var(--ps-line); border-radius: 10px; background: linear-gradient(155deg,#11152d,#0a0d20); }
.stat-card__head { display: flex; align-items: center; gap: 8px; color: #cfd2df; font-size: .72rem; }
.stat-card__icon { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 7px; color: #d78de5; background: rgba(139,92,246,.12); }
.stat-card > strong { display: block; margin-top: 6px; font-size: 1.55rem; letter-spacing: -.04em; }
.stat-card > small { display: block; margin-top: 6px; color: #76dc92; font-size: .62rem; }
.stat-card__spark { height: 24px; display: flex; align-items: end; gap: 2px; margin-top: 6px; }
.stat-card__spark i { flex: 1; height: 35%; border-top: 2px solid #b24ce8; transform: skewY(-10deg); }
.stat-card__spark i:nth-child(2){height:55%}.stat-card__spark i:nth-child(3){height:40%}.stat-card__spark i:nth-child(4){height:80%}.stat-card__spark i:nth-child(5){height:58%}.stat-card__spark i:nth-child(6){height:86%}.stat-card__spark i:nth-child(7){height:65%}
.stat-card--orange .stat-card__icon,.stat-card--orange .stat-card__spark i{color:#fb923c;border-color:#fb923c;background:rgba(251,146,60,.1)}
.stat-card--pink .stat-card__icon,.stat-card--pink .stat-card__spark i{color:#ec4899;border-color:#ec4899;background:rgba(236,72,153,.1)}
.stat-card--green .stat-card__icon,.stat-card--green .stat-card__spark i{color:#22c55e;border-color:#22c55e;background:rgba(34,197,94,.1)}
.dashboard-grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 12px; }
.dashboard-grid > .span-3 { grid-column: span 3; }
.dashboard-grid > .span-4 { grid-column: span 4; }
.dashboard-grid > .span-5 { grid-column: span 5; }
.dashboard-grid > .span-6 { grid-column: span 6; }
.dashboard-grid > .span-7 { grid-column: span 7; }
.dashboard-grid > .span-8 { grid-column: span 8; }
.dashboard-grid > .span-9 { grid-column: span 9; }
.dashboard-grid > .span-12 { grid-column: span 12; }
.dashboard-card { min-width: 0; border: 1px solid var(--ps-line); border-radius: 11px; background: linear-gradient(155deg,rgba(16,20,43,.97),rgba(8,11,26,.98)); overflow: hidden; }
.dashboard-card__head { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 14px; border-bottom: 1px solid rgba(139,92,246,.1); }
.dashboard-card__head h2,.dashboard-card__head h3 { margin: 0; font-size: .94rem; }
.dashboard-card__body { padding: 14px; }
.metric-chart { height: 210px; position: relative; overflow: hidden; background: repeating-linear-gradient(0deg,transparent,transparent 39px,rgba(139,92,246,.08) 40px),repeating-linear-gradient(90deg,transparent,transparent 70px,rgba(139,92,246,.05) 71px); }
.metric-chart::before,.metric-chart::after { content: ""; position: absolute; left: 3%; right: 3%; height: 2px; border-radius: 50%; background: #b44ce5; box-shadow: 20px -30px 0 #b44ce5,55px -8px 0 #b44ce5,90px -52px 0 #b44ce5,130px -25px 0 #b44ce5,180px -65px 0 #b44ce5,230px -38px 0 #b44ce5,290px -90px 0 #b44ce5,360px -50px 0 #b44ce5,430px -98px 0 #b44ce5; transform: translateY(175px) rotate(-3deg); }
.metric-chart::after { background:#fb7c39; box-shadow:30px -20px 0 #fb7c39,70px -45px 0 #fb7c39,120px -35px 0 #fb7c39,170px -70px 0 #fb7c39,220px -50px 0 #fb7c39,270px -110px 0 #fb7c39,320px -80px 0 #fb7c39,380px -120px 0 #fb7c39; transform:translateY(190px) rotate(-7deg); opacity:.8; }
.dashboard-list { display: grid; gap: 6px; }
.dashboard-list__item { display: grid; grid-template-columns: 36px minmax(0,1fr) auto; align-items: center; gap: 9px; padding: 8px; border-radius: 8px; background: rgba(13,17,38,.64); }
.dashboard-list__thumb { width: 36px; height: 36px; border-radius: 6px; object-fit: cover; background: var(--ps-gradient); }
.dashboard-list__item strong,.dashboard-list__item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-list__item strong { font-size: .75rem; }
.dashboard-list__item small { color: var(--ps-muted); font-size: .64rem; }
.dashboard-list__actions { display: flex; gap: 5px; }
.dashboard-list__actions .button { min-height: 29px; padding: 0 8px; font-size: .65rem; }
.data-table-wrap { overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; font-size: .74rem; }
.data-table th { padding: 9px 10px; color: #8f96ad; font-size: .65rem; font-weight: 700; text-align: left; white-space: nowrap; border-bottom: 1px solid var(--ps-line); }
.data-table td { padding: 10px; border-bottom: 1px solid rgba(139,92,246,.08); vertical-align: middle; }
.data-table tr:hover td { background: rgba(139,92,246,.035); }
.data-table__title { display: flex; align-items: center; gap: 8px; min-width: 170px; }
.data-table__title img,.data-table__title i { width: 34px; height: 34px; border-radius: 6px; object-fit: cover; background: var(--ps-gradient); }
.quick-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.quick-action { min-height: 64px; display: grid; place-items: center; gap: 4px; padding: 8px; border: 1px solid rgba(139,92,246,.22); border-radius: 8px; background: rgba(139,92,246,.05); color: #d8c9f0; text-align: center; font-size: .7rem; }
.quick-action:hover { border-color: rgba(236,72,153,.45); background: rgba(236,72,153,.08); }
.progress-ring { width: 86px; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(var(--ps-pink) calc(var(--progress,0)*1%),#232740 0); position: relative; }
.progress-ring::before { content:""; position:absolute; inset:8px; border-radius:50%; background:#0d1025; }
.progress-ring strong { position:relative; font-size:1.1rem; }
.calendar-grid { display: grid; grid-template-columns: repeat(7,1fr); min-height: 180px; border-top: 1px solid var(--ps-line); border-left: 1px solid var(--ps-line); }
.calendar-day { min-width: 0; padding: 8px 5px; border-right: 1px solid var(--ps-line); border-bottom: 1px solid var(--ps-line); color: var(--ps-muted); font-size: .6rem; }
.calendar-event { display:block; margin-top:8px; padding:6px; border:1px solid rgba(139,92,246,.35); border-radius:5px; background:rgba(139,92,246,.14); color:#fff; font-size:.58rem; }
.dashboard-map { min-height: 250px; position: relative; overflow: hidden; border-radius: 8px; background: radial-gradient(circle at 40% 55%,rgba(251,146,60,.24),transparent 8%),radial-gradient(circle at 68% 35%,rgba(139,92,246,.28),transparent 8%),linear-gradient(135deg,#151d2e,#0c1426); }
.dashboard-map::before { content:""; position:absolute; inset:0; opacity:.35; background-image: repeating-linear-gradient(25deg,transparent 0 25px,rgba(148,163,184,.18) 26px 27px),repeating-linear-gradient(110deg,transparent 0 45px,rgba(148,163,184,.12) 46px 47px); }
.map-pin { position:absolute; z-index:2; width:24px; height:24px; border-radius:50% 50% 50% 0; transform:rotate(-45deg); background:var(--ps-pink); box-shadow:0 0 20px rgba(236,72,153,.7); }
.map-pin:nth-child(1){left:38%;top:48%}.map-pin:nth-child(2){left:63%;top:31%;background:var(--ps-orange)}.map-pin:nth-child(3){left:73%;top:62%;background:var(--ps-purple)}
.profile-completion { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 16px; }
.profile-completion ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; color: var(--ps-muted); font-size: .7rem; }
.profile-completion li.is-done { color: #90e8aa; }

/* Footer */
.public-footer { position: relative; padding: 50px 0 18px; border-top: 1px solid var(--ps-line); background: #050714; overflow: hidden; }
.public-footer__glow { position: absolute; inset: 0; background: radial-gradient(circle at 85% 30%,rgba(236,72,153,.1),transparent 25%); }
.public-footer__grid,.public-footer__bottom { position: relative; width: min(1420px,calc(100% - 40px)); margin: 0 auto; }
.public-footer__grid { display: grid; grid-template-columns: 1.5fr repeat(2,.8fr) 1.2fr; gap: 40px; }
.public-footer h2 { margin-bottom: 12px; font-size: .88rem; }
.public-footer p,.public-footer a { color: var(--ps-muted); font-size: .75rem; }
.public-footer a { display: block; margin: 6px 0; }
.public-footer__brand p { max-width: 270px; margin-top: 12px; }
.public-footer__bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 24px; margin-top: 30px; border-top: 1px solid var(--ps-line); color: var(--ps-muted-2); font-size: .68rem; }

/* Responsive */
@media (max-width: 1250px) {
    .event-grid { grid-template-columns: repeat(3,1fr); }
    .listing-grid { grid-template-columns: repeat(3,1fr); }
    .stat-grid { grid-template-columns: repeat(3,1fr); }
    .pricing-grid { grid-template-columns: repeat(3,1fr); }
    .pricing-promo { grid-column: 1/-1; min-height: 180px; }
    .dashboard-topbar { grid-template-columns: minmax(220px,390px) 1fr; }
}
@media (max-width: 1020px) {
    .public-header__inner { grid-template-columns: 1fr auto auto; }
    .public-nav { display: none; position: absolute; top: 68px; left: 0; right: 0; padding: 16px 20px 22px; flex-direction: column; align-items: stretch; gap: 0; background: rgba(5,7,20,.98); border-bottom: 1px solid var(--ps-line); }
    .public-nav.is-open { display: flex; }
    .public-nav a { padding: 12px; }
    .mobile-menu-button { display: inline-flex; }
    .home-hero__inner { grid-template-columns: 1fr; }
    .home-hero__copy { max-width: 720px; }
    .audience-strip { grid-template-columns: 1fr; margin-top: 14px; }
    .how-steps { grid-template-columns: repeat(2,1fr); gap: 24px; }
    .how-step:not(:last-child)::after { display: none; }
    .role-showcase { grid-template-columns: 1fr; }
    .detail-layout { grid-template-columns: 1fr; }
    .detail-sidebar { grid-template-columns: repeat(2,1fr); }
    .dashboard-shell { grid-template-columns: 1fr; }
    .dashboard-sidebar { transform: translateX(-105%); transition: transform .2s; box-shadow: var(--ps-shadow); }
    .dashboard-sidebar.is-open { transform: translateX(0); }
    .dashboard-main { grid-column: 1; }
    .dashboard-topbar { grid-template-columns: auto minmax(200px,1fr) auto; }
    .dashboard-sidebar-toggle { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--ps-line); border-radius: 8px; background: #0b0f22; }
    .dashboard-topbar__actions .button,.topbar-user div { display: none; }
    .dashboard-grid > .span-3,.dashboard-grid > .span-4,.dashboard-grid > .span-5,.dashboard-grid > .span-6 { grid-column: span 6; }
    .dashboard-grid > .span-7,.dashboard-grid > .span-8,.dashboard-grid > .span-9 { grid-column: span 12; }
}
@media (max-width: 760px) {
    .public-header__inner,.public-container,.public-footer__grid,.public-footer__bottom,.home-hero__inner,.page-hero__inner,.detail-hero__inner,.detail-layout { width: min(100% - 24px,1420px); }
    .public-header__actions .button--ghost { display: none; }
    .ps-brand__word small { display: none; }
    .home-hero__copy h1 { font-size: 3.1rem; }
    .explore-preview { padding: 14px; }
    .explore-preview__grid { grid-template-columns: repeat(2,1fr); }
    .event-grid,.listing-grid { grid-template-columns: repeat(2,1fr); }
    .how-steps,.role-showcase__card,.pricing-grid,.ps-grid--2,.ps-grid--3,.ps-grid--4 { grid-template-columns: 1fr; }
    .role-showcase__card { min-height: auto; }
    .pricing-promo { grid-column: auto; }
    .cta-banner { grid-template-columns: 1fr; padding: 24px; }
    .cta-banner__actions { flex-wrap: wrap; }
    .filter-bar { grid-template-columns: 1fr 1fr; }
    .filter-bar > :first-child,.filter-bar > :last-child { grid-column: 1/-1; }
    .detail-hero__inner { align-items: start; flex-direction: column; }
    .detail-sidebar { grid-template-columns: 1fr; }
    .auth-page { grid-template-columns: 1fr; }
    .auth-art { display: none; }
    .form-grid { grid-template-columns: 1fr; }
    .stat-grid { grid-template-columns: repeat(2,1fr); }
    .dashboard-topbar { grid-template-columns: auto 1fr auto; padding: 8px 10px; }
    .dashboard-search kbd,.topbar-icon:nth-of-type(2) { display: none; }
    .dashboard-content { padding: 12px; }
    .dashboard-page-head { align-items: start; flex-direction: column; }
    .dashboard-grid > * { grid-column: 1/-1!important; }
    .calendar-grid { overflow-x: auto; grid-template-columns: repeat(7,minmax(95px,1fr)); }
    .public-footer__grid { grid-template-columns: 1fr 1fr; }
    .public-footer__brand,.public-footer__newsletter { grid-column: 1/-1; }
}
@media (max-width: 500px) {
    .event-grid,.listing-grid,.stat-grid { grid-template-columns: 1fr; }
    .public-header__actions .button { padding: 0 10px; }
    .home-hero__inner { padding-top: 30px; }
    .home-hero__copy h1 { font-size: 2.7rem; }
    .explore-preview__grid { grid-template-columns: 1fr 1fr; }
    .preview-event { min-height: 170px; }
    .preview-event strong { padding-top: 65px; }
    .audience-card { grid-template-columns: 64px 1fr; }
    .audience-card__icon { height: 62px; }
    .public-section { padding: 38px 0; }
    .filter-bar { grid-template-columns: 1fr; }
    .filter-bar > * { grid-column: auto!important; }
    .public-footer__grid { grid-template-columns: 1fr; }
    .public-footer__brand,.public-footer__newsletter { grid-column: auto; }
    .public-footer__bottom { flex-direction: column; }
    .dashboard-search { min-width: 0; }
    .dashboard-search input { font-size: .75rem; }
    .topbar-icon { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    *,*::before,*::after { scroll-behavior: auto!important; animation-duration: .01ms!important; animation-iteration-count: 1!important; transition-duration: .01ms!important; }
}

/* PubStages v2 application additions */
.muted { color: var(--ps-muted); }
.prose { color: #cfd3e2; }
.prose .lead { color: #fff; font-size: 1.08rem; font-weight: 650; }
.prose p:last-child { margin-bottom: 0; }
.home-hero__inner { position: relative; z-index: 2; min-height: 560px; display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 54px; padding: 44px 0; }
.home-hero__copy h1 { margin: 0 0 20px; font-size: clamp(3.5rem,6vw,6.4rem); line-height: .93; }
.home-hero__copy > p:not(.ps-eyebrow) { max-width: 560px; color: #c5c8d6; font-size: 1rem; }
.home-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 26px 0 20px; }
.home-popular { display: grid; gap: 8px; color: var(--ps-muted); font-size: .72rem; }
.home-popular > div { display: flex; flex-wrap: wrap; gap: 7px; }
.home-popular a { display: inline-flex; align-items: center; gap: 5px; padding: 6px 9px; border: 1px solid var(--ps-line); border-radius: 6px; color: #d6d8e4; background: rgba(10,13,31,.65); }
.home-explorer { padding: 18px; transform: perspective(1000px) rotateY(-2deg); box-shadow: 0 30px 90px rgba(0,0,0,.5),0 0 60px rgba(139,92,246,.12); }
.home-explorer__head { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.home-explorer__head strong,.home-explorer__head small { display:block; }
.home-explorer__head small,.home-explorer__head a,.home-explorer__label { color:var(--ps-muted); font-size:.7rem; }
.home-explorer__search { display:flex; align-items:center; gap:8px; padding:7px; border:1px solid var(--ps-line); border-radius:9px; background:#080b1b; }
.home-explorer__search input { min-height:34px; border:0; box-shadow:none; background:transparent; }
.home-explorer__label { margin:14px 0 8px; font-weight:750; color:#d4d7e6; }
.home-explorer__cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.home-explorer .event-tile__body { grid-template-columns:1fr; }
.home-explorer .event-tile__date { display:none; }
.explorer-demo-card { min-height:180px; display:flex; flex-direction:column; justify-content:end; padding:12px; border:1px solid var(--ps-line); border-radius:8px; background: radial-gradient(circle at 50% 20%,rgba(237,72,153,.35),transparent 40%),#0f1228; font-weight:850; text-transform:uppercase; text-align:center; }
.explorer-demo-card small { color:var(--ps-muted); font-weight:500; text-transform:none; }
.explorer-demo-card--2 { background:radial-gradient(circle at 50% 20%,rgba(251,146,60,.35),transparent 40%),#0f1228; }
.explorer-demo-card--3 { background:radial-gradient(circle at 50% 20%,rgba(59,130,246,.35),transparent 40%),#0f1228; }
.explorer-demo-card--4 { background:radial-gradient(circle at 50% 20%,rgba(139,92,246,.4),transparent 40%),#0f1228; }
.audience-paths { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.audience-path { display:grid; grid-template-columns:82px 1fr; gap:18px; align-items:center; padding:22px; transition:.2s transform,.2s border-color; }
.audience-path:hover { transform:translateY(-2px); border-color:rgba(236,72,153,.45); }
.audience-path > span { width:76px;height:76px;display:grid;place-items:center;border:1px solid var(--ps-line);border-radius:14px;background:var(--ps-gradient-soft);color:#ef73bd; }
.audience-path h2 { margin:0 0 4px; font-size:1.1rem; }
.audience-path p { margin:0 0 8px; color:var(--ps-muted); font-size:.82rem; }
.audience-path strong { color:#dc6ed2; font-size:.75rem; }
.artist-preview { align-self:stretch;display:grid;place-items:center;align-content:center;text-align:center;padding:20px;border:1px solid var(--ps-line);border-radius:12px;background:radial-gradient(circle at 50% 20%,rgba(251,146,60,.2),transparent 36%),#090d20;color:#d07adc; }
.artist-preview img { width:110px;height:110px;object-fit:cover;border-radius:50%;border:3px solid rgba(236,72,153,.38); }
.artist-preview h3 { margin:12px 0 4px;color:#fff; }
.artist-preview p { color:var(--ps-muted);font-size:.78rem; }
.media-gallery { display:grid;grid-template-columns:repeat(3,1fr);gap:10px; }
.media-gallery img { width:100%;height:210px;object-fit:cover;border-radius:10px; }
.pricing-grid--page { grid-template-columns:repeat(3,1fr) 1.1fr; }

.auth-card--wide { width:min(720px,100%); }
.auth-card > .ps-brand { margin-bottom:18px; }
.auth-card h2 { margin-bottom:4px; font-size:1.7rem; }
.auth-card > div > p,.auth-foot,.legal-copy { color:var(--ps-muted); }
.auth-card .button--large { width:100%; }
.auth-options { display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.78rem; }
.auth-options a,.auth-foot a { color:#d37ce6; }
.auth-foot { margin:18px 0 0;text-align:center;font-size:.82rem; }
.account-type-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:8px; }
.account-type { cursor:pointer; }
.account-type input { position:absolute;opacity:0; }
.account-type span { min-height:92px;display:grid;place-items:center;align-content:center;gap:3px;padding:10px;border:1px solid var(--ps-line);border-radius:9px;color:var(--ps-muted);text-align:center; }
.account-type small { font-size:.65rem; }
.account-type input:checked+span { border-color:var(--ps-pink);background:rgba(236,72,153,.12);color:#fff;box-shadow:0 0 24px rgba(236,72,153,.1); }

.metric-summary { display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px; }
.metric-summary > div { padding:10px;border:1px solid var(--ps-line);border-radius:7px;background:#0d1126; }
.metric-summary small,.metric-summary strong { display:block; }
.metric-summary small { color:var(--ps-muted);font-size:.63rem; }
.metric-summary strong { margin-top:3px;font-size:1.05rem; }
.subscription-donut { width:145px;aspect-ratio:1;margin:6px auto 18px;display:grid;place-items:center;align-content:center;border-radius:50%;background:radial-gradient(circle,#0d1025 0 48%,transparent 49%),conic-gradient(var(--ps-purple) 0 50%,var(--ps-pink) 50% 83%,var(--ps-orange) 83%); }
.subscription-donut strong,.subscription-donut span { position:relative;display:block;text-align:center; }
.subscription-donut strong { font-size:1.5rem; }
.subscription-donut span { color:var(--ps-muted);font-size:.7rem; }
.legend-list { display:grid;gap:8px; }
.legend-list div { display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:8px;font-size:.72rem; }
.legend-list i { width:8px;height:8px;border-radius:50%;background:var(--ps-purple); }
.legend-list div:nth-child(2) i{background:var(--ps-pink)}.legend-list div:nth-child(3) i{background:var(--ps-orange)}
.table-actions { display:flex;flex-wrap:wrap;gap:6px;align-items:center; }
.data-table small { color:var(--ps-muted); }
.data-table input,.data-table select,.data-table textarea { min-height:34px;padding:6px 8px;font-size:.7rem; }
.lineup-actions { display:flex;gap:5px;align-items:center; }
.lineup-actions input { width:70px; }
.danger-zone,.premium-banner { display:flex;justify-content:space-between;align-items:center;gap:24px;padding:18px; }
.danger-zone p,.premium-banner p { margin:4px 0 0;color:var(--ps-muted); }
.venue-manager-card { display:grid;grid-template-columns:190px 1fr;gap:18px;min-height:220px;padding:16px; }
.venue-manager-card > img,.venue-manager-card__placeholder { width:100%;height:100%;min-height:180px;object-fit:cover;border-radius:10px;background:var(--ps-gradient-soft);display:grid;place-items:center;color:#d171d2; }
.venue-manager-card h2 { margin:10px 0 4px; }
.venue-manager-card p { color:var(--ps-muted); }
.media-editor { display:grid;gap:14px; }
.media-editor > img { width:100%;height:170px;object-fit:cover;border-radius:10px;border:1px solid var(--ps-line); }
.inline-team-form,.availability-form,.alert-form { display:grid;grid-template-columns:repeat(5,minmax(120px,1fr)) auto;gap:10px;align-items:end;margin-bottom:18px; }
.preference-checkboxes { display:flex;flex-wrap:wrap;gap:10px; }
.plan-options { display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px; }
.plan-options article { padding:12px;border:1px solid var(--ps-line);border-radius:9px;background:#0c1023; }
.plan-options h4 { margin:0 0 4px; }
.plan-options p { color:var(--ps-muted);font-size:.72rem; }
.settings-avatar { width:110px;height:110px;object-fit:cover;border-radius:50%;margin:0 auto 14px;border:3px solid rgba(236,72,153,.32); }
.notification-list,.conversation-list { display:grid;gap:6px; }
.notification-item button,.conversation-row { width:100%;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:12px;border:1px solid transparent;border-radius:9px;background:rgba(13,17,38,.7);color:inherit;text-align:left;cursor:pointer; }
.notification-item:not(.is-read) button { border-color:rgba(236,72,153,.25);background:rgba(236,72,153,.06); }
.notification-icon,.conversation-avatar { width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--ps-gradient-soft);color:#d47cdb;font-weight:800; }
.notification-item strong,.notification-item small,.conversation-row strong,.conversation-row small { display:block; }
.notification-item small,.conversation-row small,.notification-item time,.conversation-row time { color:var(--ps-muted);font-size:.7rem; }
.message-compose { max-width:800px; }
.chat-thread { min-height:420px;display:flex;flex-direction:column;gap:10px;padding:18px; }
.chat-message { max-width:72%;align-self:flex-start;padding:11px 13px;border:1px solid var(--ps-line);border-radius:12px 12px 12px 3px;background:#11152e; }
.chat-message.is-mine { align-self:flex-end;border-radius:12px 12px 3px 12px;background:linear-gradient(135deg,rgba(139,92,246,.24),rgba(236,72,153,.16)); }
.chat-message > div { display:flex;justify-content:space-between;gap:18px;font-size:.7rem; }
.chat-message time { color:var(--ps-muted); }
.chat-message p { margin:6px 0 0;white-space:pre-wrap; }
.chat-reply { padding:14px;border-top:1px solid var(--ps-line); }
.chat-reply form { display:grid;grid-template-columns:1fr auto;gap:9px;align-items:end; }
.chat-reply textarea { min-height:76px; }
.visitor-event-strip { display:grid;grid-auto-flow:column;grid-auto-columns:minmax(210px,1fr);gap:10px;overflow-x:auto;padding-bottom:5px; }
.visitor-dashboard-grid { margin-top:12px; }
.category-strip { display:grid;grid-template-columns:repeat(6,1fr);gap:10px; }
.category-strip a { min-height:95px;display:grid;grid-template-columns:44px 1fr;align-items:center;padding:14px;border:1px solid color-mix(in srgb,var(--category,#8b5cf6) 45%,transparent);border-radius:10px;background:linear-gradient(135deg,color-mix(in srgb,var(--category,#8b5cf6) 30%,#15152d),#10142b); }
.category-strip a svg { grid-row:span 2;color:#fff; }
.category-strip small { color:#ddd7ea;font-size:.64rem; }
.premium-banner { border:1px solid rgba(139,92,246,.4);background:linear-gradient(100deg,rgba(35,19,75,.9),rgba(89,22,105,.65)); }
.premium-banner > div { display:flex;align-items:center;gap:14px; }
.map-label { position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);padding:7px 10px;border-radius:7px;background:rgba(4,6,18,.78); }
.admin-search { display:flex;gap:7px;min-width:340px; }
.moderation-item { display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px;border:1px solid var(--ps-line);border-radius:9px;background:rgba(13,17,38,.68); }
.moderation-item h3 { margin:6px 0 2px;font-size:.9rem; }
.moderation-item p { margin:0 0 6px;color:#d3d6e3;font-size:.78rem; }
.moderation-item small { color:var(--ps-muted);font-size:.66rem; }
.admin-approval-actions { display:grid;gap:6px;min-width:220px; }
.admin-approval-actions form { display:flex;flex-wrap:wrap;gap:5px;align-items:center; }
.checklist p { padding:9px;border-bottom:1px solid var(--ps-line);margin:0;color:#cfd3df; }

@media (max-width:1100px){
 .home-hero__inner{grid-template-columns:1fr}.home-explorer{transform:none}.audience-paths{grid-template-columns:1fr}.home-explorer__cards{grid-template-columns:repeat(2,1fr)}
 .inline-team-form,.availability-form,.alert-form{grid-template-columns:repeat(2,1fr)}.category-strip{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:760px){
 .home-hero__copy h1{font-size:3.4rem}.home-explorer__cards{grid-template-columns:1fr 1fr}.role-showcase__card{grid-template-columns:1fr}.pricing-grid--page{grid-template-columns:1fr}.audience-path{grid-template-columns:62px 1fr}.audience-path>span{width:58px;height:58px}
 .account-type-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:1}.media-gallery{grid-template-columns:1fr 1fr}.metric-summary{grid-template-columns:1fr}.venue-manager-card{grid-template-columns:1fr}.inline-team-form,.availability-form,.alert-form{grid-template-columns:1fr}.category-strip{grid-template-columns:1fr 1fr}.chat-message{max-width:92%}.chat-reply form{grid-template-columns:1fr}.danger-zone,.premium-banner{align-items:flex-start;flex-direction:column}
}

/* Legal, review and moderation helpers */
.content-shell--narrow { width:min(900px,calc(100% - 32px)); margin:0 auto 72px; }
.legal-document { margin-top:-18px; }
.legal-document h2 { margin-top:28px; font-size:1.25rem; }
.legal-document p { color:#d8d9e3; line-height:1.75; }
.legal-note { margin-top:30px; padding:16px; border:1px solid rgba(251,146,60,.28); border-radius:10px; background:rgba(251,146,60,.08); color:#f7dcc8; }
.review-form-panel { margin-top:14px; }
.review-form-panel .form-help { color:var(--ps-muted); font-size:.74rem; }
.report-disclosure { margin:14px 0; border:1px solid var(--ps-line); border-radius:10px; background:rgba(10,13,30,.72); }
.report-disclosure summary { cursor:pointer; padding:13px 15px; color:var(--ps-muted); font-size:.78rem; }
.report-disclosure[open] summary { border-bottom:1px solid var(--ps-line); color:#fff; }
.report-form { padding:15px; }
.field-label { display:grid; gap:5px; color:var(--ps-muted); font-size:.68rem; }
.data-table td .field-label + .field-label { margin-top:7px; }
.data-table textarea { width:100%; margin-top:7px; min-width:180px; }

/* PubStages 2.0.2 — launch readiness and public UX polish */
.text-link { color: #e9c7ff; font-size: .88rem; font-weight: 750; }
.text-link:hover { color: #ffac73; }
.public-header__icon { width: 40px; padding: 0; }

.launch-ribbon { position: relative; z-index: 80; border-bottom: 1px solid rgba(251,146,60,.22); background: linear-gradient(90deg,rgba(92,35,128,.94),rgba(160,43,105,.88),rgba(91,39,133,.94)); }
.launch-ribbon__inner { width: min(1420px,calc(100% - 40px)); min-height: 38px; margin: 0 auto; display:flex; align-items:center; justify-content:space-between; gap:20px; color:#f9eefb; font-size:.76rem; }
.launch-ribbon__inner > div { display:flex; gap:18px; }
.launch-ribbon a { color:#fff; font-weight:800; text-decoration:underline; text-decoration-color:rgba(255,255,255,.38); text-underline-offset:3px; }

.home-hero--launch { min-height: 650px; }
.home-hero--launch .home-hero__inner { grid-template-columns: minmax(0,.94fr) minmax(480px,1.06fr); gap:64px; min-height:650px; }
.home-hero--launch .home-hero__copy h1 { max-width:620px; }
.hero-search { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(190px,.65fr) auto; align-items:end; gap:10px; max-width:780px; margin-top:28px; padding:14px; }
.hero-search label { display:grid; gap:7px; color:#cdd2e3; font-size:.72rem; font-weight:800; }
.hero-search__field { position:relative; }
.hero-search__field svg { position:absolute; left:13px; top:50%; transform:translateY(-50%); color:#8c94ac; }
.hero-search__field input { padding-left:42px; }
.hero-search select,.hero-search input { min-height:50px; }
.hero-search .button { min-height:50px; }

.launch-hub { padding:24px; background:linear-gradient(155deg,rgba(19,23,50,.97),rgba(8,10,28,.97)); box-shadow:0 30px 100px rgba(0,0,0,.42),0 0 80px rgba(172,56,197,.12); }
.launch-hub__head { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:12px; }
.launch-hub__head h2 { margin:12px 0 0; max-width:420px; font-size:1.65rem; }
.launch-hub__head > svg { color:#f18aa8; }
.launch-hub > p { margin-bottom:20px; color:#aeb5c9; }
.launch-steps { display:grid; gap:9px; }
.launch-steps > a { display:grid; grid-template-columns:42px 1fr auto; align-items:center; gap:12px; min-height:78px; padding:13px 14px; border:1px solid rgba(160,112,236,.16); border-radius:12px; background:rgba(6,9,24,.68); transition:transform .18s,border-color .18s,background .18s; }
.launch-steps > a:hover { transform:translateX(3px); border-color:rgba(236,72,153,.42); background:rgba(139,92,246,.08); }
.launch-steps > a > span { width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--ps-gradient-soft);color:#ffab79;font-weight:900;font-size:.78rem; }
.launch-steps strong { display:block; margin-bottom:3px; }
.launch-steps small { display:block; color:var(--ps-muted); line-height:1.4; }
.launch-steps > a > svg { color:#c77ff4; }
.launch-hub__note { display:flex; align-items:flex-start; gap:9px; margin-top:16px; padding-top:16px; border-top:1px solid var(--ps-line); color:#8d95ae; font-size:.73rem; }
.launch-hub__note svg { color:#6dd79a; }

.audience-paths--prominent .audience-path { min-height:180px; align-items:flex-start; }
.audience-path small { display:block; margin-bottom:5px; color:#f49c64; font-weight:800; font-size:.68rem; text-transform:uppercase; letter-spacing:.09em; }
.audience-paths--prominent .audience-path h2 { font-size:1.3rem; }
.audience-paths--prominent .audience-path p { max-width:360px; line-height:1.55; }

.launch-empty { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:36px; padding:32px; border-color:rgba(236,72,153,.28); background:linear-gradient(125deg,rgba(66,25,92,.36),rgba(10,12,31,.96)); }
.launch-empty h2 { max-width:760px; margin-bottom:8px; font-size:clamp(1.55rem,3vw,2.4rem); }
.launch-empty p { max-width:780px; margin:0; color:var(--ps-muted); }
.launch-empty__actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; max-width:470px; }

.public-section__head--centred { justify-content:center; text-align:center; }
.public-section__head--centred > div { max-width:760px; }
.journey-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.journey-card { padding:25px; }
.journey-card > span { color:#fa9660; font-size:.7rem; font-weight:900; text-transform:uppercase; letter-spacing:.1em; }
.journey-card h3 { margin:10px 0 18px; font-size:1.25rem; }
.journey-card ol { margin:0 0 22px; padding:0; list-style:none; counter-reset:journey; display:grid; gap:12px; }
.journey-card li { counter-increment:journey; display:grid; grid-template-columns:28px 1fr; gap:9px; color:#bcc2d4; font-size:.82rem; }
.journey-card li::before { content:counter(journey); width:26px;height:26px;display:grid;place-items:center;border:1px solid rgba(236,72,153,.28);border-radius:50%;color:#e98bc4;font-size:.66rem;font-weight:900; }
.journey-card > a { color:#d995ff; font-size:.78rem; font-weight:850; }

.role-showcase--launch .role-showcase__card { min-height:330px; }
.feature-stack,.trust-list { display:grid; align-content:center; gap:10px; }
.feature-stack > div,.trust-list > div { display:flex; align-items:flex-start; gap:12px; padding:14px; border:1px solid rgba(155,112,226,.16); border-radius:11px; background:rgba(7,10,25,.64); }
.feature-stack svg,.trust-list svg { color:#f07c9f; }
.feature-stack strong,.trust-list strong { display:block; margin-bottom:2px; }
.feature-stack small,.trust-list small { color:var(--ps-muted); }

.pricing-grid--compact { grid-template-columns:repeat(3,minmax(0,1fr)); }
.pricing-intro { display:grid; grid-template-columns:1.15fr .85fr; gap:36px; align-items:center; margin-bottom:22px; padding:28px; }
.pricing-intro h2 { margin:12px 0 8px; font-size:clamp(1.55rem,3vw,2.4rem); }
.pricing-intro p { margin:0; color:var(--ps-muted); }
.pricing-intro ul { margin:0; padding:0; list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.pricing-intro li { display:flex; gap:8px; color:#d8dbe7; font-size:.82rem; }
.pricing-intro li svg { color:#6fdda0; }
.price-card__saving { display:inline-flex; width:max-content; margin-bottom:10px; padding:5px 9px; border-radius:999px; color:#8fe7af; background:rgba(34,197,94,.1); border:1px solid rgba(34,197,94,.25); font-size:.68rem; font-weight:850; }
.benefit-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.benefit-card { padding:23px; }
.benefit-card > svg { width:34px;height:34px;margin-bottom:14px;color:#ef81b8; }
.benefit-card h3 { margin-bottom:6px; }
.benefit-card p { margin:0;color:var(--ps-muted);font-size:.82rem; }
.faq-section { display:grid; grid-template-columns:.75fr 1.25fr; gap:40px; align-items:start; }
.faq-section__intro { position:sticky; top:120px; }
.faq-section__intro h2 { font-size:clamp(1.7rem,3vw,2.55rem); }
.faq-section__intro p { color:var(--ps-muted); }
.faq-list { display:grid; gap:10px; }
.faq-list details { border:1px solid var(--ps-line); border-radius:12px; background:rgba(12,15,35,.78); padding:0 18px; }
.faq-list summary { cursor:pointer; padding:18px 26px 18px 0; font-weight:800; position:relative; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:'+'; position:absolute; right:0; top:15px; color:#d77bea; font-size:1.3rem; }
.faq-list details[open] summary::after { content:'–'; }
.faq-list p { padding:0 0 18px; margin:0; color:var(--ps-muted); }

.page-hero--explore,.page-hero--venues,.page-hero--artists,.page-hero--pricing { padding-top:72px; }
.catalogue-empty { display:grid; grid-template-columns:110px minmax(0,1fr) minmax(250px,.5fr); gap:28px; align-items:center; min-height:310px; padding:34px; }
.catalogue-empty__icon { width:96px;height:96px;display:grid;place-items:center;border:1px solid rgba(236,72,153,.25);border-radius:22px;background:var(--ps-gradient-soft);color:#e17acd; }
.catalogue-empty__copy h2 { margin:12px 0 8px; font-size:clamp(1.55rem,3vw,2.35rem); }
.catalogue-empty__copy > p { max-width:740px;color:var(--ps-muted); }
.catalogue-empty__actions { display:flex;flex-wrap:wrap;gap:10px;margin-top:20px; }
.catalogue-empty__aside { padding:20px;border-left:1px solid var(--ps-line); }
.catalogue-empty__aside h3 { margin-bottom:14px;font-size:1rem; }
.catalogue-empty__aside ul { margin:0;padding:0;list-style:none;display:grid;gap:10px;color:#bcc2d4;font-size:.78rem; }
.catalogue-empty__aside li { display:flex;align-items:center;gap:9px; }
.catalogue-empty__aside li svg { color:#db7bbb; }

.cta-banner--launch { background:linear-gradient(105deg,rgba(76,25,118,.96),rgba(170,44,112,.75),rgba(72,29,115,.96)); }
.public-footer__help p { max-width:270px; }
.public-footer__legal { display:flex; gap:14px; margin-top:15px; }
.public-footer__legal a { margin:0; }

/* Admin dashboard: useful operational information instead of decorative charts */
.admin-stat-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
.admin-readiness-card .dashboard-card__head p,.dashboard-card__head p { margin:3px 0 0;color:var(--ps-muted);font-size:.72rem; }
.readiness-list { display:grid;gap:10px; }
.readiness-item { display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--ps-line);border-radius:11px;background:rgba(7,10,25,.56); }
.readiness-item > span { width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:rgba(139,92,246,.12);color:#c99afb; }
.readiness-item strong,.readiness-item small { display:block; }
.readiness-item small { color:var(--ps-muted); }
.readiness-item em { padding:5px 9px;border-radius:999px;font-size:.65rem;font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:.06em;background:rgba(139,92,246,.12);color:#caa7ff; }
.readiness-item.is-complete > span { background:rgba(34,197,94,.12);color:#70dfa0; }
.readiness-item.is-complete em { background:rgba(34,197,94,.1);color:#89eab0; }
.readiness-item.is-warning > span { background:rgba(251,146,60,.12);color:#ffad72; }
.readiness-item.is-warning em { background:rgba(251,146,60,.1);color:#ffc08e; }
.quick-actions--prioritised .quick-action { align-items:flex-start; }
.quick-actions--prioritised .quick-action span { display:block; }
.quick-actions--prioritised .quick-action strong,.quick-actions--prioritised .quick-action small { display:block; }
.quick-actions--prioritised .quick-action small { margin-top:2px;color:var(--ps-muted);font-weight:500; }
.content-readiness { display:grid;grid-template-columns:repeat(3,1fr);gap:10px; }
.content-readiness > a { display:grid;grid-template-columns:44px 1fr;align-items:center;gap:10px;padding:14px;border:1px solid var(--ps-line);border-radius:11px;background:rgba(7,10,25,.55); }
.content-readiness > a > span { width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:var(--ps-gradient-soft);color:#e78bc6; }
.content-readiness strong,.content-readiness small { display:block; }
.content-readiness strong { font-size:1.35rem; }
.content-readiness small { color:var(--ps-muted); }
.dashboard-card__footer-note { display:flex;gap:9px;padding:13px 18px;border-top:1px solid var(--ps-line);color:#aeb5c9;font-size:.74rem; }
.dashboard-card__footer-note svg { color:#c88eff; }
.table-empty { display:flex;align-items:center;justify-content:center;gap:12px;min-height:90px;color:var(--ps-muted); }
.table-empty strong,.table-empty small { display:block; }
.subscription-summary { display:grid;place-items:center;min-height:145px;margin-bottom:12px;border:1px solid var(--ps-line);border-radius:14px;background:radial-gradient(circle,rgba(139,92,246,.15),transparent 62%); }
.subscription-summary strong { font-size:2.5rem; }
.subscription-summary span { color:var(--ps-muted);font-size:.72rem; }
.empty-state--compact { min-height:140px;padding:20px; }

@media (max-width: 1200px) {
    .home-hero--launch .home-hero__inner { grid-template-columns:1fr; }
    .launch-hub { max-width:850px; }
    .admin-stat-grid { grid-template-columns:repeat(3,1fr); }
    .benefit-grid { grid-template-columns:repeat(2,1fr); }
    .catalogue-empty { grid-template-columns:90px 1fr; }
    .catalogue-empty__aside { grid-column:1/-1;border-left:0;border-top:1px solid var(--ps-line);padding:20px 0 0; }
}

@media (max-width: 900px) {
    .launch-ribbon__inner { padding:8px 0; }
    .launch-ribbon__inner > div { display:none; }
    .hero-search { grid-template-columns:1fr 1fr; }
    .hero-search .button { grid-column:1/-1; }
    .launch-empty,.pricing-intro,.faq-section { grid-template-columns:1fr; }
    .launch-empty__actions { justify-content:flex-start; }
    .journey-grid { grid-template-columns:1fr; }
    .faq-section__intro { position:static; }
    .pricing-intro ul { grid-template-columns:1fr; }
}

@media (max-width: 680px) {
    .launch-ribbon__inner { width:min(100% - 24px,1420px); font-size:.7rem; }
    .home-hero--launch .home-hero__inner { min-height:auto; }
    .hero-search { grid-template-columns:1fr; }
    .hero-search .button { grid-column:auto; }
    .launch-hub { padding:18px; }
    .launch-steps > a { grid-template-columns:38px 1fr; }
    .launch-steps > a > svg { display:none; }
    .catalogue-empty { grid-template-columns:1fr;padding:24px; }
    .catalogue-empty__icon { width:76px;height:76px; }
    .catalogue-empty__aside { grid-column:auto; }
    .benefit-grid,.admin-stat-grid,.content-readiness { grid-template-columns:1fr; }
    .launch-empty__actions,.catalogue-empty__actions { flex-direction:column;align-items:stretch; }
    .launch-empty__actions .button,.catalogue-empty__actions .button { width:100%; }
}

/* PubStages 2.0.3: role-aware registration */
.sr-only { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important; }
.auth-page--registration { align-items:start; }
.auth-art--registration { position:sticky;top:100px;align-self:start;height:calc(100vh - 100px);min-height:calc(100vh - 100px);justify-content:center;overflow:hidden;padding:clamp(38px,4.5vw,72px); }
.auth-art--registration > div { width:min(560px,100%);margin:0 auto;transform:translateY(-2vh); }
.auth-panel--registration { align-items:start;padding:40px 28px 56px; }
.auth-card--registration { width:min(900px,100%);padding:30px; }
.registration-card__header { display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px; }
.registration-card__header > div:last-child { max-width:590px; }
.registration-card__header h2 { margin:2px 0 6px;font-size:clamp(1.65rem,2.3vw,2.2rem); }
.registration-card__header p { margin:0;color:var(--ps-muted); }
.registration-benefits { display:grid;gap:12px;margin-top:28px;max-width:560px; }
.registration-benefits > div { display:grid;grid-template-columns:44px 1fr;align-items:center;gap:13px;padding:14px 16px;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:rgba(7,9,23,.48);backdrop-filter:blur(10px); }
.registration-benefits > div > svg { width:40px;height:40px;padding:9px;border-radius:11px;background:rgba(236,72,153,.13);color:#f09acb; }
.registration-benefits strong,.registration-benefits small { display:block; }
.registration-benefits small { margin-top:2px;color:#b9bdd0; }
.registration-progress { display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:0 0 22px;padding:0;list-style:none; }
.registration-progress li { display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--ps-line);border-radius:10px;color:var(--ps-muted);font-size:.72rem;font-weight:800; }
.registration-progress li span { width:24px;height:24px;display:grid;place-items:center;border-radius:999px;background:rgba(139,92,246,.12);color:#caa7ff; }
.registration-progress li.is-active { border-color:rgba(236,72,153,.42);background:rgba(236,72,153,.08);color:#fff; }
.registration-progress li.is-active span { background:var(--ps-gradient);color:#fff; }
.registration-role-picker { margin:0;padding:0;border:0; }
.auth-card--registration form { gap:18px; }
.auth-card--registration .account-type-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:10px; }
.auth-card--registration .account-type span { min-height:144px;align-content:start;justify-items:start;text-align:left;padding:16px;gap:5px; }
.auth-card--registration .account-type span > svg { width:36px;height:36px;padding:8px;margin-bottom:4px;border-radius:10px;background:rgba(139,92,246,.12);color:#cfabff; }
.auth-card--registration .account-type strong { font-size:1rem;color:#fff; }
.auth-card--registration .account-type small { min-height:38px;font-size:.72rem;line-height:1.45; }
.auth-card--registration .account-type em { margin-top:auto;font-size:.64rem;font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#d58cc0; }
.auth-card--registration .account-type input:focus-visible + span { outline:3px solid rgba(244,114,182,.36);outline-offset:2px; }
.auth-card--registration .account-type input:checked + span { border-color:#ec4899;background:linear-gradient(145deg,rgba(139,92,246,.17),rgba(236,72,153,.13));box-shadow:0 0 30px rgba(236,72,153,.12); }
.registration-role-summary { display:grid;grid-template-columns:42px 1fr;align-items:center;gap:12px;padding:13px 15px;border:1px solid rgba(139,92,246,.25);border-radius:12px;background:rgba(139,92,246,.08); }
.registration-role-summary > span { width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--ps-gradient);color:#fff; }
.registration-role-summary strong,.registration-role-summary small { display:block; }
.registration-role-summary small { margin-top:2px;color:var(--ps-muted); }
.registration-section { padding:22px;border:1px solid var(--ps-line);border-radius:15px;background:rgba(7,10,25,.48); }
.registration-section[hidden] { display:none!important; }
.registration-section__header { display:grid;grid-template-columns:36px 1fr;align-items:start;gap:12px;margin-bottom:18px; }
.registration-section__header > span { width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:rgba(236,72,153,.12);color:#f09acb;font-weight:900; }
.registration-section__header h3 { margin:1px 0 3px;font-size:1.05rem; }
.registration-section__header p { margin:0;color:var(--ps-muted);font-size:.76rem;line-height:1.5; }
.registration-role-panel { border-color:rgba(139,92,246,.24);background:linear-gradient(145deg,rgba(13,16,38,.82),rgba(8,10,25,.72)); }
.registration-section--final { border-color:rgba(34,197,94,.2); }
.registration-consent,.preference-box { display:grid;gap:12px;padding:14px;border:1px solid var(--ps-line);border-radius:11px;background:rgba(4,7,18,.5); }
.registration-consent a { color:#e991c8;text-decoration:underline;text-underline-offset:3px; }
.registration-submit { width:100%;margin-top:15px; }
.registration-submit-note { display:flex;align-items:center;justify-content:center;gap:7px;margin:10px 0 0;color:var(--ps-muted);font-size:.7rem;text-align:center; }
.ps-field .optional { margin-left:5px;color:var(--ps-muted);font-size:.64rem;font-weight:600; }
.ps-field .field-error,.field-error { display:block;margin-top:6px;color:#ff9aa8;font-size:.7rem;font-weight:700; }
.ps-field input.is-invalid,.ps-field select.is-invalid,.ps-field textarea.is-invalid { border-color:#ef6174;box-shadow:0 0 0 3px rgba(239,97,116,.1); }
.ps-field textarea { width:100%;resize:vertical; }
.ps-checkbox--required { align-items:flex-start; }

@media (max-width: 1120px) {
    .auth-page--registration { grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr); }
    .auth-art--registration { top:96px;height:calc(100vh - 96px);min-height:calc(100vh - 96px);padding:36px; }
    .auth-art--registration > div { transform:none; }
    .auth-card--registration .account-type-grid { grid-template-columns:1fr; }
    .auth-card--registration .account-type span { min-height:auto;grid-template-columns:40px 1fr;align-items:center;align-content:center; }
    .auth-card--registration .account-type span > svg { grid-row:1/4;margin:0; }
    .auth-card--registration .account-type small { min-height:0; }
    .auth-card--registration .account-type em { margin:2px 0 0; }
}

@media (max-width: 860px) {
    .auth-page--registration { grid-template-columns:1fr; }
    .auth-art--registration { display:none; }
    .auth-panel--registration { padding:24px 16px; }
    .registration-card__header { flex-direction:column; }
}

@media (max-width: 620px) {
    .auth-card--registration { padding:19px; }
    .registration-progress { grid-template-columns:1fr; }
    .registration-progress li:not(.is-active) { display:none; }
    .registration-section { padding:17px; }
    .registration-role-summary { grid-template-columns:36px 1fr; }
    .registration-role-summary > span { width:34px;height:34px; }
}

/* PubStages 2.0.5: calm registration wizard and role-specific onboarding */
.registration-wizard-step{display:grid;gap:18px}.is-enhanced .registration-wizard-step[hidden]{display:none!important}.registration-wizard-step.is-entering{animation:psWizardEnter .28s ease both}@keyframes psWizardEnter{from{opacity:.2;transform:translateY(8px)}to{opacity:1;transform:none}}.registration-step-intro{padding:4px 2px 2px}.registration-step-intro h3{margin:3px 0 7px;font-size:clamp(1.35rem,2vw,1.75rem)}.registration-step-intro p{margin:0;color:var(--ps-muted);line-height:1.6}.registration-step-intro--with-action{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.registration-change-role{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--ps-line);border-radius:999px;background:rgba(255,255,255,.035);color:#ddd6fe;padding:9px 12px;font:inherit;font-size:.72rem;font-weight:800;cursor:pointer;white-space:nowrap}.registration-change-role:hover,.registration-change-role:focus-visible{border-color:rgba(236,72,153,.48);background:rgba(236,72,153,.09);outline:none}.registration-progress li{min-width:0}.registration-progress li>div{min-width:0;display:grid;gap:2px}.registration-progress li strong{color:inherit;font-size:.72rem}.registration-progress li small{color:var(--ps-muted);font-size:.61rem;font-weight:600;line-height:1.3}.registration-progress li.is-complete{border-color:rgba(34,197,94,.26);background:rgba(34,197,94,.055);color:#d7ffe4}.registration-progress li.is-complete span{background:rgba(34,197,94,.16);color:#86efac;font-size:0}.registration-progress li.is-complete span:before{content:'✓';font-size:.75rem}.registration-role-summary--compact{margin-bottom:2px}.registration-wizard-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:2px}.registration-wizard-actions--end{justify-content:flex-end}.registration-wizard-actions--split>span{max-width:360px;color:var(--ps-muted);font-size:.7rem;line-height:1.45;text-align:right}.registration-wizard-actions .button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.registration-review{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.registration-review>div{display:grid;gap:5px;min-width:0;padding:15px;border:1px solid var(--ps-line);border-radius:12px;background:rgba(7,10,25,.48)}.registration-review span{color:var(--ps-muted);font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.registration-review strong{overflow-wrap:anywhere;font-size:.85rem;line-height:1.4}.registration-review__wide{grid-column:1/-1}.auth-card--registration .account-type em b{display:inline;color:#86efac}
.onboarding-shell{display:grid;gap:28px;max-width:1320px;margin:0 auto}.onboarding-hero{display:grid;grid-template-columns:minmax(0,1fr) 210px;align-items:center;gap:34px;padding:clamp(26px,4vw,52px);overflow:hidden;position:relative}.onboarding-hero:after{content:'';position:absolute;right:-120px;top:-160px;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.22),transparent 68%);pointer-events:none}.onboarding-hero__copy{position:relative;z-index:1;max-width:760px}.onboarding-role{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;padding:8px 12px;border:1px solid rgba(236,72,153,.3);border-radius:999px;background:rgba(236,72,153,.08);color:#f9a8d4;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.onboarding-hero h1{margin:4px 0 12px;font-size:clamp(2rem,4vw,4.15rem);line-height:1.02}.onboarding-hero p{color:var(--ps-muted);font-size:1rem;line-height:1.7}.onboarding-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.onboarding-score{--completion:0;position:relative;z-index:1;width:180px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#ec4899 calc(var(--completion)*1%),rgba(255,255,255,.08) 0);box-shadow:0 0 45px rgba(139,92,246,.2)}.onboarding-score:before{content:'';position:absolute;inset:12px;border-radius:50%;background:#0a0d20;border:1px solid rgba(255,255,255,.08)}.onboarding-score div{position:relative;display:grid;text-align:center}.onboarding-score strong{font-size:2rem}.onboarding-score span{color:var(--ps-muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.07em}.onboarding-section{display:grid;gap:18px}.onboarding-task-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.onboarding-task{display:grid;grid-template-columns:50px 1fr;gap:14px;padding:22px;border:1px solid var(--ps-line);border-radius:16px;background:linear-gradient(145deg,rgba(15,19,44,.92),rgba(7,9,23,.9));box-shadow:var(--ps-shadow)}.onboarding-task.is-complete{border-color:rgba(34,197,94,.28)}.onboarding-task__icon{width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:rgba(139,92,246,.12);color:#d8b4fe}.onboarding-task.is-complete .onboarding-task__icon{background:rgba(34,197,94,.13);color:#86efac}.onboarding-task small{color:#f9a8d4;font-size:.64rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.onboarding-task h3{margin:5px 0 7px;font-size:1.05rem}.onboarding-task p{margin:0 0 14px;color:var(--ps-muted);font-size:.78rem;line-height:1.6}.onboarding-task a{display:inline-flex;align-items:center;gap:6px;color:#f0abfc;font-size:.75rem;font-weight:900}.onboarding-next{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 26px}.onboarding-next>div{display:flex;align-items:flex-start;gap:14px}.onboarding-next>div>svg{flex:0 0 auto;color:#f59e0b}.onboarding-next h2{margin:0 0 5px;font-size:1.05rem}.onboarding-next p{margin:0;color:var(--ps-muted);font-size:.78rem}
@media(max-width:1050px){.registration-progress li small{display:none}.onboarding-task-grid{grid-template-columns:1fr}}@media(max-width:760px){.registration-step-intro--with-action{flex-direction:column}.registration-review{grid-template-columns:1fr}.registration-review__wide{grid-column:auto}.registration-wizard-actions,.registration-wizard-actions--split{align-items:stretch;flex-direction:column-reverse}.registration-wizard-actions .button{width:100%}.registration-wizard-actions--split>span{max-width:none;text-align:center}.onboarding-hero{grid-template-columns:1fr;padding:24px}.onboarding-score{width:138px}.onboarding-next{align-items:stretch;flex-direction:column}.onboarding-next .button{width:100%;justify-content:center}}@media(prefers-reduced-motion:reduce){.registration-wizard-step.is-entering{animation:none}}

.registration-role-summary__icons{position:relative}.registration-role-summary__icons i{width:100%;height:100%;display:grid;place-items:center;font-style:normal}.registration-role-summary__icons i[hidden]{display:none!important}

/* PubStages 2.0.6: guided onboarding */
.onboarding-guided{display:grid;gap:24px;padding:clamp(22px,3vw,36px)}
.onboarding-guided__head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px}
.onboarding-guided__head h2{margin:4px 0 8px;font-size:clamp(1.55rem,2.5vw,2.25rem)}
.onboarding-guided__head p{margin:0;color:var(--ps-muted);line-height:1.65;max-width:760px}
.onboarding-progress{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.onboarding-progress li{display:flex;align-items:center;gap:9px;min-width:0;padding:11px 12px;border:1px solid var(--ps-line);border-radius:12px;background:rgba(255,255,255,.025);color:var(--ps-muted)}
.onboarding-progress li span{width:27px;height:27px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:rgba(255,255,255,.06);font-size:.72rem;font-weight:900}
.onboarding-progress li strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem}
.onboarding-progress li.is-active{border-color:rgba(236,72,153,.42);background:rgba(236,72,153,.08);color:#fff}
.onboarding-progress li.is-active span{background:linear-gradient(135deg,#ec4899,#8b5cf6);color:#fff}
.onboarding-progress li.is-complete{border-color:rgba(34,197,94,.26);background:rgba(34,197,94,.06);color:#d7ffe4}
.onboarding-progress li.is-complete span{font-size:0;background:rgba(34,197,94,.15);color:#86efac}
.onboarding-progress li.is-complete span:before{content:'✓';font-size:.78rem}
.onboarding-wizard-step{display:grid;gap:22px;padding-top:2px}
.is-enhanced .onboarding-wizard-step[hidden]{display:none!important}
.onboarding-wizard-step.is-entering{animation:psOnboardingEnter .25s ease both}
@keyframes psOnboardingEnter{from{opacity:.25;transform:translateY(7px)}to{opacity:1;transform:none}}
.onboarding-step-copy{max-width:760px}
.onboarding-step-copy h3{margin:4px 0 8px;font-size:clamp(1.35rem,2vw,1.8rem)}
.onboarding-step-copy p:last-child{margin:0;color:var(--ps-muted);line-height:1.65}
.onboarding-wizard-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:4px}
.onboarding-wizard-actions--end{justify-content:flex-end}
.choice-fieldset{min-width:0;margin:0;padding:0;border:0}
.choice-fieldset legend{margin-bottom:12px;color:#fff;font-weight:850;font-size:.85rem}
.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.choice-grid--compact{grid-template-columns:repeat(4,minmax(0,1fr))}
.choice-card{position:relative;display:block;min-width:0;cursor:pointer}
.choice-card>input{position:absolute;opacity:0;pointer-events:none}
.choice-card>span{height:100%;display:grid;align-content:start;gap:6px;padding:15px;border:1px solid var(--ps-line);border-radius:13px;background:rgba(6,9,24,.55);transition:border-color .18s ease,background .18s ease,transform .18s ease}
.choice-card>span>svg{color:#d8b4fe}
.choice-card strong{font-size:.8rem}
.choice-card small{color:var(--ps-muted);font-size:.68rem;line-height:1.45}
.choice-card:hover>span{border-color:rgba(139,92,246,.42);transform:translateY(-1px)}
.choice-card>input:checked+span{border-color:rgba(236,72,153,.55);background:linear-gradient(145deg,rgba(236,72,153,.12),rgba(139,92,246,.09));box-shadow:0 0 0 1px rgba(236,72,153,.08) inset}
.choice-card>input:focus-visible+span{outline:3px solid rgba(216,180,254,.45);outline-offset:2px}
.choice-card>input:disabled+span{opacity:.42;cursor:not-allowed}
.preference-list{display:grid;gap:11px}
.preference-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 18px;border:1px solid var(--ps-line);border-radius:13px;background:rgba(6,9,24,.5)}
.preference-row>span{display:grid;gap:4px}.preference-row strong{font-size:.85rem}.preference-row small{color:var(--ps-muted);font-size:.7rem;line-height:1.45}
.preference-row input{width:22px;height:22px;accent-color:#ec4899;flex:0 0 auto}
.form-error-summary{padding:19px 22px;border-color:rgba(248,113,113,.38);background:rgba(127,29,29,.12)}
.form-error-summary h2{margin:0 0 9px;font-size:1rem;color:#fecaca}.form-error-summary ul{margin:0;padding-left:20px;color:#fee2e2;font-size:.78rem;line-height:1.65}
.onboarding-next__actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}
@media(max-width:1100px){.choice-grid--compact{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.onboarding-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-grid,.choice-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-guided__head{flex-direction:column}.onboarding-next__actions{justify-content:flex-start}}
@media(max-width:580px){.onboarding-progress{grid-template-columns:1fr}.choice-grid,.choice-grid--compact{grid-template-columns:1fr}.onboarding-wizard-actions{align-items:stretch;flex-direction:column-reverse}.onboarding-wizard-actions .button{width:100%;justify-content:center}.preference-row{align-items:flex-start}.onboarding-next__actions{width:100%;align-items:stretch;flex-direction:column}.onboarding-next__actions .button{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.onboarding-wizard-step.is-entering{animation:none}.choice-card>span{transition:none}}
.dashboard-notice{display:flex;align-items:flex-start;gap:13px;margin-bottom:18px;padding:16px 18px;border:1px solid var(--ps-line);border-radius:14px;background:rgba(10,13,32,.82)}
.dashboard-notice>svg{flex:0 0 auto;margin-top:1px}.dashboard-notice strong{display:block;margin-bottom:4px}.dashboard-notice p{margin:0;color:var(--ps-muted);font-size:.76rem;line-height:1.55}
.dashboard-notice--info{border-color:rgba(59,130,246,.3);background:rgba(30,64,175,.1)}.dashboard-notice--info>svg{color:#93c5fd}
.dashboard-notice--warning{border-color:rgba(245,158,11,.32);background:rgba(120,53,15,.1)}.dashboard-notice--warning>svg{color:#fbbf24}

/* PubStages Dashboard D1 + Admin Control Centre D2 Phase 1 */
.admin-eyebrow{display:block;margin-bottom:7px;color:#f0abfc;font-size:.68rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.admin-filter-bar{display:grid;grid-template-columns:minmax(220px,1.7fr) repeat(3,minmax(150px,1fr)) auto;gap:12px;align-items:end;padding:18px;border-bottom:1px solid var(--ps-line);background:rgba(255,255,255,.018)}.admin-filter-bar--wide{grid-template-columns:minmax(210px,1.45fr) repeat(4,minmax(135px,1fr)) auto}.admin-filter-bar label,.admin-danger-form label{display:grid;gap:6px;min-width:0}.admin-filter-bar label>span,.admin-danger-form label>span{color:var(--ps-muted);font-size:.67rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.admin-filter-bar input,.admin-filter-bar select,.admin-edit-form input,.admin-edit-form select,.admin-edit-form textarea,.admin-danger-form textarea{width:100%;min-height:42px;border:1px solid var(--ps-line);border-radius:10px;background:rgba(4,7,20,.75);color:#fff;padding:10px 12px;font:inherit}.admin-edit-form textarea,.admin-danger-form textarea{resize:vertical;line-height:1.55}.admin-edit-form input:focus,.admin-edit-form select:focus,.admin-edit-form textarea:focus,.admin-filter-bar input:focus,.admin-filter-bar select:focus,.admin-danger-form textarea:focus{outline:3px solid rgba(139,92,246,.24);border-color:rgba(216,180,254,.55)}
.admin-filter-bar__actions{display:flex;align-items:center;gap:8px}.admin-data-table tr.is-deleted{opacity:.68}.admin-data-table td>small,.admin-data-table td>a+small,.admin-data-table td>strong+small{display:block;margin-top:4px;color:var(--ps-muted);font-size:.69rem;line-height:1.45}.data-table__title i{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;background:linear-gradient(135deg,rgba(236,72,153,.22),rgba(139,92,246,.22));color:#f5d0fe;font-style:normal;font-weight:900}.admin-row-actions{display:flex!important;align-items:center;justify-content:flex-end;gap:7px;white-space:nowrap}.admin-badge-list{display:flex;flex-wrap:wrap;gap:7px}
.admin-resource-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,320px);gap:20px;align-items:start}.admin-resource-main{display:grid;gap:20px}.admin-resource-side{position:sticky;top:92px;display:grid;gap:16px}.admin-definition-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--ps-line);border-radius:13px;overflow:hidden}.admin-definition-grid>div{min-width:0;padding:15px;border-right:1px solid var(--ps-line);border-bottom:1px solid var(--ps-line);background:rgba(255,255,255,.018)}.admin-definition-grid>div:nth-child(3n){border-right:0}.admin-definition-grid>div:nth-last-child(-n+3){border-bottom:0}.admin-definition-grid dt{margin-bottom:6px;color:var(--ps-muted);font-size:.65rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.admin-definition-grid dd{margin:0;color:#fff;font-size:.78rem;line-height:1.55;overflow-wrap:anywhere}.admin-definition-grid--compact{grid-template-columns:repeat(3,minmax(0,1fr))}
.admin-linked-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.admin-linked-grid>div{display:grid;align-content:start;gap:8px;padding:15px;border:1px solid var(--ps-line);border-radius:12px;background:rgba(255,255,255,.018)}.admin-linked-grid>div>strong{font-size:.75rem}.admin-linked-grid a{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.75rem}.admin-linked-grid small,.admin-muted{color:var(--ps-muted);font-size:.73rem;line-height:1.55}.admin-prose{color:var(--ps-muted);font-size:.82rem;line-height:1.75}.admin-prose h3{margin:0 0 8px;color:#fff;font-size:1rem}.admin-prose h3:not(:first-child){margin-top:22px}.admin-prose p:last-child{margin-bottom:0}
.admin-result-list{display:grid;gap:9px}.admin-result-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 14px;border:1px solid var(--ps-line);border-radius:11px;background:rgba(255,255,255,.018);color:#fff}.admin-result-row:hover{border-color:rgba(139,92,246,.42);background:rgba(139,92,246,.055)}.admin-result-row>div:first-child{display:grid;gap:4px;min-width:0}.admin-result-row>div:last-child{display:flex;align-items:center;gap:9px}.admin-result-row small{color:var(--ps-muted);font-size:.69rem;line-height:1.45}.admin-result-row strong,.admin-result-row small{overflow-wrap:anywhere}.admin-search-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.admin-danger-form{display:grid;gap:12px}.admin-danger-form .button{justify-content:center;width:100%}
.admin-edit-form{display:grid;gap:20px}.admin-edit-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-edit-form label{display:grid;align-content:start;gap:7px;min-width:0}.admin-edit-form label>small{color:var(--ps-muted);font-size:.66rem;line-height:1.45}.form-grid__wide{grid-column:1/-1}.admin-check{display:flex!important;align-items:flex-start!important;grid-template-columns:auto 1fr!important;gap:9px!important;color:#e5e7eb;font-size:.76rem;line-height:1.45}.admin-check input[type=checkbox]{width:18px!important;height:18px!important;min-height:0!important;flex:0 0 auto;margin-top:1px;accent-color:#ec4899}.admin-check>span{display:grid;gap:3px}.admin-check>span small{color:var(--ps-muted)}.admin-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-check-grid>.admin-check{padding:13px;border:1px solid var(--ps-line);border-radius:11px;background:rgba(255,255,255,.018)}.admin-form-actions{position:sticky;bottom:14px;z-index:5;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:13px 15px;border:1px solid rgba(139,92,246,.32);border-radius:14px;background:rgba(7,8,22,.94);box-shadow:0 18px 50px rgba(0,0,0,.4);backdrop-filter:blur(14px)}
.admin-audit-entry{display:grid;gap:10px;padding:14px 0;border-bottom:1px solid var(--ps-line)}.admin-audit-entry:last-child{border-bottom:0}.admin-audit-entry>div:first-child{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.admin-audit-entry>div:first-child>small{color:var(--ps-muted);font-size:.66rem}.admin-audit-entry>p{margin:0;color:#d8b4fe;font-size:.76rem;line-height:1.55}.admin-audit-entry summary{cursor:pointer;color:#c4b5fd;font-size:.69rem;font-weight:800}.admin-audit-entry details[open] summary{margin-bottom:12px}.admin-audit-diff{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.admin-audit-diff pre{max-height:300px;overflow:auto;margin:6px 0 0;padding:12px;border:1px solid var(--ps-line);border-radius:9px;background:#050715;color:#cbd5e1;font-size:.64rem;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.admin-preview-banner{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px clamp(18px,4vw,54px);border-bottom:1px solid rgba(245,158,11,.38);background:linear-gradient(90deg,rgba(120,53,15,.96),rgba(88,28,135,.96));color:#fff}.admin-preview-banner>div{display:flex;align-items:center;gap:11px}.admin-preview-banner span{display:grid;gap:2px;font-size:.73rem}.admin-preview-banner strong{font-size:.8rem}.dashboard-notice ul{margin:8px 0 0;padding-left:18px;color:#fecaca;font-size:.74rem;line-height:1.55}
@media(max-width:1250px){.admin-filter-bar,.admin-filter-bar--wide{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-filter-bar__actions{grid-column:1/-1}.admin-definition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-definition-grid>div,.admin-definition-grid>div:nth-child(3n){border-right:1px solid var(--ps-line);border-bottom:1px solid var(--ps-line)}.admin-definition-grid>div:nth-child(2n){border-right:0}.admin-definition-grid>div:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:900px){.admin-resource-layout{grid-template-columns:1fr}.admin-resource-side{position:static}.admin-search-results{grid-template-columns:1fr}.admin-edit-form .form-grid,.admin-check-grid,.admin-linked-grid{grid-template-columns:1fr}.admin-data-table thead{display:none}.admin-data-table,.admin-data-table tbody,.admin-data-table tr,.admin-data-table td{display:block;width:100%}.admin-data-table tr{padding:11px 14px;border-bottom:1px solid var(--ps-line)}.admin-data-table td{display:grid!important;grid-template-columns:120px minmax(0,1fr);gap:12px;align-items:start;padding:9px 0!important;border:0!important}.admin-data-table td:before{content:attr(data-label);color:var(--ps-muted);font-size:.63rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.admin-data-table td.admin-row-actions{display:flex!important;justify-content:flex-start;padding-left:132px!important}.admin-definition-grid{grid-template-columns:1fr}.admin-definition-grid>div,.admin-definition-grid>div:nth-child(2n),.admin-definition-grid>div:nth-child(3n),.admin-definition-grid>div:nth-last-child(-n+2),.admin-definition-grid>div:nth-last-child(-n+3){border-right:0;border-bottom:1px solid var(--ps-line)}.admin-definition-grid>div:last-child{border-bottom:0}.admin-audit-diff{grid-template-columns:1fr}}
@media(max-width:620px){.admin-filter-bar,.admin-filter-bar--wide{grid-template-columns:1fr}.admin-filter-bar__actions{align-items:stretch;flex-direction:column}.admin-filter-bar__actions .button{justify-content:center;width:100%}.admin-data-table td{grid-template-columns:1fr}.admin-data-table td.admin-row-actions{padding-left:0!important}.admin-data-table td:before{margin-bottom:-5px}.admin-form-actions{align-items:stretch;flex-direction:column-reverse}.admin-form-actions .button{justify-content:center;width:100%}.admin-preview-banner{align-items:stretch;flex-direction:column}.admin-preview-banner .button{justify-content:center}.admin-audit-entry>div:first-child{display:grid}}
.admin-message-thread{display:grid;gap:12px}.admin-message{padding:15px 17px;border:1px solid var(--ps-line);border-radius:13px;background:rgba(255,255,255,.018)}.admin-message header{display:flex;align-items:center;justify-content:space-between;gap:14px}.admin-message header small{color:var(--ps-muted);font-size:.65rem}.admin-message p{margin:10px 0 0;color:#dbe4f0;font-size:.8rem;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
