:root{--bg:#0b0b0f;--panel:#15151c;--panel2:#1d1d27;--text:#fff;--muted:#a7a7b2;--accent:#ff2f92;--accent2:#ff66ad;--line:#2c2c38;--good:#60d394;--danger:#ff5d73}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at top right,#26101e 0,transparent 35%),var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line);backdrop-filter:blur(16px);background:rgba(11,11,15,.82)}.topbar>div{display:flex;align-items:center;gap:12px}.brand{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-weight:900;font-style:italic;background:linear-gradient(135deg,var(--accent),#8c1cff);box-shadow:0 0 28px rgba(255,47,146,.25)}h1,h2,h3,p{margin:0}.topbar h1{font-size:17px}.topbar p{font-size:12px;color:var(--muted)}.shell{max-width:920px;margin:auto;padding:22px 16px 60px}.card{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));border:1px solid var(--line);border-radius:22px;box-shadow:0 20px 60px rgba(0,0,0,.18)}.hero{padding:34px 26px;margin-bottom:16px;min-height:260px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(120deg,rgba(255,47,146,.2),transparent 55%),linear-gradient(180deg,#171721,#101016)}.hero h2{font-size:clamp(40px,10vw,74px);line-height:.95;letter-spacing:-.045em;max-width:620px}.hero p{color:#d3d3dc;max-width:620px;margin:16px 0 22px;line-height:1.55}.eyebrow{font-size:11px;letter-spacing:.16em;color:var(--accent2);font-weight:800}.buttonlike{text-decoration:none;display:inline-flex;width:max-content}.primary,.ghost,.danger{border:0;border-radius:13px;padding:12px 16px;font-weight:800;cursor:pointer}.primary{background:var(--accent);color:white}.primary:hover{background:var(--accent2)}.ghost{background:#22222c;color:white;border:1px solid #373744}.danger{background:#32151b;color:#ff8090;border:1px solid #5d2731}.grid{display:grid;gap:14px}.packages{grid-template-columns:repeat(2,1fr);margin-bottom:16px}.package{padding:22px;cursor:pointer;transition:.2s}.package:hover,.package.selected{transform:translateY(-2px);border-color:rgba(255,47,146,.75);box-shadow:0 16px 45px rgba(255,47,146,.1)}.package-top{display:flex;justify-content:space-between;gap:12px;font-weight:800}.package-top strong{color:var(--accent2);font-size:24px}.package p{color:var(--muted);font-size:14px;line-height:1.55;margin:14px 0}.package small{color:#ddd}.form-card{padding:24px}.section-heading{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:20px}.section-heading h3{font-size:27px}.section-heading>span{font-size:12px;color:var(--muted)}.step{display:none}.step.active{display:grid;gap:15px}label{display:grid;gap:7px;font-size:13px;color:#ddd;font-weight:650}input,select,textarea{width:100%;border:1px solid #343442;background:#101016;color:white;border-radius:13px;padding:13px 14px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.summary,.note,.review{border-radius:16px;padding:16px;background:var(--panel2);border:1px solid var(--line);line-height:1.55}.summary strong{color:var(--accent2)}.button-row{display:flex;justify-content:space-between;gap:12px}.button-row .primary{margin-left:auto}.check{grid-template-columns:auto 1fr;align-items:start}.check input{width:auto;margin-top:3px}.note{font-size:12px;color:var(--muted)}.review{display:grid;gap:10px}.review-row{display:flex;justify-content:space-between;gap:20px;border-bottom:1px dashed #383844;padding-bottom:8px}.review-row:last-child{border-bottom:0;padding-bottom:0}.review-row span{color:var(--muted)}.success{text-align:center;padding:38px 10px}.success-icon{margin:0 auto 14px;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:rgba(96,211,148,.15);color:var(--good);font-size:34px}.success p{color:var(--muted);margin:10px auto 22px;max-width:560px;line-height:1.55}.hidden{display:none!important}dialog{width:min(920px,94vw);max-height:85vh;background:#111118;color:white;border:1px solid var(--line);border-radius:20px;padding:22px}dialog::backdrop{background:rgba(0,0,0,.7)}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h3{font-size:26px}.admin-tools{display:flex;gap:10px;margin:18px 0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted)}
@media(max-width:640px){.packages,.two-col{grid-template-columns:1fr}.hero{min-height:310px}.package-top{align-items:start}.form-card{padding:18px}.topbar{padding:11px 12px}}
.admin-tabs{display:flex;gap:8px;margin:18px 0;border-bottom:1px solid var(--line);padding-bottom:10px}.admin-tab{border:1px solid var(--line);background:#1b1b24;color:#ddd;border-radius:12px;padding:10px 14px;font-weight:800;cursor:pointer}.admin-tab.selected{background:var(--accent);border-color:var(--accent);color:#fff}.calendar-admin-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(420px,1.5fr);gap:18px}.event-editor{display:grid;gap:14px;background:var(--panel2);border:1px solid var(--line);border-radius:16px;padding:16px;align-self:start}.event-editor h4,.calendar-heading h4{font-size:20px;margin:4px 0 0}.calendar-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:10px}.calendar-heading p{font-size:12px;color:var(--muted)}.status-pill{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:800}.active-status{background:rgba(96,211,148,.14);color:var(--good)}.inactive-status{background:#2b2b34;color:#aaa}.actions-cell{display:flex;gap:6px}.mini{padding:7px 9px;border-radius:9px;font-size:11px}@media(max-width:760px){.calendar-admin-grid{grid-template-columns:1fr}.calendar-heading{align-items:start;flex-direction:column}.actions-cell{min-width:210px}}
/* TampaDriftRental branded background */
body{
  background:
    linear-gradient(rgba(7,7,10,.88),rgba(7,7,10,.94)),
    url('tdr-background.png') center top/cover fixed no-repeat;
}
.hero{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(8,8,12,.94) 0%,rgba(8,8,12,.70) 52%,rgba(8,8,12,.28) 100%),
    url('tdr-background.png') center 34%/cover no-repeat;
  border-color:rgba(255,47,146,.42);
  box-shadow:0 24px 70px rgba(0,0,0,.48);
}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 55%,rgba(10,10,14,.55));
}
.hero>*{position:relative;z-index:1}
.form-card,.package{backdrop-filter:blur(10px);background:rgba(18,18,25,.88)}
@media(max-width:640px){body{background-attachment:scroll}.hero{background-position:center top}}
.admin-login{padding:30px 0}.login-card{max-width:460px;margin:0 auto;background:var(--panel2);border:1px solid var(--line);border-radius:18px;padding:22px}.login-card h4{font-size:25px;margin:5px 0}.login-card>p{color:var(--muted);margin:0 0 18px}.login-card form{display:grid;gap:14px}.admin-session-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0 4px;color:var(--muted);font-size:13px}.form-message{min-height:18px;color:var(--danger);font-size:12px}.sync-badge{font-size:11px;color:var(--good);font-weight:800}

/* Invitation-style customer landing screen */
.welcome-screen{
  position:fixed; inset:0; z-index:1000; min-height:100dvh; overflow:auto;
  display:flex; align-items:center; justify-content:center;
  background:url('tdr-background.png') center/cover no-repeat;
}
.welcome-overlay{
  position:absolute; inset:0;
  background:
    linear-gradient(90deg,rgba(6,6,9,.98) 0%,rgba(6,6,9,.91) 43%,rgba(6,6,9,.54) 72%,rgba(6,6,9,.74) 100%),
    linear-gradient(180deg,rgba(255,47,146,.08),transparent 35%,rgba(0,0,0,.55));
}
.welcome-content{
  position:relative; z-index:2; width:min(1120px,calc(100% - 40px));
  padding:72px 0 76px; margin:auto;
}
.invite-kicker{font-size:13px;letter-spacing:.32em;font-weight:900;color:var(--accent2);margin-bottom:10px}
.invite-brand{font-size:clamp(16px,2.4vw,24px);font-weight:950;letter-spacing:.13em;color:#fff;margin-bottom:28px}
.invite-brand span{color:var(--accent)}
.welcome-content h1{font-size:clamp(56px,9vw,118px);line-height:.84;letter-spacing:-.065em;max-width:900px;margin:0;text-transform:uppercase}
.welcome-content h1 em{font-style:italic;color:var(--accent);text-shadow:0 0 38px rgba(255,47,146,.24)}
.invite-copy{max-width:720px;margin:26px 0 30px;color:#d7d7df;font-size:clamp(16px,2vw,20px);line-height:1.65}
.invite-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:980px;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);margin:0 0 28px}
.invite-details>div{padding:18px 18px 18px 0;display:grid;gap:5px}
.invite-details>div+div{padding-left:18px;border-left:1px solid rgba(255,255,255,.12)}
.invite-details strong{font-size:12px;letter-spacing:.08em;color:#fff}
.invite-details span{font-size:12px;line-height:1.45;color:#aaaab6}
.invite-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.invite-primary,.invite-secondary{border-radius:14px;padding:15px 21px;font-weight:950;letter-spacing:.035em;cursor:pointer}
.invite-primary{border:0;background:var(--accent);color:#fff;box-shadow:0 14px 40px rgba(255,47,146,.25)}
.invite-primary span{font-size:20px;margin-left:9px}
.invite-secondary{border:1px solid rgba(255,255,255,.24);background:rgba(10,10,14,.48);color:#fff;backdrop-filter:blur(10px)}
.invite-note{margin-top:15px;color:#8f8f9a;font-size:12px}
.invite-footer{position:absolute;z-index:2;left:26px;right:26px;bottom:20px;display:flex;justify-content:space-between;gap:18px;color:#aaa;font-size:10px;letter-spacing:.16em;font-weight:800}
.app-shell{min-height:100vh}
body.welcome-active{overflow:hidden}

@media(max-width:800px){
  .welcome-content{padding:52px 0 90px}
  .invite-details{grid-template-columns:1fr 1fr}
  .invite-details>div:nth-child(3){border-left:0;border-top:1px solid rgba(255,255,255,.12)}
  .invite-details>div:nth-child(4){border-top:1px solid rgba(255,255,255,.12)}
}
@media(max-width:520px){
  .welcome-content{width:min(100% - 28px,1120px);padding:38px 0 86px}
  .welcome-content h1{font-size:clamp(48px,17vw,72px)}
  .invite-copy{font-size:15px;line-height:1.55;margin:20px 0 22px}
  .invite-details{grid-template-columns:1fr}
  .invite-details>div,.invite-details>div+div{padding:12px 0;border-left:0;border-top:1px solid rgba(255,255,255,.12)}
  .invite-details>div:first-child{border-top:0}
  .invite-actions{display:grid;grid-template-columns:1fr}
  .invite-primary,.invite-secondary{width:100%}
  .invite-footer{left:14px;right:14px;bottom:14px}
}

/* Event driver-capacity upgrade */
.availability-summary{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:#15151d;color:var(--muted);font-size:13px;line-height:1.45}
.availability-summary strong{color:#fff}
.availability-summary.available{border-color:rgba(96,211,148,.38);background:rgba(96,211,148,.08);color:#b7e9cd}
.availability-summary.limited{border-color:rgba(255,190,72,.48);background:rgba(255,190,72,.09);color:#ffd58d}
.availability-summary.sold-out{border-color:rgba(255,85,110,.48);background:rgba(255,85,110,.09);color:#ff9cab}
.capacity-warning{border:1px solid rgba(255,85,110,.5);background:rgba(255,85,110,.1);color:#ffadb8;border-radius:14px;padding:12px 14px;font-size:13px;line-height:1.45;font-weight:700}
.editor-help{display:block;color:var(--muted);line-height:1.45;margin-top:-5px}
.capacity-cell{display:flex;align-items:center;gap:8px}.capacity-cell strong{font-size:14px}.sold-status{background:rgba(255,85,110,.15);color:#ff8b9b}.limited-status{background:rgba(255,190,72,.14);color:#ffd278}
select option:disabled{color:#777}

/* Footer + policy pages */
.site-footer {
  margin: 28px auto 0;
  padding: 28px 18px 34px;
  max-width: 1180px;
  text-align: center;
  border-top: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.72);
}
.footer-brand {
  font-weight: 900;
  letter-spacing: .08em;
  color: #fff;
  margin-bottom: 12px;
}
.footer-brand span { color: #ff2f92; }
.footer-links {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin-bottom: 12px;
}
.footer-links a {
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  font-size: .9rem;
}
.footer-links a:hover { color: #ff2f92; }
.site-footer p { margin: 0; font-size: .8rem; }

.policy-page {
  min-height: 100vh;
  background: #09090c;
  color: #fff;
  padding: 28px 16px 48px;
}
.policy-shell { max-width: 900px; margin: 0 auto; }
.policy-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 26px;
}
.policy-top a {
  color: #fff;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  padding: 10px 14px;
  font-weight: 800;
}
.policy-card {
  background: rgba(18,18,23,.94);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 20px;
  padding: 26px;
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
}
.policy-card h1 { margin-top: 0; font-size: clamp(2rem, 5vw, 3.4rem); }
.policy-card h2 { margin-top: 28px; color: #ff5aaa; }
.policy-card p, .policy-card li { color: rgba(255,255,255,.82); line-height: 1.65; }
.policy-card a { color: #ff7abb; }
.policy-meta { color: rgba(255,255,255,.55); font-size: .9rem; }
.policy-note {
  margin-top: 24px;
  padding: 14px 16px;
  border-left: 3px solid #ff2f92;
  background: rgba(255,47,146,.08);
  color: rgba(255,255,255,.78);
}
.news-item {
  padding: 18px 0;
  border-bottom: 1px solid rgba(255,255,255,.09);
}
.news-item:last-child { border-bottom: 0; }
.news-date { color: #ff7abb; font-weight: 800; font-size: .85rem; }


/* Scrollable one-page customer experience */
.welcome-screen{position:relative;inset:auto;z-index:1;min-height:92vh;overflow:hidden;display:flex;align-items:center;justify-content:center;background:url('tdr-background.png') center/cover no-repeat}
body{overflow-x:hidden}
body.welcome-active{overflow:auto}
.invite-link{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.invite-footer{position:absolute}
.topbar{z-index:50}
.main-nav{display:flex;align-items:center;gap:14px}
.main-nav a{color:#ddd;text-decoration:none;font-size:13px;font-weight:800}
.main-nav a:hover{color:var(--accent2)}
.content-section{padding:30px 26px;margin-bottom:16px;scroll-margin-top:90px}
.content-section h2{font-size:clamp(30px,6vw,52px);letter-spacing:-.04em;margin:5px 0 14px}
.content-section>p{color:#c8c8d2;line-height:1.7;max-width:760px}
.about-points{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}
.about-points>div{display:grid;gap:5px;padding:16px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.025)}
.about-points strong{color:#fff}.about-points span{font-size:12px;color:var(--muted);line-height:1.45}
.gallery-heading{align-items:center}
.gallery-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:12px;min-height:480px}
.gallery-feature{grid-row:1/3;margin:0;position:relative;overflow:hidden;border-radius:18px;border:1px solid rgba(255,47,146,.35);background:#09090d}
.gallery-feature img{width:100%;height:100%;object-fit:cover;display:block}
.gallery-feature figcaption{position:absolute;left:14px;bottom:14px;background:rgba(5,5,8,.76);backdrop-filter:blur(8px);padding:9px 12px;border-radius:10px;font-size:12px;font-weight:900}
.gallery-placeholder{min-height:180px;border:1px dashed #4b4b59;border-radius:18px;background:linear-gradient(145deg,rgba(255,47,146,.08),rgba(255,255,255,.02));display:flex;flex-direction:column;justify-content:flex-end;padding:18px}
.gallery-placeholder span{font-size:10px;letter-spacing:.16em;color:var(--accent2);font-weight:900}.gallery-placeholder strong{margin:4px 0;font-size:18px}.gallery-placeholder small{color:var(--muted)}
#booking{scroll-margin-top:90px}
@media(max-width:760px){.topbar{align-items:flex-start}.main-nav{gap:8px;flex-wrap:wrap;justify-content:flex-end}.main-nav a{font-size:11px}.main-nav a:nth-child(1),.main-nav a:nth-child(2){display:none}.about-points{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr;grid-template-rows:auto}.gallery-feature{grid-row:auto;min-height:360px}.gallery-placeholder{min-height:150px}.welcome-screen{min-height:88vh}}

/* Cleaner hero with TDR cars as the background */
.welcome-screen{
  background-image:url('tdr-cars-gallery.png');
  background-position:center 60%;
  background-size:cover;
  min-height:92vh;
}
.welcome-overlay{
  background:
    linear-gradient(90deg,rgba(5,5,8,.96) 0%,rgba(5,5,8,.86) 38%,rgba(5,5,8,.34) 68%,rgba(5,5,8,.38) 100%),
    linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,.10) 60%,rgba(0,0,0,.72) 100%);
}
.clean-hero{display:flex;align-items:center;min-height:82vh;padding-top:58px;padding-bottom:76px}
.hero-copy-panel{max-width:650px;padding:28px 30px;border:1px solid rgba(255,255,255,.12);border-radius:24px;background:rgba(8,8,12,.38);backdrop-filter:blur(8px);box-shadow:0 24px 70px rgba(0,0,0,.28)}
.hero-copy-panel .invite-brand{margin-bottom:18px}
.hero-copy-panel h1{font-size:clamp(54px,8vw,96px);line-height:.88;max-width:650px}
.hero-copy-panel .invite-copy{max-width:610px;margin:22px 0 22px;font-size:clamp(15px,1.6vw,18px)}
.hero-quick-info{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 24px}
.hero-quick-info span{padding:8px 11px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(10,10,14,.46);font-size:11px;font-weight:850;color:#f0f0f4;letter-spacing:.02em}
.hero-copy-panel .invite-secondary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
@media(max-width:760px){
  .welcome-screen{background-position:62% center;min-height:88vh}
  .welcome-overlay{background:linear-gradient(180deg,rgba(5,5,8,.60) 0%,rgba(5,5,8,.64) 36%,rgba(5,5,8,.92) 100%)}
  .clean-hero{align-items:flex-end;min-height:82vh;padding:120px 0 72px}
  .hero-copy-panel{padding:22px 20px;border-radius:20px;background:rgba(7,7,10,.56)}
  .hero-copy-panel h1{font-size:clamp(46px,16vw,72px)}
  .hero-copy-panel .invite-copy{font-size:14px;line-height:1.55}
  .hero-quick-info{gap:7px}
  .hero-quick-info span{font-size:10px;padding:7px 9px}
}

/* Real TDR gallery video */
.gallery-video{margin:0;min-height:180px;position:relative;overflow:hidden;border-radius:18px;border:1px solid rgba(255,47,146,.35);background:#09090d;display:flex;flex-direction:column}
.gallery-video video{width:100%;height:100%;min-height:180px;object-fit:cover;display:block;background:#050507}
.gallery-video figcaption{position:absolute;left:12px;right:12px;bottom:12px;padding:10px 12px;border-radius:12px;background:rgba(5,5,8,.76);backdrop-filter:blur(8px);display:grid;gap:2px;pointer-events:none}
.gallery-video figcaption span{font-size:10px;letter-spacing:.16em;color:var(--accent2);font-weight:900}.gallery-video figcaption strong{font-size:16px}.gallery-video figcaption small{color:#c9c9d1}

/* Approved TampaDriftRental homepage artwork */
.approved-home-hero{
  position:relative;
  width:100%;
  background:#050507;
  overflow:hidden;
  line-height:0;
}
.approved-hero-image{
  display:block;
  width:100%;
  height:auto;
  max-width:none;
}
.hero-hotspots{position:absolute;inset:0;pointer-events:none}
.hero-hotspots .hotspot{position:absolute;display:block;border:0;background:transparent;cursor:pointer;pointer-events:auto;padding:0;border-radius:12px}
.hero-hotspots .hotspot:focus-visible{outline:3px solid #ff2f92;outline-offset:3px;background:rgba(255,47,146,.08)}
.hot-home{left:25.4%;top:1.7%;width:6.2%;height:6%}
.hot-about{left:33.2%;top:1.7%;width:7.4%;height:6%}
.hot-gallery{left:40.4%;top:1.7%;width:8.4%;height:6%}
.hot-book-top{left:49.8%;top:1.7%;width:9%;height:6%}
.hot-faq{left:58.3%;top:1.7%;width:12.5%;height:6%}
.hot-admin{right:2.7%;top:1.7%;width:12.3%;height:6.3%}
.hot-book-main{left:2.8%;top:67.4%;width:21.5%;height:7.4%}
.hot-cars{left:25.1%;top:67.4%;width:14.1%;height:7.4%}
@media(max-width:760px){
  .approved-home-hero{overflow-x:hidden}
  .approved-hero-image{width:178%;max-width:none;transform:translateX(-1.5%)}
  .hot-home,.hot-about,.hot-gallery,.hot-book-top,.hot-faq{display:none!important}
  .hot-admin{right:1.5%;top:1.6%;width:22%;height:7%}
  .hot-book-main{left:4.8%;top:67%;width:37%;height:8%}
  .hot-cars{left:44%;top:67%;width:25%;height:8%}
}


/* FAQ / Questions */
.questions-section{margin-top:16px;padding:26px}
.questions-heading{align-items:center}
.question-contact-links{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.faq-grid article{padding:16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025)}
.faq-grid strong{display:block;margin-bottom:7px;color:#fff}
.faq-grid p{color:var(--muted);font-size:13px;line-height:1.5}
.question-form{display:grid;gap:13px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
@media(max-width:700px){.faq-grid{grid-template-columns:1fr}.questions-section{padding:20px}.question-contact-links{justify-content:flex-start}}
.social-follow{display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap;margin:12px 0 16px}.social-follow a{color:#ff2b91;text-decoration:none;font-weight:800}.social-follow a:hover{text-decoration:underline}

.payment-status-select{min-width:155px;padding:8px 10px;border-radius:9px}.table-wrap td .primary{white-space:nowrap}


/* Responsive admin booking cards - no horizontal scrolling */
.booking-card-list{display:grid;gap:14px;margin-top:14px}
.booking-admin-card{border:1px solid var(--line);border-radius:18px;padding:18px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.018));box-shadow:0 12px 35px rgba(0,0,0,.14)}
.booking-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.booking-card-head h4{margin:4px 0 0;font-size:18px}.booking-ref{font-size:11px;letter-spacing:.08em;color:var(--accent2);font-weight:900}

.booking-status-pills{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.booking-pill{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:900;border:1px solid var(--line);background:#242430;white-space:nowrap}
.booking-pill.pending{color:#ffd27a;background:rgba(234,173,54,.12);border-color:rgba(234,173,54,.3)}
.booking-pill.confirmed{color:#7be2ad;background:rgba(76,184,126,.12);border-color:rgba(76,184,126,.3)}
.booking-pill.cancelled{color:#ff8d9c;background:rgba(218,54,75,.12);border-color:rgba(218,54,75,.3)}
.payment-pill{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:900;border:1px solid var(--line);background:#242430;white-space:nowrap}
.payment-pill.deposit-paid{color:#7be2ad;background:rgba(76,184,126,.12);border-color:rgba(76,184,126,.3)}
.payment-pill.fully-paid{color:#80e6b2;background:rgba(76,184,126,.18);border-color:rgba(76,184,126,.36)}
.payment-pill.cancelled{color:#ff8d9c;background:rgba(218,54,75,.12);border-color:rgba(218,54,75,.3)}
.booking-card-grid,.booking-money-grid{display:grid;gap:10px;margin-top:14px}
.booking-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.booking-money-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.booking-card-grid>div,.booking-money-grid>div{min-width:0;padding:11px 12px;border-radius:12px;background:#101016;border:1px solid #292934}
.booking-card-grid span,.booking-money-grid span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:5px}
.booking-card-grid strong,.booking-money-grid strong{display:block;font-size:14px;overflow-wrap:anywhere}
.booking-money-grid .balance-box{border-color:rgba(255,47,146,.35);background:rgba(255,47,146,.06)}
.booking-money-grid .balance-box strong{color:var(--accent2);font-size:18px}
.booking-payment-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.booking-payment-row label{margin:0}.booking-payment-row .payment-status-select,.booking-payment-row .booking-status-select{min-width:0;width:100%}.payment-save-btn{min-height:46px}
.booking-empty{padding:22px;border:1px dashed var(--line);border-radius:15px;color:var(--muted);text-align:center}
.admin-panel[data-admin-panel="bookings"]{overflow:visible}
@media(max-width:760px){
  dialog{width:96vw;padding:16px;max-height:92vh}
  .admin-tools{flex-wrap:wrap}.admin-tools button{flex:1 1 140px}
  .booking-card-grid{grid-template-columns:1fr}
  .booking-money-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .booking-money-grid .balance-box{grid-column:1/-1}
  .booking-payment-row{grid-template-columns:1fr}
  .payment-save-btn{width:100%}
  .booking-card-head{align-items:flex-start}.booking-status-pills{justify-content:flex-start}.payment-pill,.booking-pill{max-width:100%;text-align:center;white-space:normal}
}
@media(max-width:440px){
  .booking-admin-card{padding:14px}.booking-money-grid{grid-template-columns:1fr 1fr}
}

/* Event calendar cards: no horizontal scrolling */
.event-card-list{display:grid;gap:12px}.event-admin-card{background:var(--panel2);border:1px solid var(--line);border-radius:16px;padding:16px;display:grid;gap:14px}.event-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.event-card-head h5{margin:4px 0 0;font-size:18px}.event-card-date{font-size:12px;color:var(--muted);font-weight:700}.event-card-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.event-card-stats>div{background:#111119;border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;gap:5px}.event-card-stats span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.event-card-stats strong{font-size:16px}.event-card-actions{display:flex;flex-wrap:wrap;gap:8px}.capacity-note{background:#111119;border:1px solid var(--line);border-radius:12px;padding:12px;color:var(--muted);font-size:13px}.capacity-note strong{color:#fff}.good-text{color:var(--good)}.limited-text{color:#ffd278}.danger-text{color:#ff8b9b}.empty-state{padding:18px;border:1px dashed var(--line);border-radius:14px;color:var(--muted)}
@media(max-width:760px){.event-card-stats{grid-template-columns:1fr}.event-card-actions button{flex:1;min-width:90px}}


/* Phase 2 #4 — customer booking confirmation */
.confirmation{max-width:760px;margin:0 auto}.confirmation .eyebrow{display:block;margin-bottom:8px}.confirmation-card{margin:22px auto 16px;text-align:left;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));border-radius:20px;padding:20px}.confirmation-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}.confirmation-label{display:block;font-size:10px;letter-spacing:.12em;color:var(--muted);font-weight:800;margin-bottom:5px}.confirmation-reference{font-size:22px;color:var(--accent2)}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:850}.status-pill.pending{background:rgba(255,188,74,.13);color:#ffc66b;border:1px solid rgba(255,188,74,.28)}.confirmation-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.confirmation-item{padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#101016}.confirmation-item span,.confirmation-money span{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.confirmation-item strong{font-size:14px}.confirmation-money{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding-top:16px;border-top:1px solid var(--line)}.confirmation-money>div{padding:12px;border-radius:14px;background:var(--panel2);border:1px solid var(--line)}.confirmation-money strong{font-size:16px}.confirmation-money>div:last-child strong{color:var(--accent2)}.confirmation-note{max-width:680px;margin:0 auto 18px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;color:var(--muted);font-size:13px;line-height:1.5;background:rgba(255,255,255,.02)}.confirmation-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}@media(max-width:680px){.confirmation-grid{grid-template-columns:1fr}.confirmation-money{grid-template-columns:1fr 1fr}.confirmation-top{align-items:center}.confirmation-reference{font-size:19px}}@media(max-width:440px){.confirmation-money{grid-template-columns:1fr}.confirmation-actions button{width:100%}}@media print{body *{visibility:hidden!important}#success,#success *{visibility:visible!important}#success{position:absolute;left:0;top:0;width:100%;background:white!important;color:black!important}.confirmation-actions{display:none!important}.confirmation-card,.confirmation-item,.confirmation-money>div,.confirmation-note{background:white!important;color:black!important;border-color:#ccc!important}.confirmation-item span,.confirmation-money span,.confirmation-note{color:#555!important}}


/* TDR background cleanup: keep page content on a clean dark background.
   Hero/gallery images remain controlled by their own elements. */
html,
body {
  background-image: none !important;
  background-color: #0b0b10 !important;
  background-attachment: initial !important;
}

body::before,
body::after {
  background-image: none !important;
}

/* Prevent the old site/mockup artwork from showing behind transparent sections. */
main,
section,
.site-main,
.page-shell {
  background-image: none !important;
}

.tdr-added-gallery-photo {
  margin: 18px 0 0;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.12);
  background: #0b0b10;
}
.tdr-added-gallery-photo img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 620px;
  object-fit: cover;
}

/* Expanded TDR photo gallery */
#media .tdr-added-gallery-photo {
  display: inline-block;
  vertical-align: top;
  width: calc(33.333% - 16px);
  margin: 8px 6px;
}
#media .tdr-added-gallery-photo img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  border-radius: 16px;
}
@media (max-width: 900px) {
  #media .tdr-added-gallery-photo { width: calc(50% - 16px); }
}
@media (max-width: 600px) {
  #media .tdr-added-gallery-photo { width: 100%; margin: 8px 0; }
  #media .tdr-added-gallery-photo img { height: auto; max-height: none; }
}

#media .tdr-gallery-video video {
  display: block;
  width: 100%;
  height: 300px;
  object-fit: cover;
  border-radius: 16px;
  background: #000;
}
@media (max-width: 600px) {
  #media .tdr-gallery-video video { height: auto; }
}


/* Admin-editable gallery */
.gallery-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.gallery-media-card{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#0c0c12;min-height:230px}
.gallery-media-card img,.gallery-media-card video{display:block;width:100%;height:280px;object-fit:cover;background:#000}
.gallery-media-card figcaption{padding:10px 12px;color:#eee;font-weight:700;font-size:13px}
.gallery-empty{grid-column:1/-1;padding:28px;border:1px dashed var(--line);border-radius:16px;color:var(--muted);text-align:center}
.gallery-admin-layout{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(460px,1.6fr);gap:18px}
.gallery-upload-card{display:grid;gap:14px;background:var(--panel2);border:1px solid var(--line);border-radius:16px;padding:16px;align-self:start}
.gallery-upload-card h4{font-size:20px;margin:4px 0 0}.gallery-admin-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.gallery-admin-card{border:1px solid var(--line);border-radius:16px;background:var(--panel2);overflow:hidden}
.gallery-admin-preview img,.gallery-admin-preview video{display:block;width:100%;height:190px;object-fit:cover;background:#000}
.gallery-admin-fields{display:grid;gap:10px;padding:12px}.gallery-admin-fields label{font-size:12px}.gallery-admin-meta{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px}.gallery-admin-actions{display:flex;gap:7px;flex-wrap:wrap}
@media(max-width:900px){.gallery-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-admin-layout{grid-template-columns:1fr}.gallery-admin-list{grid-template-columns:1fr}}
@media(max-width:600px){.gallery-media-grid{grid-template-columns:1fr}.gallery-media-card img,.gallery-media-card video{height:auto;max-height:520px}}

/* TDR bottom-page artwork */
body {
  position: relative;
}
body::after {
  content: "";
  display: block;
  width: 100%;
  min-height: clamp(420px, 62vw, 1050px);
  margin-top: 48px;
  background:
    linear-gradient(to bottom, #0b0b10 0%, rgba(11,11,16,.18) 12%, rgba(11,11,16,0) 28%),
    url("tdr-footer-background.png") center top / cover no-repeat;
  pointer-events: none;
}
@media (max-width: 700px) {
  body::after {
    min-height: 620px;
    background-size: cover;
    background-position: center top;
  }
}


/* TDR full-page lower background fix */
html {
  background: #0b0b10;
}

body {
  position: relative;
  background-color: #0b0b10 !important;
  background-image:
    linear-gradient(
      to bottom,
      #0b0b10 0%,
      #0b0b10 18%,
      rgba(11,11,16,.96) 34%,
      rgba(11,11,16,.80) 55%,
      rgba(11,11,16,.38) 76%,
      rgba(11,11,16,.18) 100%
    ),
    url("tdr-footer-background.png") !important;
  background-repeat: no-repeat, no-repeat !important;
  background-position: center top, center bottom !important;
  background-size: 100% 100%, 100% auto !important;
  background-attachment: scroll, scroll !important;
}

/* Remove the old appended pseudo-element version. */
body::after {
  content: none !important;
  display: none !important;
}

/* Keep content readable while allowing the artwork to show around the sides. */
main,
.site-main,
.page-shell {
  background: transparent !important;
}

section,
.booking-shell,
.admin-modal,
.about-section,
.media-section,
.faq-section {
  background-color: rgba(11,11,16,.90);
}

@media (max-width: 900px) {
  body {
    background-size: 100% 100%, auto 900px !important;
    background-position: center top, center bottom !important;
  }
}

@media (max-width: 600px) {
  body {
    background-size: 100% 100%, auto 720px !important;
  }
}


/* Footer readability over artwork */
footer,
.site-footer {
  position: relative;
  isolation: isolate;
  background: rgba(5, 5, 9, .90) !important;
  border-top: 1px solid rgba(255, 45, 141, .35);
  box-shadow: 0 -18px 45px rgba(0,0,0,.58);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

footer::before,
.site-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(
    180deg,
    rgba(5,5,9,.82) 0%,
    rgba(5,5,9,.94) 45%,
    rgba(5,5,9,.98) 100%
  );
}

footer,
footer p,
footer span,
footer a,
.site-footer,
.site-footer p,
.site-footer span,
.site-footer a {
  text-shadow: 0 2px 5px #000, 0 0 10px #000;
}

footer a,
.site-footer a {
  font-weight: 800;
}

@media (max-width: 700px) {
  footer,
  .site-footer {
    background: rgba(5,5,9,.95) !important;
  }
}


/* 350Z drift artwork for open/blank page areas */
body {
  background-color: #08090e !important;
  background-image:
    linear-gradient(to bottom,
      rgba(8,9,14,.98) 0%,
      rgba(8,9,14,.90) 18%,
      rgba(8,9,14,.55) 42%,
      rgba(8,9,14,.32) 70%,
      rgba(8,9,14,.52) 100%),
    url("tdr-350z-page-background.png") !important;
  background-repeat: no-repeat, repeat-y !important;
  background-position: center top, center 760px !important;
  background-size: 100% 100%, 100% auto !important;
}

/* Keep the center content readable, while the 350Z artwork fills side gaps. */
main,
.site-main,
.page-shell {
  background: transparent !important;
}

section,
.booking-shell,
.about-section,
.media-section,
.faq-section {
  backdrop-filter: blur(1px);
  -webkit-backdrop-filter: blur(1px);
}

/* Footer remains readable over the new artwork. */
footer,
.site-footer {
  background: rgba(5,5,9,.92) !important;
}

@media (max-width: 900px) {
  body {
    background-position: center top, center 600px !important;
    background-size: 100% 100%, auto 720px !important;
  }
}

/* Zelle deposit panel */
.zelle-card{max-width:680px;margin:0 auto 18px;padding:18px;border:1px solid rgba(111,80,255,.38);border-radius:18px;background:linear-gradient(180deg,rgba(111,80,255,.10),rgba(255,255,255,.025));text-align:left}.zelle-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}.zelle-card h4{margin:3px 0 0;font-size:20px}.zelle-card p{color:var(--muted);line-height:1.5;margin:8px 0 14px}.zelle-amount{font-size:24px;color:#b7a8ff}.zelle-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.zelle-contact,.zelle-memo{border:1px solid var(--line);border-radius:14px;background:#101016;padding:13px}.zelle-contact span,.zelle-memo span{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.zelle-contact strong,.zelle-memo strong{display:block;overflow-wrap:anywhere;margin-bottom:10px}.ghost.small{padding:8px 10px;font-size:12px}.zelle-memo{margin-top:10px}.zelle-warning{font-size:12px!important;margin-bottom:0!important}.zelle-warning strong{color:white}@media(max-width:680px){.zelle-contact-grid{grid-template-columns:1fr}.zelle-card-head{align-items:center}.zelle-amount{font-size:21px}}


/* Admin Zelle payment workflow */
.zelle-paid-btn, .zelle-full-btn {
  border: 1px solid rgba(123, 92, 255, .6);
  background: linear-gradient(135deg, #5f3dc4, #7b5cff);
  color: #fff;
  border-radius: 14px;
  padding: 13px 16px;
  font-weight: 800;
  cursor: pointer;
}
.zelle-full-btn {
  background: linear-gradient(135deg, #146c43, #1f9d63);
  border-color: rgba(48, 210, 137, .55);
}
.zelle-paid-btn:hover, .zelle-full-btn:hover { filter: brightness(1.08); }
.zelle-paid-btn:disabled, .zelle-full-btn:disabled { opacity: .6; cursor: wait; }
@media (max-width: 760px) {
  .booking-payment-row .zelle-paid-btn, .booking-payment-row .zelle-full-btn { width: 100%; }
}

/* Customer email / receipt controls */
.resend-customer-email-btn{border:1px solid rgba(255,255,255,.18);background:#20202a;color:#fff;border-radius:12px;padding:13px 18px;font-weight:800;cursor:pointer}.resend-customer-email-btn:hover{border-color:#ff2d8d}.resend-customer-email-btn:disabled{opacity:.6;cursor:wait}

/* Electronic waiver admin status */
.waiver-card-status .waiver-complete{color:#69e89a}.waiver-card-status .waiver-pending{color:#ffbf69}.waiver-admin-details{margin-top:16px;background:#10111a;border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:12px 14px}.waiver-admin-details summary{cursor:pointer;font-weight:850;color:#ff5aa8}.waiver-admin-record{margin-top:12px;padding:14px;border-radius:12px;background:#171823;border:1px solid rgba(255,255,255,.08)}.waiver-admin-record>div:first-child{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.waiver-admin-record span{color:#a9a9b5;font-size:13px}.waiver-admin-meta{display:flex;gap:12px;flex-wrap:wrap;margin:8px 0}.waiver-admin-record img{display:block;background:#fff;max-width:320px;width:100%;height:100px;object-fit:contain;border-radius:10px;border:1px solid rgba(255,255,255,.15)}.copy-waiver-link-btn{white-space:nowrap}

.waiver-admin-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.waiver-pdf-btn{border:0;border-radius:10px;padding:10px 14px;background:#ff2d8d;color:#fff;font-weight:850;cursor:pointer}.waiver-pdf-btn:hover{filter:brightness(1.08)}

/* Admin booking payment filters */
.booking-filter-tabs {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 14px 0 18px;
}
.booking-filter {
  border: 1px solid #343440;
  background: #1d1d27;
  color: #f5f5f7;
  border-radius: 12px;
  padding: 11px 16px;
  font-weight: 800;
  cursor: pointer;
}
.booking-filter span {
  display: inline-flex;
  min-width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
  margin-left: 6px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  font-size: .82rem;
}
.booking-filter.selected {
  background: #ff2d8d;
  border-color: #ff2d8d;
  color: white;
}
.booking-admin-card.hidden-by-filter { display: none !important; }
.calendar-heading-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}
.calendar-heading-actions p { margin: 0; }
#clearCalendarBtn {
  background: #5d1824;
  color: #ff9bad;
  border: 1px solid #8d293b;
  border-radius: 10px;
  padding: 10px 14px;
  font-weight: 800;
  cursor: pointer;
}
#clearCalendarBtn:hover { background: #731c2c; }
#clearCalendarBtn:disabled { opacity: .6; cursor: wait; }


/* Ready-to-drive and cancellation workflow */
.drive-pill{display:inline-flex;align-items:center;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:900;letter-spacing:.02em;border:1px solid transparent}.drive-ready{color:#72f0a6;background:rgba(30,142,84,.18);border-color:rgba(75,214,133,.42)}.drive-waiver{color:#ffd27a;background:rgba(180,112,18,.16);border-color:rgba(255,191,78,.38)}.drive-balance{color:#ffd27a;background:rgba(180,112,18,.16);border-color:rgba(255,191,78,.38)}.drive-payment{color:#ff9fba;background:rgba(188,42,86,.16);border-color:rgba(255,72,130,.38)}.drive-cancelled{color:#aaa;background:rgba(120,120,130,.12);border-color:rgba(180,180,190,.22)}.cancel-reopen-btn{border:1px solid #8d293b;background:#5d1824;color:#ff9bad;border-radius:12px;padding:13px 16px;font-weight:850;cursor:pointer}.cancel-reopen-btn:hover{background:#731c2c}.cancel-reopen-btn:disabled{opacity:.6;cursor:wait}@media(max-width:760px){.booking-payment-row .cancel-reopen-btn{width:100%}}


/* Event-day roster + car assignment */
.booking-assignment-row{display:flex;gap:12px;align-items:end;flex-wrap:wrap;padding:14px 0;border-top:1px solid var(--line,#30303d)}
.booking-assignment-row label{min-width:260px;flex:1}.booking-assignment-row select,.roster-assign-row select,.roster-toolbar select{width:100%;background:#101016;color:#fff;border:1px solid #343443;border-radius:12px;padding:12px}
.roster-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:end;flex-wrap:wrap;margin-bottom:18px}.roster-toolbar h4{margin:4px 0}.roster-toolbar p{margin:0;color:#aaa}.roster-toolbar-actions{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.roster-toolbar-actions label{min-width:280px}.roster-list{display:grid;gap:14px}.roster-card{background:#15151d;border:1px solid #30303d;border-radius:18px;padding:18px}.roster-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:1px solid #30303d;padding-bottom:12px;margin-bottom:14px}.roster-card-head h4{margin:4px 0 0}.roster-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.roster-grid>div{background:#101016;border:1px solid #30303d;border-radius:12px;padding:11px}.roster-grid span{display:block;color:#9b9baa;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}.roster-assign-row{display:flex;gap:10px;margin-top:12px;align-items:center}.roster-assign-row select{max-width:360px}@media(max-width:800px){.roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.roster-toolbar-actions,.roster-toolbar-actions label{width:100%}}@media print{body *{visibility:hidden}.admin-panel[data-admin-panel="roster"],.admin-panel[data-admin-panel="roster"] *{visibility:visible}.admin-panel[data-admin-panel="roster"]{position:absolute;left:0;top:0;width:100%;background:#fff;color:#000}.admin-tabs,.roster-toolbar-actions{display:none!important}.roster-card{break-inside:avoid;background:#fff;color:#000;border-color:#bbb}.roster-grid>div{background:#fff;color:#000;border-color:#ccc}}

/* Needs Attention action center */
.admin-tab-count{display:inline-flex;min-width:22px;height:22px;align-items:center;justify-content:center;margin-left:5px;padding:0 6px;border-radius:999px;background:rgba(255,255,255,.10);font-size:.78rem}.attention-heading{display:flex;align-items:end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px}.attention-heading h4{margin:4px 0}.attention-heading p{margin:0;color:#a8a8b3}.attention-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.attention-summary>div{background:#15151d;border:1px solid #30303d;border-radius:14px;padding:14px}.attention-summary span{display:block;color:#a7a7b2;font-size:.76rem;text-transform:uppercase;letter-spacing:.05em}.attention-summary strong{display:block;margin-top:6px;font-size:1.5rem;color:#ff5aa8}.attention-list{display:grid;gap:12px}.attention-card{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.5fr) auto;align-items:center;gap:14px;background:#15151d;border:1px solid #30303d;border-radius:16px;padding:16px}.attention-card h4{margin:4px 0}.attention-card p{margin:0;color:#aaa}.attention-reasons{display:flex;gap:8px;flex-wrap:wrap}.attention-reasons span{display:inline-flex;padding:7px 10px;border-radius:999px;color:#ffd27a;background:rgba(180,112,18,.16);border:1px solid rgba(255,191,78,.38);font-size:.78rem;font-weight:850}.attention-clear{display:flex;flex-direction:column;gap:5px}.attention-clear strong{color:#72f0a6;font-size:1.1rem}.attention-highlight{outline:2px solid #ff2d8d;box-shadow:0 0 0 5px rgba(255,45,141,.12)}@media(max-width:800px){.attention-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.attention-card{grid-template-columns:1fr}.attention-card .primary{width:100%}}

/* TDR Merchandise */
.merch-section{margin-bottom:16px;overflow:hidden;background:linear-gradient(135deg,rgba(255,47,146,.09),rgba(18,18,25,.94) 48%,rgba(140,28,255,.08))}.merch-heading{align-items:center}.merch-heading p{color:var(--muted);margin-top:7px;line-height:1.5}.merch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.merch-card{display:grid;grid-template-columns:145px 1fr;gap:18px;align-items:stretch;padding:16px;border:1px solid var(--line);border-radius:18px;background:rgba(12,12,18,.76)}.merch-art{min-height:170px;border-radius:15px;display:grid;place-items:center;font-weight:950;font-style:italic;font-size:42px;letter-spacing:-.06em;color:white;overflow:hidden;position:relative;background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.13),transparent 27%),linear-gradient(135deg,#ff2f92,#42103b 58%,#0b0b10)}.merch-shirt:before{content:"";position:absolute;width:76px;height:105px;background:#0c0c12;clip-path:polygon(25% 0,39% 10%,61% 10%,75% 0,100% 18%,82% 40%,77% 31%,77% 100%,23% 100%,23% 31%,18% 40%,0 18%);border:1px solid rgba(255,255,255,.16)}.merch-shirt{z-index:0}.merch-shirt::after{content:"TDR";position:absolute;z-index:2;font-size:20px;color:#ff2f92;top:72px}.merch-keychain:before{content:"";position:absolute;width:72px;height:72px;border:7px solid rgba(255,255,255,.85);border-radius:50%;top:17px;left:50%;transform:translateX(-50%)}.merch-keychain:after{content:"";position:absolute;width:82px;height:62px;border-radius:15px;background:#0c0c12;border:2px solid #ff2f92;bottom:22px}.merch-keychain span{position:absolute;z-index:2;bottom:37px;font-size:22px;color:#ff2f92}.merch-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.merch-type{font-size:10px;letter-spacing:.16em;color:var(--accent2);font-weight:900}.merch-copy h3{font-size:22px;margin:5px 0}.merch-copy p{color:var(--muted);font-size:13px;line-height:1.5;margin-bottom:12px}.merch-price{font-size:25px;font-weight:900;color:var(--accent2);margin-bottom:12px}.merch-price-small{font-size:16px}.merch-note{color:var(--muted);font-size:12px;margin-top:13px;line-height:1.5}
@media(max-width:760px){.merch-grid{grid-template-columns:1fr}.merch-card{grid-template-columns:120px 1fr}.merch-art{min-height:150px}}
@media(max-width:470px){.merch-heading{align-items:flex-start;flex-direction:column}.merch-card{grid-template-columns:1fr}.merch-art{min-height:145px}.merch-copy{align-items:stretch}.merch-copy .buttonlike{width:100%;justify-content:center}}

/* =========================================================
   TDR continuous page background - no tiling/repeating
   ========================================================= */
html {
  background: #07070b !important;
}

body {
  background-image:
    linear-gradient(180deg, rgba(5,5,9,.72) 0%, rgba(6,6,10,.86) 45%, rgba(5,5,9,.92) 100%),
    url('tdr-background.png') !important;
  background-position: center top, center center !important;
  background-size: cover, cover !important;
  background-repeat: no-repeat, no-repeat !important;
  background-attachment: fixed, fixed !important;
  background-color: #07070b !important;
}

body::before,
body::after {
  background-image: none !important;
}

/* Content panels float over the one page background instead of starting new artwork. */
main,
section,
.site-main,
.page-shell,
.shell {
  background-image: none !important;
}

/* Keep the dedicated hero artwork, but never tile it. */
.welcome-screen {
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

/* Make long sections feel connected instead of like separate background blocks. */
.content-section,
.form-card,
.card {
  background-clip: padding-box;
}

@media (max-width: 760px) {
  body {
    background-position: center top, 58% center !important;
    background-size: cover, auto 100vh !important;
    background-attachment: scroll, fixed !important;
  }
}

/* Larger, easier-to-read main navigation */
.main-nav{gap:16px}
.main-nav a{font-size:16px;line-height:1.2;font-weight:900;padding:10px 2px}
.main-nav #adminBtn{font-size:16px;font-weight:900;padding:13px 18px}
@media(max-width:1100px){.main-nav{gap:11px}.main-nav a{font-size:14px}.main-nav #adminBtn{font-size:14px;padding:11px 14px}}
@media(max-width:760px){.main-nav{gap:8px}.main-nav a{font-size:13px;padding:8px 2px}.main-nav #adminBtn{font-size:13px;padding:10px 12px}}

/* Customer booking success / next steps dashboard */
.next-steps-dashboard{max-width:720px;margin:20px auto;text-align:left;border:1px solid var(--line);border-radius:20px;padding:20px;background:linear-gradient(180deg,rgba(255,43,139,.055),rgba(255,255,255,.018))}.next-steps-dashboard>h4{font-size:22px;margin:5px 0 16px}.next-step-card{display:flex;align-items:center;gap:14px;margin:10px 0;padding:15px;border:1px solid var(--line);border-radius:15px;background:#101016}.next-step-card.complete{border-color:rgba(72,224,146,.34);background:rgba(72,224,146,.055)}.next-step-card.priority{border-color:rgba(255,188,74,.35);background:rgba(255,188,74,.055)}.next-step-number{flex:0 0 34px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,43,139,.16);border:1px solid rgba(255,43,139,.4);color:var(--accent2);font-weight:900}.next-step-copy{flex:1;min-width:0}.next-step-copy strong{display:block;font-size:15px;margin-bottom:4px}.next-step-copy span{display:block;color:var(--muted);font-size:12.5px;line-height:1.45}.next-step-copy b{color:#fff}.next-step-action{flex:0 0 auto;white-space:nowrap}.next-steps-dashboard .zelle-card{margin:10px 0 14px;max-width:none}.secondary-actions{margin-top:14px}@media(max-width:680px){.next-steps-dashboard{padding:15px}.next-step-card{align-items:flex-start;flex-wrap:wrap}.next-step-action{width:100%;text-align:center;margin-left:48px}.next-steps-dashboard>h4{font-size:19px}}@media(max-width:440px){.next-step-action{margin-left:0}.next-step-number{flex-basis:32px;width:32px;height:32px}}
