:root{
  --bg:#f5f5f7;
  --card:#ffffff;
  --text:#1d1d1f;
  --muted:rgba(29,29,31,.62);
  --line:rgba(0,0,0,.08);
  --shadow:0 10px 30px rgba(0,0,0,.08);
  --radius:18px;
}

*{ box-sizing:border-box; }
html, body{ min-height:100%; }
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  min-height:100vh;
  display:flex;
  flex-direction:column;
}

a{ color:inherit; }

.wrap{
  width:min(1120px, 94vw);
  margin:0 auto;
  padding: 1.25rem 0 3rem;
}

main.wrap{
  flex:1 0 auto;
}

.topbar{
  position:sticky;
  top:0;
  z-index:100;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:16px;
  line-height:1.2;
  background:linear-gradient(180deg, rgba(12,14,20,.78), rgba(7,8,12,.64));
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.12);
  box-shadow:
    0 14px 34px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.10);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  padding: .9rem 1.1rem;
  gap:1rem;
}
.topbar .navlink,
.topbar .hello,
.topbar .tb-quick-plus,
.topbar .tb-inbox-label{
  font-family:inherit;
}
.topbar .navlink{ font-size:15px; line-height:1.2; }
.topbar .hello{ font-size:15px; line-height:1.2; }
.topbar .tb-quick-plus{ font-size:13px; line-height:1; }
.topbar .tb-inbox-label{ font-size:13px; line-height:1; }

.brand{ font-weight:900; letter-spacing:.02em; }
.brand--big{ font-size:1.35rem; margin-bottom:.25rem; }
.brand--plain{
  text-decoration:none;
  display:inline-flex;
  align-items:center;
}
.brand-logo-main{
  display:block;
  width:92px;
  height:34px;
  object-fit:contain;
}
.tb-brand-wrap{
  position:relative;
  display:flex;
  align-items:center;
  gap:.45rem;
}
.tb-updates-btn{
  position:relative;
  width:30px;
  height:30px;
  min-width:30px;
  min-height:30px;
  padding:0 !important;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  color:#111;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:background .15s ease, transform .12s ease, border-color .15s ease, box-shadow .15s ease;
}
.tb-updates-btn:hover{
  background:#f5f5f5;
  border-color:rgba(0,0,0,.18);
  box-shadow:0 2px 10px rgba(0,0,0,.18);
}
.tb-updates-btn:active{ transform:scale(.97); }
.tb-updates-btn svg{
  display:block;
  width:15px;
  height:15px;
  stroke:#111;
  flex:0 0 auto;
  pointer-events:none;
}
.tb-updates-badge{
  position:absolute;
  top:-6px;
  right:-7px;
  min-width:16px;
  height:16px;
  border-radius:999px;
  background:#ff4d4d;
  color:#fff;
  font-size:.68rem;
  font-weight:900;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 4px;
  border:1px solid rgba(0,0,0,.3);
  box-shadow:0 4px 10px rgba(0,0,0,.35);
}
.tb-updates-pop{
  position:absolute;
  top:38px;
  left:0;
  width:min(340px, 84vw);
  background:#fff;
  color:#1d1d1f;
  border:1px solid rgba(0,0,0,.12);
  border-radius:14px;
  box-shadow:0 16px 36px rgba(0,0,0,.22);
  padding:.75rem .8rem .7rem;
  opacity:0;
  pointer-events:none;
  transform:translateY(-6px);
  transition:opacity .16s ease, transform .16s ease;
  z-index:120;
}
.tb-updates-pop.is-open{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}
.tb-updates-pop__title{
  font-weight:900;
  font-size:.92rem;
  margin-bottom:.25rem;
}
.tb-updates-pop__text{
  font-size:.86rem;
  color:rgba(29,29,31,.8);
  line-height:1.35;
}
.tb-updates-pop__section{ margin-top:.45rem; }
.tb-updates-pop__subtitle{
  font-size:.8rem;
  font-weight:900;
  letter-spacing:.01em;
  color:#111;
  margin-bottom:.18rem;
}
.tb-updates-pop__list{
  margin:.12rem 0 0;
  padding-left:1rem;
  font-size:.82rem;
  color:rgba(29,29,31,.82);
}
.tb-updates-pop__list li{ margin:.08rem 0; }
.tb-updates-pop__meta{
  margin-top:.45rem;
  font-size:.74rem;
  color:rgba(29,29,31,.55);
}
.tb-help-list{
  margin:0 0 16px;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
}
.tb-help-list li{
  border:1px solid rgba(255,236,243,.18);
  border-radius:12px;
  padding:10px 12px;
  font-size:14px;
  line-height:1.35;
  color:#eddbe3;
  background:rgba(255,241,245,.04);
}

.topbar__nav{
  display:flex;
  align-items:center;
  gap:.9rem;
  flex-wrap:wrap;
  justify-content:center;
}

.navlink{
  text-decoration:none;
  color:rgba(255,255,255,.92);
  font-weight:700;
  font-size:.95rem;
  padding:.35rem .5rem;
  border-radius:10px;
  transition:background .15s ease, color .15s ease, box-shadow .15s ease;
}
.navlink:hover{
  background:rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}
.navlink--muted{ color:rgba(255,255,255,.75); }
.topbar__right{
  display:flex;
  align-items:center;
  gap:.55rem;
}
.tb-quick-create-menu{
  position:relative;
}
.tb-quick-create-menu::after{
  content:"";
  position:absolute;
  top:100%;
  right:-14px;
  width:220px;
  height:22px;
}
.tb-quick-plus{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  min-width:28px;
  border:none;
  background:transparent;
  color:#fff;
  cursor:pointer;
  padding:0;
  transition:transform .12s ease;
}
.tb-quick-plus:hover{
  background:transparent;
}
.tb-quick-plus:active{
  transform:scale(.97);
}
.tb-quick-plus__icon{
  display:inline-block;
  font-size:28px;
  font-weight:900;
  line-height:1;
  color:#fff;
  transition:transform .24s cubic-bezier(.2,.8,.2,1), opacity .16s ease;
}
.tb-quick-create-menu:hover .tb-quick-plus__icon,
.tb-quick-create-menu:focus-within .tb-quick-plus__icon,
.tb-quick-plus.is-open .tb-quick-plus__icon{
  transform:rotate(90deg);
  opacity:.95;
}
.tb-quick-create-pop{
  position:absolute;
  top:32px;
  right:0;
  min-width:150px;
  padding:8px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.12);
  background:#ffffff;
  box-shadow:0 16px 36px rgba(0,0,0,.22);
  display:grid;
  gap:6px;
  opacity:0;
  pointer-events:none;
  transform:translateY(-6px);
  transition:opacity .16s ease, transform .16s ease;
  z-index:130;
}
.tb-quick-create-menu:hover .tb-quick-create-pop,
.tb-quick-create-menu:focus-within .tb-quick-create-pop,
.tb-quick-create-pop.is-open{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}
.tb-quick-create-pop__item{
  display:block;
  width:100%;
  text-decoration:none;
  border-radius:9px;
  padding:8px 10px;
  font-size:13px;
  font-weight:800;
  color:#111;
  background:rgba(0,0,0,.02);
  border:1px solid transparent;
}
.tb-quick-create-pop__item:hover{
  background:#f5f5f5;
  border-color:rgba(0,0,0,.08);
}
.tb-quick-create-pop__item--button{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid transparent;
  text-align:left;
  cursor:pointer;
  font-family:inherit;
}
.tb-intro-test-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:.34rem .58rem;
  border-radius:10px;
  text-decoration:none;
  color:#fff;
  border:1px solid rgba(255,255,255,.26);
  background:rgba(255,255,255,.08);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.01em;
  line-height:1;
}
.tb-intro-test-btn:hover{
  background:rgba(255,255,255,.16);
}
.tb-help-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  min-width:32px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.26);
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:15px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  transition:background .16s ease, transform .12s ease, border-color .16s ease;
}
.tb-help-btn:hover{
  background:rgba(255,255,255,.16);
  border-color:rgba(255,255,255,.38);
}
.tb-help-btn:active{
  transform:scale(.96);
}
.tb-inbox-btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  min-height:32px;
  padding:.34rem .58rem;
  border-radius:10px;
  appearance:none;
  -webkit-appearance:none;
  font:inherit;
  cursor:pointer;
  text-decoration:none;
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);
}
.tb-inbox-btn:hover{
  background:rgba(255,255,255,.12);
}
.tb-inbox-label{
  font-size:.82rem;
  font-weight:800;
}
.tb-inbox-badge{
  position:absolute;
  top:-6px;
  right:-6px;
  min-width:17px;
  height:17px;
  border-radius:999px;
  background:#ff4d4d;
  color:#fff;
  border:1px solid rgba(0,0,0,.35);
  box-shadow:0 4px 10px rgba(0,0,0,.3);
  padding:0 5px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.66rem;
  font-weight:900;
}

.hello{ font-size:.95rem; color:rgba(255,255,255,.9); white-space:nowrap; }

.burger{
  display:none;
  width:42px;
  height:42px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  cursor:pointer;
}
.burger span{
  display:block;
  width:18px;
  height:2px;
  background:#fff;
  margin:4px auto;
  border-radius:2px;
}

.mobile-drawer{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.35);
  z-index:220;
}
.mobile-nav{
  display:none;
  position:fixed;
  top:72px;
  right:10px;
  left:10px;
  background:linear-gradient(180deg, rgba(12,14,20,.84), rgba(8,9,13,.74));
  border:1px solid rgba(255,255,255,.16);
  border-radius:16px;
  padding:.65rem;
  z-index:230;
  max-height:calc(100dvh - 84px);
  overflow-y:auto;
  box-shadow:
    0 22px 50px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(18px) saturate(135%);
  -webkit-backdrop-filter:blur(18px) saturate(135%);
}
.mobile-nav a{
  display:block;
  padding:.85rem .9rem;
  border-radius:12px;
  text-decoration:none;
  color:#fff;
  font-weight:800;
}
.mobile-nav a:hover{ background:rgba(255,255,255,.08); }

.hero h1{
  margin: .4rem 0 .35rem;
  font-size:2.1rem;
  letter-spacing:-.02em;
}
.muted{ color:var(--muted); margin:0; }

.grid{
  display:grid;
  gap:1rem;
  grid-template-columns: repeat(12, 1fr);
  margin-top:1rem;
}
.grid--mobile-first > *{ grid-column: span 12; }

.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:1.1rem 1.1rem;
  box-shadow: 0 3px 14px rgba(0,0,0,.04);
}
.card--focus{ border-color: rgba(0,0,0,.12); box-shadow: var(--shadow); }
.card__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.8rem;
  margin-bottom:.6rem;
}
.card h2{
  margin:0;
  font-size:1.15rem;
  letter-spacing:-.01em;
}

.chip{
  display:inline-flex;
  align-items:center;
  padding:.25rem .55rem;
  border-radius:999px;
  background:rgba(0,0,0,.06);
  font-weight:900;
  font-size:.82rem;
}

.list{
  list-style:none;
  margin:.4rem 0 0;
  padding:0;
}
.list__item{
  padding:.85rem 0;
  border-bottom:1px solid rgba(0,0,0,.06);
}
.list__item:last-child{ border-bottom:none; }

.req{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: .9rem;
}
.req__meta{
  display:flex;
  gap:.55rem;
  flex-wrap:wrap;
  align-items:center;
}
.req__actions{
  display:flex;
  gap:.55rem;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.pill{
  display:inline-flex;
  align-items:center;
  padding:.25rem .55rem;
  border-radius:999px;
  background:rgba(0,0,0,.06);
  font-weight:900;
  font-size:.82rem;
}

.badge{
  display:inline-flex;
  align-items:center;
  padding:.2rem .5rem;
  border-radius:999px;
  font-weight:900;
  font-size:.76rem;
}
.badge--yes{ background:rgba(0,0,0,.88); color:#fff; }
.badge--no{ background:rgba(0,0,0,.10); color:rgba(29,29,31,.8); }

.btn{
  appearance:none;
  border:1px solid rgba(0,0,0,.14);
  background:rgba(0,0,0,.04);
  color:var(--text);
  padding:.7rem .9rem;
  border-radius:14px;
  font-weight:900;
  cursor:pointer;
  transition: transform .08s ease, background .15s ease, border-color .15s ease;
}
.btn:active{ transform:scale(.98); }
.btn--primary{
  background:#000;
  border-color:#000;
  color:#fff;
}
.btn--ghost{
  background:transparent;
  border-color:rgba(0,0,0,.18);
  text-decoration:none;
}

.seg{
  display:inline-flex;
  border:1px solid rgba(0,0,0,.14);
  border-radius:14px;
  overflow:hidden;
}
.seg__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.55rem .7rem;
  text-decoration:none;
  font-weight:900;
  font-size:.9rem;
  background:rgba(0,0,0,.03);
}
.seg__btn.is-active{
  background:rgba(0,0,0,.88);
  color:#fff;
}

.toast{
  margin-top:.7rem;
  display:inline-block;
  padding:.6rem .85rem;
  border-radius:14px;
  background:rgba(0,0,0,.88);
  color:#fff;
  font-weight:900;
  box-shadow: 0 10px 25px rgba(0,0,0,.14);
}

/* Auth */
body.auth{
  background: radial-gradient(1200px 600px at 30% -10%, rgba(0,0,0,.10), transparent 60%),
              radial-gradient(900px 500px at 90% 0%, rgba(0,0,0,.08), transparent 55%),
              var(--bg);
}
.auth-card{
  width:min(440px, 92vw);
  margin: 10vh auto 0;
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  padding: 1.6rem 1.5rem;
  box-shadow: var(--shadow);
}
.alert{
  background: rgba(0,0,0,.06);
  border:1px solid rgba(0,0,0,.10);
  padding:.75rem .85rem;
  border-radius:14px;
  font-weight:800;
  margin: .85rem 0;
}

.tb-legacy-reconnect{
  width:min(1120px, 94vw);
  margin:18px auto 0;
}
.tb-legacy-reconnect__inner{
  border:1px solid rgba(16,24,40,.12);
  border-radius:22px;
  padding:18px;
  background:
    radial-gradient(520px 180px at 0% 0%, rgba(20,78,130,.13), transparent 68%),
    linear-gradient(180deg,#ffffff 0%,#f5f7fb 100%);
  box-shadow:0 16px 42px rgba(16,24,40,.10);
}
.tb-legacy-reconnect__badge{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 10px;
  border-radius:999px;
  background:#0f172a;
  color:#fff;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.tb-legacy-reconnect__copy h2{
  margin:12px 0 6px;
  font-size:clamp(22px,3vw,34px);
  line-height:1.05;
  letter-spacing:-.04em;
}
.tb-legacy-reconnect__copy p{
  margin:0;
  max-width:760px;
  color:rgba(29,29,31,.68);
  line-height:1.45;
}
.tb-legacy-reconnect__list{
  display:grid;
  gap:10px;
  margin-top:14px;
}
.tb-legacy-reconnect__card{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  border:1px solid rgba(16,24,40,.10);
  border-radius:16px;
  padding:12px;
  background:rgba(255,255,255,.78);
}
.tb-legacy-reconnect__card strong{
  display:block;
  color:#16181d;
}
.tb-legacy-reconnect__card span{
  display:block;
  margin-top:2px;
  color:rgba(29,29,31,.58);
  font-size:13px;
  font-weight:700;
}
.tb-legacy-reconnect__actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}
.tb-legacy-reconnect__actions form{
  margin:0;
}
.tb-legacy-reconnect__link{
  border:0;
  background:transparent;
  color:#697386;
  font:inherit;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  padding:8px 4px;
}
.tb-legacy-reconnect__link:hover{
  color:#111827;
}
@media (max-width: 760px){
  .tb-legacy-reconnect__card{
    align-items:flex-start;
    flex-direction:column;
  }
  .tb-legacy-reconnect__actions{
    justify-content:flex-start;
  }
}
.form{
  display:grid;
  gap:1rem;
  margin-top: 1rem;
}
.field__label{ display:block; font-weight:900; font-size:.85rem; margin-bottom:.35rem; color:rgba(0,0,0,.75); }
.input{
  width:100%;
  padding:.9rem 1rem;
  border-radius:16px;
  border:1px solid rgba(0,0,0,.14);
  background:#fff;
  color:#1d1d1f;
  font-weight:750;
  outline:none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.input::placeholder{
  color:rgba(29,29,31,.42);
}
.input:focus{
  border-color:rgba(0,0,0,.35);
  box-shadow: 0 0 0 4px rgba(0,0,0,.04);
}
.hint{
  color:var(--muted);
  font-size:.9rem;
  margin-top: 1.25rem;
  text-align:center;
}

@media (max-width: 900px){
  .topbar__nav{ display:none; }
  .burger{ display:inline-flex; align-items:center; justify-content:center; }
  body.nav-open{ overflow:hidden; }
  body.nav-open .mobile-drawer{ display:block; }
  body.nav-open .mobile-nav{ display:block; }
}

@media (min-width: 900px){
  .grid--mobile-first{
    grid-template-columns: repeat(12, 1fr);
  }
  .grid--mobile-first .card--focus{ grid-column: span 6; }
  .grid--mobile-first .card{ grid-column: span 6; }
}

@media (max-width: 640px){
  .wrap{ padding: 1rem 0 2.5rem; }
  .hero h1{ font-size: 1.75rem; }
  .req{ flex-direction:column; align-items:stretch; }
  .req__actions .btn{ width:100%; }
  .tb-updates-pop{
    left:-4px;
    width:min(320px, 86vw);
  }
}


/* Legacy pages: make old forms/tables look consistent */
h1,h2,h3{ letter-spacing:-.02em; }
table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background: #fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  overflow:hidden;
  box-shadow: 0 3px 14px rgba(0,0,0,.04);
}
th,td{
  padding: .85rem .9rem;
  border-bottom:1px solid rgba(0,0,0,.06);
  text-align:left;
  vertical-align:top;
}
tr:last-child td{ border-bottom:none; }
th{
  font-size:.85rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:rgba(29,29,31,.65);
  background: rgba(0,0,0,.03);
}

input[type="text"],input[type="email"],input[type="password"],input[type="date"],input[type="datetime-local"],select,textarea{
  width:100%;
  padding:.8rem .9rem;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.14);
  background:#fff;
  color:#1d1d1f;
  font-weight:650;
  outline:none;
}
input[type="text"]::placeholder,
input[type="email"]::placeholder,
input[type="password"]::placeholder,
input[type="date"]::placeholder,
input[type="datetime-local"]::placeholder,
textarea::placeholder{
  color:rgba(29,29,31,.42);
}
textarea{ min-height:110px; resize:vertical; }
label{ font-weight:800; display:block; margin:.7rem 0 .35rem; color:rgba(0,0,0,.75); }

button, input[type="submit"]{
  font-family:inherit;
}
button, input[type="submit"], .button{
  appearance:none;
  border:1px solid rgba(0,0,0,.14);
  background:rgba(0,0,0,.88);
  color:#fff;
  padding:.7rem .95rem;
  border-radius:14px;
  font-weight:900;
  cursor:pointer;
}
button:hover, input[type="submit"]:hover{ filter:brightness(0.96); }

hr{ border:none; border-top:1px solid rgba(0,0,0,.08); margin:1.2rem 0; }

.flash-yes{ animation: flashYes .22s ease-in-out 1; }
.flash-no{ animation: flashNo .22s ease-in-out 1; }
@keyframes flashYes{
  from{ background: rgba(0,0,0,.02); }
  50%{ background: rgba(0,0,0,.10); }
  to{ background: rgba(0,0,0,.02); }
}
@keyframes flashNo{
  from{ background: rgba(0,0,0,.02); }
  50%{ background: rgba(0,0,0,.08); }
  to{ background: rgba(0,0,0,.02); }
}

/* ---------------------------
   Dashboard v2026 (nur Add-on)
---------------------------- */
.tb-hero{ margin: .6rem 0 1rem; }
.tb-hero__top{ display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.tb-title{ margin:0; font-size:2.1rem; letter-spacing:-.02em; }
.tb-sub{ margin:.25rem 0 0; color:rgba(29,29,31,.62); }

.tb-tabs{ display:flex; gap:.55rem; align-items:center; }
.tb-tab{
  text-decoration:none;
  font-weight:900;
  padding:.65rem .9rem;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.14);
  background:rgba(0,0,0,.03);
}
.tb-tab.is-active{
  background:rgba(0,0,0,.88);
  color:#fff;
  border-color:rgba(0,0,0,.88);
}

.tb-kpis{ display:flex; gap:.6rem; flex-wrap:wrap; align-items:center; margin-top:.9rem; }
.tb-kpi{
  display:flex; gap:.45rem; align-items:baseline;
  padding:.55rem .75rem;
  border-radius:14px;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
}
.tb-kpi span{ color:rgba(29,29,31,.62); font-weight:800; }
.tb-kpi strong{ font-weight:950; }

.tb-ghost{
  margin-left:auto;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.55rem .75rem;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.18);
  background:transparent;
  font-weight:900;
}

.tb-toast{
  margin-top:.7rem;
  display:inline-block;
  padding:.6rem .85rem;
  border-radius:14px;
  background:rgba(0,0,0,.88);
  color:#fff;
  font-weight:900;
  box-shadow: 0 10px 25px rgba(0,0,0,.14);
}

.tb-grid{
  display:grid;
  gap:1rem;
  grid-template-columns: repeat(12, 1fr);
}
.tb-grid > *{ grid-column: span 12; }

.tb-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:18px;
  padding:1.1rem 1.1rem;
  box-shadow: 0 3px 14px rgba(0,0,0,.04);
}
.tb-card--focus{
  border-color: rgba(0,0,0,.12);
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
}

.tb-card__head{ display:flex; align-items:center; justify-content:space-between; gap:.8rem; margin-bottom:.6rem; }
.tb-card__head--split{ flex-wrap:wrap; }

.tb-chip{
  display:inline-flex;
  align-items:center;
  padding:.25rem .55rem;
  border-radius:999px;
  background:rgba(0,0,0,.06);
  font-weight:950;
  font-size:.82rem;
}

.tb-list{ list-style:none; margin:.4rem 0 0; padding:0; }
.tb-item{
  padding:.85rem 0;
  border-bottom:1px solid rgba(0,0,0,.06);
}
.tb-item:last-child{ border-bottom:none; }

.tb-group{
  padding:.85rem 0 .55rem;
  color:rgba(29,29,31,.62);
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.78rem;
  border-bottom:1px solid rgba(0,0,0,.06);
}

.tb-request{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.9rem;
}
.tb-request__meta{ display:flex; gap:.55rem; align-items:center; flex-wrap:wrap; }
.tb-request__main{ display:flex; gap:.5rem; align-items:baseline; flex-wrap:wrap; }

.tb-muted{ color:rgba(29,29,31,.62); }
.tb-pill{
  display:inline-flex;
  align-items:center;
  padding:.25rem .55rem;
  border-radius:999px;
  background:rgba(0,0,0,.06);
  font-weight:950;
  font-size:.82rem;
}
.tb-badge{
  display:inline-flex;
  align-items:center;
  padding:.2rem .5rem;
  border-radius:999px;
  font-weight:950;
  font-size:.76rem;
}
.tb-badge--yes{
  background:#e8f5e9;
  color:#1b5e20;
  border:1px solid #c8e6c9;
}
.tb-badge--no{
  background:#ffe9e9;
  color:#c62828;
  border:1px solid #f5b5b5;
}

.tb-actions{ display:flex; gap:.55rem; flex-wrap:wrap; justify-content:flex-end; }
.tb-btn{
  appearance:none;
  border:1px solid rgba(0,0,0,.14);
  background:rgba(0,0,0,.04);
  color:#1d1d1f;
  padding:.75rem .95rem;
  border-radius:14px;
  font-weight:950;
  cursor:pointer;
  transition: transform .08s ease, background .15s ease, border-color .15s ease, opacity .15s ease;
}
.tb-btn:active{ transform:scale(.98); }
.tb-btn--yes{
  background:rgba(0,0,0,.88);
  border-color:rgba(0,0,0,.88);
  color:#fff;
}
.tb-btn--no{
  background:rgba(0,0,0,.06);
  border-color:rgba(0,0,0,.16);
}
.tb-btn--ghost{
  background:transparent;
  border-color:rgba(0,0,0,.18);
}
.tb-ic{ display:inline-flex; width:1.2em; justify-content:center; }

.tb-seg{
  display:inline-flex;
  border:1px solid rgba(0,0,0,.14);
  border-radius:14px;
  overflow:hidden;
}
.tb-seg__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.55rem .7rem;
  text-decoration:none;
  font-weight:950;
  font-size:.9rem;
  background:rgba(0,0,0,.03);
}
.tb-seg__btn.is-active{
  background:rgba(0,0,0,.88);
  color:#fff;
}

/* Feedback + verschwinden */
.tb-flash-yes{ animation: tbYes .22s ease-in-out 1; }
.tb-flash-no{ animation: tbNo .22s ease-in-out 1; }
@keyframes tbYes{ 0%{background:transparent} 50%{background:rgba(0,0,0,.08)} 100%{background:transparent} }
@keyframes tbNo{ 0%{background:transparent} 50%{background:rgba(0,0,0,.06)} 100%{background:transparent} }

.tb-fade{ opacity:1; }
.tb-fade.tb-flash-yes, .tb-fade.tb-flash-no{ opacity:.75; }



@media (max-width: 640px){
  .tb-title{ font-size:1.75rem; }
  .tb-ghost{ margin-left:0; }
  .tb-request{ flex-direction:column; align-items:stretch; }
  .tb-actions .tb-btn{ width:100%; }
}


/* === Dashboard: Full Width + Accordion === */

.tb-grid--single{
  grid-template-columns: 1fr;
}

.tb-card--accordion{
  cursor: pointer;
}

.tb-card--accordion .tb-card__head{
  user-select: none;
}

.tb-card--accordion .tb-card__head:hover{
  background: rgba(0,0,0,.02);
  border-radius: 14px;
}

.tb-accordion-btn{
  font-weight: 900;
  font-size: .9rem;
  opacity: .7;
}

.tb-card--accordion.is-open{
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
}

/* Mobile Feinschliff */
@media (max-width: 640px){
  .tb-card{ padding: 1rem .95rem; }
  .tb-card__head h2{ font-size: 1.05rem; }
}
/* =====================================================
   Topbar User UI Refinement (Non-Destructive Add-on)
===================================================== */

.topbar__user{
  display:flex;
  align-items:center;
  gap:.75rem;
}

.topbar__user .hello{
  font-weight:800;
  font-size:.95rem;
  color:rgba(255,255,255,.92);
  letter-spacing:.2px;
}

/* === Logout Button Refined === */
.logout-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:32px;
  border-radius:10px;
  background:#ffffff;
  color:#000000;
  text-decoration:none;
  border:1px solid rgba(0,0,0,.12);
  transition:all .15s ease;
}

.logout-btn svg{
  stroke:#000000;
}

.logout-btn:hover{
  background:#f5f5f5;
  transform:translateY(-1px);
}

.logout-btn:active{
  transform:scale(.96);
}

@media (max-width:640px){
  .topbar__user{
    gap:.5rem;
  }
  .tb-quick-plus{
    width:26px;
    height:26px;
    min-width:26px;
  }
  .tb-quick-plus__icon{
    font-size:26px;
  }
  .tb-quick-create-pop{
    top:calc(100% + 12px);
    right:-4px;
    min-width:156px;
  }
  .tb-intro-test-btn{
    min-height:30px;
    padding:.3rem .48rem;
    font-size:.74rem;
  }
  .tb-help-btn{
    width:30px;
    height:30px;
    min-width:30px;
    font-size:14px;
  }
  .tb-inbox-btn{
    width:32px;
    min-width:32px;
    padding:0;
    justify-content:center;
  }
  .tb-inbox-label{
    display:none;
  }
  .logout-btn{
    width:30px;
    height:30px;
  }
}

/* =====================================================
   Topbar Actions Refresh
===================================================== */

.topbar__left{
  display:flex;
  align-items:center;
  min-width:0;
  justify-self:start;
}

.topbar__nav{
  min-width:0;
  justify-self:center;
}

.topbar__right{
  display:flex;
  align-items:center;
  gap:.7rem;
  min-width:0;
  justify-self:end;
}

.topbar__tools{
  display:flex;
  align-items:center;
  gap:.45rem;
  padding:.24rem;
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  background:rgba(255,255,255,.06);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 8px 24px rgba(0,0,0,.10);
  backdrop-filter:blur(10px) saturate(130%);
  -webkit-backdrop-filter:blur(10px) saturate(130%);
}

.topbar__divider{
  width:1px;
  height:22px;
  background:rgba(255,255,255,.14);
  margin:0 .08rem;
}

.tb-action-btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  min-width:38px;
  padding:0;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.05);
  color:#fff;
  text-decoration:none;
  cursor:pointer;
  transition:background .16s ease, border-color .16s ease, transform .12s ease, color .16s ease;
}

.tb-action-btn:hover{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.28);
}

.tb-action-btn:active{
  transform:scale(.96);
}

.tb-action-btn__icon{
  display:block;
  width:18px;
  height:18px;
  flex:0 0 auto;
  stroke:currentColor;
  pointer-events:none;
}

.tb-action-btn--primary{
  background:#ffffff;
  border-color:#ffffff;
  color:#111111;
}

.tb-action-btn--primary:hover{
  background:#f1f1f1;
  border-color:#f1f1f1;
}

.tb-quick-plus{
  width:38px;
  height:38px;
  min-width:38px;
  border-radius:12px;
  padding:0;
  border:none;
  background:transparent;
  color:#ffffff;
  box-shadow:none;
}

.tb-quick-plus:hover{
  background:transparent;
  border-color:transparent;
}

.tb-quick-plus__icon{
  display:block;
  width:18px;
  height:18px;
  font-size:0;
  transition:transform .24s cubic-bezier(.2,.8,.2,1), opacity .16s ease;
}

.tb-quick-create-pop{
  top:calc(100% + 14px);
  right:-10px;
  min-width:176px;
  padding:6px 0;
  border:none;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(16,16,16,.98), rgba(8,8,8,.98));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 14px 28px rgba(0,0,0,.28);
  gap:0;
  overflow:hidden;
  transform:translateY(-10px);
  transition:opacity .24s ease-in-out, transform .24s ease-in-out;
}

.tb-quick-create-pop__item{
  border-radius:0;
  padding:11px 14px;
  font-size:13px;
  font-weight:800;
  color:rgba(255,255,255,.94);
  background:transparent;
  border:none;
  box-shadow:none;
}

.tb-quick-create-pop__item:hover{
  background:rgba(255,255,255,.05);
  color:#ffffff;
}

.tb-quick-create-pop__item + .tb-quick-create-pop__item{
  border-top:1px solid rgba(255,255,255,.08);
}

.tb-help-btn{
  font-size:16px;
  font-weight:900;
}

.tb-intro-test-btn,
.tb-inbox-btn,
.tb-profile-btn,
.logout-btn{
  min-height:0;
  padding:0;
}

.tb-inbox-label{
  display:none;
}

.tb-inbox-badge{
  top:-4px;
  right:-4px;
  min-width:16px;
  height:16px;
  padding:0 4px;
  font-size:.64rem;
}

.logout-btn{
  background:rgba(255,255,255,.05);
  color:#ffffff;
  border-color:rgba(106, 22, 30, .82);
}

.logout-btn svg{
  stroke:currentColor;
}

.logout-btn:hover{
  background:rgba(255,255,255,.12);
  border-color:rgba(136, 30, 40, .92);
  transform:none;
}

.burger{
  width:38px;
  height:38px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.05);
}

.burger:hover{
  background:rgba(255,255,255,.12);
}

.burger span{
  width:16px;
}

@media (max-width: 900px){
  .topbar{
    grid-template-columns:auto 1fr auto;
    padding:.8rem .9rem;
    gap:.75rem;
  }

  .topbar__right{
    gap:.5rem;
  }

  .topbar__tools{
    gap:.35rem;
    padding:.18rem;
  }

  .tb-action-btn,
  .tb-quick-plus,
  .burger{
    width:34px;
    height:34px;
    min-width:34px;
    border-radius:11px;
  }

  .tb-action-btn__icon,
  .tb-quick-plus__icon{
    width:17px;
    height:17px;
  }

  .tb-quick-create-pop{
    top:calc(100% + 14px);
  }
}

@media (max-width: 640px){
  .topbar{
    grid-template-columns:auto 1fr auto;
    padding:.72rem .75rem;
    gap:.6rem;
  }

  .topbar__tools{
    padding:0;
    border:none;
    background:transparent;
    box-shadow:none;
  }

  .topbar__divider,
  .tb-intro-test-btn,
  .tb-updates-btn{
    display:none;
  }
}








/* ===== Migrated from artist_overview.php ===== */
body.page-artist-overview .page-header h1{
    font-size:2rem;
    margin-bottom:.3rem;
}

body.page-artist-overview .page-header p{
    color:#777;
    margin-bottom:1.2rem;
}

body.page-artist-overview .filter-bar{
    margin-bottom:1.5rem;
}

body.page-artist-overview .search-input{
    width:100%;
    padding:1rem 1.2rem;
    border-radius:16px;
    border:1px solid #ddd;
    background:#fafafa;
    font-size:1rem;
}

body.page-artist-overview .artist-grid{
    display:flex;
    flex-direction:column;
    gap:1.5rem;
}

body.page-artist-overview .artist-card{
    background:#fff;
    border-radius:22px;
    padding:1.5rem;
    box-shadow:0 10px 30px rgba(0,0,0,.05);
}

body.page-artist-overview .artist-card__header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:1rem;
}

body.page-artist-overview .artist-card__header h2{
    font-size:1.3rem;
    margin:0;
}

body.page-artist-overview .badge{
    background:#f2f2f2;
    padding:.3rem .8rem;
    border-radius:999px;
    font-size:.8rem;
    font-weight:600;
}

body.page-artist-overview .event-list{
    list-style:none;
    padding:0;
    margin:0;
}

body.page-artist-overview .event-row{
    display:grid;
    grid-template-columns:120px 1fr 280px;
    gap:1rem;
    padding:.8rem 0;
    border-bottom:1px solid #eee;
    align-items:center;
}

body.page-artist-overview .event-date{
    font-weight:700;
}

body.page-artist-overview .event-location{
    color:#333;
}

body.page-artist-overview .event-personnel{
    text-align:right;
    font-size:.9rem;
    color:#666;
    white-space:normal;
    line-height:1.45;
}

body.page-artist-overview .artist-overview-empty{
    color:#999;
    font-style:italic;
}

@media(max-width:768px){
    body.page-artist-overview .event-row{
        grid-template-columns:1fr;
        gap:.3rem;
    }

    body.page-artist-overview .event-personnel{
        text-align:left;
    }
}


/* ===== Migrated from artists.php ===== */
body.page-artists .page-card {
    background: #ffffff;
    border-radius: 28px;
    padding: 48px 56px;
    max-width: 1200px;
    margin: 60px auto 60px auto;
    box-shadow: 0 20px 60px rgba(0,0,0,0.06);
}

body.page-artists .project-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(420px,1fr));
    gap:14px;
}

body.page-artists .project-card{
    background: white;
    border:1px solid #eceef2;
    padding: 18px;
    border-radius: 16px;
    transition: 0.2s ease;
}

body.page-artists .project-card--readonly{
    background: #f0f2f5;
    border-color: #d6dbe3;
    color: #656b76;
    box-shadow: inset 4px 0 0 rgba(119,126,140,.32);
}

body.page-artists .project-card--readonly:hover{
    transform: none;
    box-shadow: inset 4px 0 0 rgba(119,126,140,.32);
}

body.page-artists .project-readonly-pill,
body.page-artists .project-readonly-note{
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background: #dce1e8;
    color: #626b78;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

body.page-artists .project-readonly-pill{
    padding: 5px 9px;
    white-space: nowrap;
}

body.page-artists .project-readonly-note{
    width: 100%;
    justify-content: center;
    border-radius: 14px;
    padding: 12px;
    text-align: center;
    letter-spacing: .02em;
    text-transform: none;
}

body.page-artists .project-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(0,0,0,0.05);
}

body.page-artists .project-card__head{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap:8px;
}

body.page-artists .project-card__meta{
    min-width:0;
}

body.page-artists .artist-name {
    font-weight: 600;
    font-size: 18px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

body.page-artists .artist-count {
    font-size: 13px;
    opacity: 0.6;
}

.btn {
    padding: 8px 16px;
    border-radius: 999px;
    border: none;
    cursor: pointer;
    font-weight: 500;
}

.btn-black {
    background: black;
    color: white;
}


body.page-artists .artist-delete-btn {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #ff4d4f;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
    transition: 0.2s ease;
}

body.page-artists .artist-delete-btn:hover {
    background: #e04344;
    transform: scale(1.05);
}

.btn-ghost {
    background: #eee;
}

body.page-artists .add-form {
    display: flex;
    gap: 12px;
    margin-bottom: 30px;
}

body.page-artists .artists-filter-bar{
    display:flex;
    align-items:center;
    gap:12px;
    margin:-8px 0 22px;
    flex-wrap:wrap;
}

body.page-artists .artists-filter-search{
    flex:1 1 320px;
}

body.page-artists .artists-filter-input{
    width:100%;
    min-height:48px;
    padding:12px 16px;
    border-radius:14px;
    border:1px solid #d9dde5;
    background:#f7f8fa;
    font-size:14px;
    font-weight:600;
    color:#1d2330;
    transition:border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

body.page-artists .artists-filter-input::placeholder{
    color:#7d8491;
}

body.page-artists .artists-filter-input:focus{
    outline:none;
    border-color:#9ba7ba;
    background:#ffffff;
    box-shadow:0 0 0 4px rgba(19,28,45,.08);
}

body.page-artists .artists-filter-chips{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}

body.page-artists .artists-filter-chip{
    min-height:42px;
    padding:0 14px;
    border-radius:999px;
    border:1px solid #dde2ea;
    background:#ffffff;
    color:#2a3241;
    font-size:13px;
    font-weight:800;
    letter-spacing:.01em;
    cursor:pointer;
    transition:transform .16s ease, border-color .16s ease, background-color .16s ease, color .16s ease, box-shadow .16s ease;
}

body.page-artists .artists-filter-chip:hover{
    transform:translateY(-1px);
    border-color:#c8cfda;
}

body.page-artists .artists-filter-chip.is-active{
    background:#141922;
    border-color:#141922;
    color:#ffffff;
    box-shadow:0 10px 24px rgba(20,25,34,.14);
}

body.page-artists .artists-filter-meta{
    min-height:42px;
    padding:0 14px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    background:#f1f3f7;
    color:#556072;
    font-size:13px;
    font-weight:800;
    white-space:nowrap;
}

body.page-artists .add-form input[type="text"],
body.page-artists .project-edit-form input[type="text"]{
    flex: 1;
    padding: 12px 16px;
    border-radius: 12px;
    border: 1px solid #ddd;
    font-size: 15px;
}

body.page-artists .project-collabs{
    margin-top:12px;
    display:flex;
    flex-direction:column;
    gap:8px;
    font-size:13px;
    color:#30323a;
}

body.page-artists .project-collabs__none{
    color:#7b808c;
}

body.page-artists .project-collabs__chips{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}

body.page-artists .project-chip-form{
    margin:0;
}

body.page-artists .btn-chip{
    background:#f3f4f6;
    color:#1e232d;
    border:1px solid #e2e5eb;
    padding:6px 10px;
    font-size:13px;
    font-weight:700;
}

body.page-artists .project-card__actions{
    margin-top:14px;
    display:flex;
    flex-direction:column;
    gap:8px;
}

body.page-artists .project-edit-form,
body.page-artists .project-collab-form{
    display:grid;
    grid-template-columns:1fr auto;
    gap:8px;
    align-items:center;
}

body.page-artists .project-collab-picker{
    position:relative;
    min-width:0;
}

body.page-artists .project-collab-form .project-collab-search{
    width:100%;
    min-height:44px;
    border:1px solid #d7dbe3;
    border-radius:12px;
    padding:10px 14px;
    font-size:14px;
    font-weight:700;
    color:#1a1f2a;
    background-color:#f7f8fa;
    transition:border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

body.page-artists .project-collab-form .project-collab-search:hover{
    border-color:#bfc6d2;
    background-color:#ffffff;
}

body.page-artists .project-collab-form .project-collab-search:focus{
    outline:none;
    border-color:#98a4b8;
    background-color:#ffffff;
    box-shadow:0 0 0 3px rgba(22,30,46,.10);
}

body.page-artists .project-collab-form .project-collab-search:disabled{
    cursor:not-allowed;
    color:#838b98;
    background:#eef1f5;
}

body.page-artists .project-collab-suggestions{
    position:absolute;
    top:calc(100% + 8px);
    left:0;
    right:0;
    z-index:12;
    display:grid;
    gap:6px;
    padding:8px;
    border-radius:16px;
    border:1px solid rgba(215,219,227,.9);
    background:#ffffff;
    box-shadow:0 18px 36px rgba(16,22,34,.18);
}

body.page-artists .project-collab-option{
    width:100%;
    min-height:40px;
    padding:0 12px;
    border-radius:12px;
    border:1px solid transparent;
    background:#f5f7fb;
    color:#1c2432;
    font-size:14px;
    font-weight:750;
    text-align:left;
    cursor:pointer;
    transition:background-color .16s ease, border-color .16s ease, transform .16s ease;
}

body.page-artists .project-collab-option:hover{
    background:#ffffff;
    border-color:#d7dce6;
    transform:translateY(-1px);
}

body.page-artists .project-collab-form button{
    justify-self:start;
}

@media (max-width: 768px){
    body.page-artists .artists-filter-bar{
        align-items:stretch;
    }

    body.page-artists .artists-filter-search,
    body.page-artists .artists-filter-meta{
        flex:1 1 100%;
    }
}

body.page-artists .project-empty{
    border:1px dashed #d8dbe0;
    border-radius:14px;
    padding:18px;
    color:#6f7480;
    font-weight:600;
    background:#fafbfc;
}

@media (max-width: 920px){
    body.page-artists .page-card{
        padding:24px 18px;
        margin:24px auto;
    }
    body.page-artists .project-grid{
        grid-template-columns:1fr;
    }
}


/* ===== Migrated from dashboard.php ===== */
.mobile-swipe-container{display:none;}
.swipe-stack{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:8px;
}
.swipe-card{
  position:relative;
  border-radius:18px;
  border:1px solid #e8e8e8;
  background:#fff;
  box-shadow:0 12px 28px rgba(0,0,0,.08);
  padding:18px 16px;
  touch-action:none;
  user-select:none;
  -webkit-user-select:none;
  transition:transform 250ms ease, opacity 250ms ease, background-color 250ms ease;
}
.swipe-card.is-hinting{
  will-change: transform;
}
.swipe-card.is-top{
  border-color:#dcdcdc;
  box-shadow:0 14px 30px rgba(0,0,0,.1);
}
.swipe-card.is-queued{
  opacity:.9;
  transform:translateY(0);
}
.swipe-card__artist{font-size:22px;font-weight:800;line-height:1.15;}
.swipe-card__location{margin-top:8px;font-size:16px;font-weight:600;color:#222;}
.swipe-card__date{margin-top:8px;font-size:14px;color:#555;}
.swipe-card__role{margin-top:12px;display:inline-flex;padding:4px 10px;border-radius:999px;background:#f5f5f5;font-size:12px;font-weight:700;color:#444;}
.swipe-feedback{
  position:absolute;
  top:14px;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  opacity:0;
  transition:opacity 120ms ease;
}
.swipe-feedback--yes{right:14px;background:rgba(34,197,94,.18);color:#0f6f30;border:1px solid rgba(34,197,94,.35);}
.swipe-feedback--no{left:14px;background:rgba(239,68,68,.18);color:#8e1e1e;border:1px solid rgba(239,68,68,.35);}
.swipe-empty{
  border:1px dashed #ddd;
  border-radius:16px;
  padding:18px 14px;
  color:#666;
  text-align:center;
  background:#fafafa;
}


/* ===== Migrated from create_event.php ===== */
.tb-ai-block{
  margin-bottom:2rem;
  padding:1.5rem;
  border-radius:20px;
  background:linear-gradient(145deg,#f9f9f9,#f2f2f2);
  border:1px solid #eaeaea;
}

.tb-ai-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.tb-ai-title{
  font-weight:800;
  font-size:1.1rem;
}

.tb-ai-toggle{
  background:#000;
  color:#fff;
  border:none;
  padding:.5rem 1rem;
  border-radius:999px;
  cursor:pointer;
}

.tb-ai-panel{
  display:none;
  margin-top:1.2rem;
}

.tb-ai-info{
  font-size:.9rem;
  opacity:.7;
  margin-bottom:1rem;
}

.tb-ai-upload{
  margin:1rem 0;
}

.tb-ai-preview{
  margin-top:1rem;
  display:flex;
  flex-direction:column;
  gap:.2rem;
  background:#fafafa;
  padding:1rem;
  border-radius:16px;
  border:1px solid #f0f0f0;
}

.tb-ai-row{
  display:flex;
  gap:.8rem;
  align-items:center;
  padding:.6rem 0;
  border-bottom:1px solid #f0f0f0;
}
.tb-btn--dark{
  background:#000;
  color:#fff;
  border:none;
}
.tb-ai-row .tb-ai-remove{
  width:36px;
  height:36px;
  border-radius:50%;
  border:none;
  background:#f5f5f5;
  color:#000;
  font-weight:700;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:all .15s ease;
}

.tb-ai-row .tb-ai-remove:hover{
  background:#ffebeb;
  color:#c00;
  transform:scale(1.05);
}
.tb-ai-hint{
  font-size:.85rem;
  opacity:.75;
  margin-top:.6rem;
}
.tb-ai-progress{
  margin-top:.8rem;
  font-size:.9rem;
}

.tb-ai-error{
  color:#c00;
  font-size:.9rem;
}
.tb-create .create-row{
  display:flex;
  gap:1rem;
  align-items:center;
}

.tb-create .create-row--venue{
  margin-top:1rem;
  align-items:center;
}

/* Create row sizing: compact date, flexible location */
.tb-create .create-row > input[type="date"]{
  flex:0 0 220px;
  max-width:240px;
}

.tb-create .create-row > input[name="location"]{
  flex:1 1 auto;
  min-width:280px;
}

@media (max-width: 900px){
  .tb-create .create-row{
    flex-direction:column;
    align-items:stretch;
  }
  .tb-create .create-row > input[type="date"],
  .tb-create .create-row > input[name="location"]{
    flex:1 1 auto;
    max-width:none;
    min-width:0;
  }
}

.input-big{
  font-size:1.05rem;
  padding:1rem 1.2rem;
}

.tb-tbc-toggle{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  padding:.75rem .95rem;
  border:1px solid #e2e2e2;
  border-radius:14px;
  background:#fff;
  cursor:pointer;
  min-height:56px;
  box-sizing:border-box;
}
.tb-tbc-toggle input{
  display:none;
}
.tb-tbc-toggle-ui{
  width:22px;
  height:22px;
  border-radius:8px;
  border:2px solid #c7c7c7;
  background:#fff;
  display:inline-block;
  position:relative;
  transition:all .16s ease;
  flex:0 0 22px;
}
.tb-tbc-toggle input:checked + .tb-tbc-toggle-ui{
  background:#111;
  border-color:#111;
}
.tb-tbc-toggle input:checked + .tb-tbc-toggle-ui::after{
  content:"";
  position:absolute;
  left:6px;
  top:2px;
  width:5px;
  height:10px;
  border:2px solid #fff;
  border-top:none;
  border-left:none;
  transform:rotate(45deg);
}
.tb-tbc-label{
  font-size:.92rem;
  font-weight:600;
  color:#222;
  line-height:1.2;
}

.section-label{
  font-weight:800;
  margin:.5rem 0;
}

.search-results{
  background:#fff;
  border-radius:12px;
  box-shadow:0 10px 25px rgba(0,0,0,.08);
  margin-top:.4rem;
}

.search-item{
  padding:.6rem 1rem;
  cursor:pointer;
}

.search-item:hover{
  background:#f3f3f3;
}

.chip-container{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  margin-top:.6rem;
}

.chip{
  background:#000;
  color:#fff;
  padding:.4rem .9rem;
  border-radius:999px;
  font-size:.85rem;
}

.chip-remove{
  margin-left:.6rem;
  cursor:pointer;
}

.btn-large{
  margin-top:1.5rem;
  width:100%;
  padding:1rem;
  font-size:1rem;
}
  .tb-bulk-success{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.4);
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:9999;
    backdrop-filter:blur(6px);
    transition:opacity .3s ease;
  }

  .tb-bulk-success.hide{
    opacity:0;
  }

  .tb-bulk-success-box{
    background:#fff;
    padding:2rem 2.5rem;
    border-radius:24px;
    text-align:center;
    box-shadow:0 30px 80px rgba(0,0,0,.2);
    animation:tbPop .2s ease-out;
  }

  .tb-bulk-check{
    font-size:2.5rem;
    color:#1db954;
    margin-bottom:.5rem;
  }

  .tb-bulk-title{
    font-weight:800;
    font-size:1.2rem;
    margin-bottom:.3rem;
  }

  .tb-bulk-sub{
    font-size:.9rem;
    opacity:.7;
  }

  @keyframes tbPop{
    from{ transform:scale(.9); opacity:0; }
    to{ transform:scale(1); opacity:1; }
  }
  .tb-btn--ai-save{
    margin-top:1.4rem;
    width:100%;
    padding:1.2rem;
    font-size:1.05rem;
    font-weight:800;
    border:none;
    border-radius:20px;
    background:linear-gradient(135deg,#000,#333);
    color:#fff;
    box-shadow:0 15px 40px rgba(0,0,0,.3);
    transition:all .2s ease;
  }

  .tb-btn--ai-save:hover{
    transform:translateY(-3px);
    box-shadow:0 20px 50px rgba(0,0,0,.4);
  }


/* ===== Migrated from manage_events.php ===== */
/* Full width manage header inside table */
.event-table-topbar {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 28px;
    gap: 20px;
}

.event-table-title h1 {
    font-size: 28px;
    font-weight: 700;
    margin: 0;
}

.event-table-title-row {
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
}

.event-table-title-row .overlap-toggle {
    height: 40px;
    padding: 0 16px;
    border-radius: 14px;
}

 .event-table-filter {
    max-width: 420px;
    width: 100%;
    margin-left: auto; /* push filter fully to the right */
    display: flex;
    justify-content: flex-end;
    min-width: 0;
}

.filter-row {
    display: flex;
    gap: 12px;
    align-items: center;
    width: 100%;
    justify-content: flex-end; /* ensure multi-filter aligns right */
}

@media (max-width: 1340px) {
    .event-table-topbar {
        display: grid;
        grid-template-columns: 1fr;
        gap: 18px;
        align-items: stretch;
    }

    .event-table-title-row {
        flex-wrap: wrap;
        gap: 12px;
    }

    .event-table-title-row h1 {
        flex: 0 0 100%;
        margin-bottom: 2px;
    }

    .event-table-filter {
        max-width: none;
        width: 100%;
        margin-left: 0;
        justify-content: flex-start;
    }

    .filter-row {
        justify-content: flex-start;
    }

    .multi-filter {
        width: min(100%, 560px);
        margin-top: 0;
    }
}

@media (max-width: 1080px) {
    .event-table-title-row {
        gap: 10px;
    }

    .event-table-title-row .overlap-toggle {
        flex: 1 1 150px;
        min-width: 0;
        justify-content: center;
        padding: 0 14px;
    }

    #quick-add-toggle {
        flex: 0 0 62px;
    }

    .multi-filter {
        width: 100%;
    }
}

.overlap-toggle {
    flex: 0 0 auto;
    height: 44px;
    padding: 0 14px;
    border-radius: 14px;
    border: 1px solid #e6e6e6;
    background: #fff;
    color: #111;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.2px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.overlap-toggle:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    background: #f2f2f2;
    color: #777;
}

.overlap-toggle:hover {
    background: #000;
    color: #fff;
}

.overlap-toggle.is-on {
    background: #000;
    color: #fff;
    border-color: #000;
}

body.page-manage-events.is-preplan-mode .event-table-wide,
body.page-manage-events .event-table-wide.is-preplan-mode {
    background:
      linear-gradient(180deg, rgba(255,255,255,0.96) 0%, rgba(250,244,229,0.98) 100%);
    border: 1px dashed #b89143;
    box-shadow:
      0 18px 40px rgba(120, 86, 23, 0.12),
      0 0 0 1px rgba(255,255,255,0.72) inset;
}

body.page-manage-events.is-preplan-mode .event-table-wide::before,
body.page-manage-events .event-table-wide.is-preplan-mode::before {
    box-shadow:
      0 0 0 1px rgba(255,255,255,0.5) inset,
      0 0 0 3px rgba(184,145,67,0.14);
}

body.page-manage-events.is-preplan-mode .event-table-wide::after,
body.page-manage-events .event-table-wide.is-preplan-mode::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 24px;
    pointer-events: none;
    background:
      linear-gradient(135deg, rgba(222,181,97,0.06), transparent 40%, rgba(222,181,97,0.08));
}


@keyframes overlapShimmer {
    0%   { background-position: 0% 50%; }
    100% { background-position: 200% 50%; }
}

.overlap-toggle.is-on {
    background: #000;
    color: #fff;
    border-color: #000;
}

/* --- Overlap Gold (2 overlaps) --- */
.event-row.overlap-gold {
    position: relative;
    border: 1px solid #c9a227;
    background: linear-gradient(
        to right,
        rgba(201,162,39,0.06),
        rgba(201,162,39,0.02)
    );
    box-shadow: 0 0 0 1px rgba(201,162,39,0.15);
    overflow: hidden;
}

.event-row.overlap-gold::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 14px;
    padding: 1px;
    background: linear-gradient(
        120deg,
        rgba(201,162,39,0.2),
        rgba(255,215,120,0.8),
        rgba(201,162,39,0.2)
    );
    background-size: 200% 200%;
    animation: overlapShimmer 2.4s linear infinite;
    -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}

/* --- Overlap Red (3+ overlaps) --- */
.event-row.overlap-red {
    position: relative;
    border: 1px solid #b32626;
    background: linear-gradient(
        to right,
        rgba(179,38,38,0.06),
        rgba(179,38,38,0.02)
    );
    box-shadow: 0 0 0 1px rgba(179,38,38,0.18);
    overflow: hidden;
}

.event-row.overlap-red::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 14px;
    padding: 1px;
    background: linear-gradient(
        120deg,
        rgba(179,38,38,0.2),
        rgba(255,80,80,0.8),
        rgba(179,38,38,0.2)
    );
    background-size: 200% 200%;
    animation: overlapShimmer 2.4s linear infinite;
    -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}

/* Badge styles */
.overlap-badge {
    display: inline-flex;
    align-items: center;
    margin-left: 8px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    vertical-align: middle;
}

.overlap-badge-gold {
    background: rgba(201,162,39,0.18);
    color: #8a6d00;
}

.overlap-badge-red {
    background: rgba(179,38,38,0.18);
    color: #8f1f1f;
}

/* --- Multi Filter (compare) --- */
.multi-filter {
    margin-top: 10px;
    background: #f6f6f6;
    border: 1px solid #e6e6e6;
    border-radius: 14px;
    padding: 10px 12px;
    position: relative;
}

.multi-filter-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 8px;
}

.multi-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border-radius: 18px;
    background: #000;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
}

.multi-pill-x {
    cursor: pointer;
    opacity: 0.75;
    font-weight: 800;
}

.multi-pill-x:hover {
    opacity: 1;
}

.multi-filter-input {
    width: 100%;
    border: 1px solid #ddd;
    background: #fff;
    border-radius: 12px;
    padding: 10px 12px;
    font-size: 13px;
    outline: none;
}

.multi-filter-suggestions {
    display: none;
    position: absolute;
    left: 12px;
    right: 12px;
    top: calc(100% + 6px);
    background: #fff;
    border: 1px solid #eee;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(0,0,0,0.08);
    z-index: 10000;
}

.multi-suggestion {
    padding: 10px 12px;
    cursor: pointer;
    font-size: 13px;
    border-bottom: 1px solid #f2f2f2;
}

.multi-suggestion:last-child {
    border-bottom: none;
}

.multi-suggestion:hover {
    background: #000;
    color: #fff;
}

body {
    overflow-x: hidden;
}

/* Full-bleed area so the table can be wider than the default page container */
.event-table-outer {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    padding: 0 60px 60px; /* distance from viewport edges */
    box-sizing: border-box;
}

@media (max-width: 900px) {
    .event-table-outer {
        padding: 0 18px 40px;
    }
}

.event-table-wide {
    max-width: none;
    width: 100%;
    background: #fff;
    border-radius: 24px;
    padding: 24px 32px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.06);
}

.dash {
    color: #aaa;
    font-weight: 600;
}

.event-table {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.event-table-head {
    display: grid;
    grid-template-columns: 66px 118px .95fr .95fr 190px 1.45fr 1fr 92px 64px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    color: #999;
    padding: 10px 14px;
}

.month-separator {
    margin-top: 18px;
    margin-bottom: 6px;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    color: #666;
    padding-left: 6px;
}

 .event-row {
    display: grid;
    grid-template-columns: 66px 118px .95fr .95fr 190px 1.45fr 1fr 92px 64px;
    align-items: center;
    background: #f5f5f5;
    border-radius: 14px;
    padding: 12px 14px;
    transition: all 0.15s ease;
    border: 1px solid #eee;
}

.event-row--readonly {
    background: #eceff3;
    border-color: #d5d9e1;
    color: #727781;
    box-shadow: inset 4px 0 0 rgba(120, 126, 138, 0.35);
}

.event-row--readonly .event-date,
.event-row--readonly .event-location,
.event-row--readonly .event-venue,
.event-row--readonly .event-artist {
    color: #5f6570;
}

.event-row--readonly .editable {
    cursor: default;
}

.event-row--readonly .event-duplicate-btn,
.event-row--readonly .btn-delete,
.event-row--readonly .status-toggle,
.event-row--readonly .event-row-select {
    opacity: 0.38;
    cursor: not-allowed;
}

.tbc-row {
    background: repeating-linear-gradient(
      45deg,
      rgba(200,200,200,0.15),
      rgba(200,200,200,0.15) 6px,
      rgba(200,200,200,0.25) 6px,
      rgba(200,200,200,0.25) 12px
    );
    box-shadow: inset 4px 0 0 rgba(30,30,30,.42);
}

.event-row.tbc-row.overlap-gold {
    background:
      repeating-linear-gradient(
        45deg,
        rgba(200,200,200,0.15),
        rgba(200,200,200,0.15) 6px,
        rgba(200,200,200,0.25) 6px,
        rgba(200,200,200,0.25) 12px
      ),
      linear-gradient(
        to right,
        rgba(201,162,39,0.09),
        rgba(201,162,39,0.03)
      );
}

.event-row.tbc-row.overlap-red {
    background:
      repeating-linear-gradient(
        45deg,
        rgba(200,200,200,0.15),
        rgba(200,200,200,0.15) 6px,
        rgba(200,200,200,0.25) 6px,
        rgba(200,200,200,0.25) 12px
      ),
      linear-gradient(
        to right,
        rgba(179,38,38,0.09),
        rgba(179,38,38,0.03)
      );
}

.head-select,
.event-select-cell {
    display: flex;
    align-items: center;
    justify-content: center;
}

.event-select-cell {
    gap: 4px;
    justify-content: flex-start;
}

.head-select {
    flex-direction: column;
    gap: 8px;
}

#select-all-events,
.event-row-select {
    width: 16px;
    height: 16px;
    cursor: pointer;
}

.event-duplicate-btn {
    width: 19px;
    height: 19px;
    border: 1px solid #d7dbe5;
    border-radius: 6px;
    background: rgba(255,255,255,0.92);
    color: #495264;
    font-size: 11px;
    line-height: 1;
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    transform: translateX(-3px);
    transition: opacity 0.14s ease, transform 0.14s ease, border-color 0.14s ease, color 0.14s ease, background 0.14s ease;
    padding: 0;
}

.event-row:hover .event-duplicate-btn,
.event-row:focus-within .event-duplicate-btn,
.event-duplicate-btn.is-loading {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0);
}

.event-duplicate-btn:hover,
.event-duplicate-btn:focus-visible {
    border-color: #b5bfd4;
    color: #1d2430;
    background: #fff;
    outline: none;
}

.event-duplicate-btn:disabled {
    cursor: wait;
}

.editable {
    cursor: text;
}

.event-status {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.status-toggle {
    min-width: 78px;
    height: 26px;
    border-radius: 999px;
    border: 1px solid #dcdcdc;
    background: #fff;
    color: #222;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .02em;
    cursor: pointer;
    transition: all .16s ease;
    padding: 0 10px;
}

.status-toggle:hover {
    transform: translateY(-1px);
}

.status-toggle:disabled {
    opacity: .55;
    cursor: wait;
}

.status-toggle.is-tbc {
    background: #2a2a2a;
    color: #fff;
    border-color: #2a2a2a;
}

.status-toggle.is-confirmed {
    background: #f2f8f3;
    color: #2d6c3f;
    border-color: #cce4d3;
}

.inline-edit-input {
    width: 100%;
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 6px 8px;
    font-size: 13px;
    background: #fff;
}

.event-row.flash {
    border-color: rgba(0,0,0,0.35);
    box-shadow: 0 0 0 2px rgba(0,0,0,0.08);
}

.event-row.preplan-row-changed {
    border-color: rgba(184,145,67,0.5);
    box-shadow: 0 0 0 1px rgba(184,145,67,0.16);
}

.popup, .modal {
    z-index: 9999;
}

.event-row:hover {
    background: #ececec;
}

.tbc-row:hover {
    background: repeating-linear-gradient(
      45deg,
      rgba(200,200,200,0.2),
      rgba(200,200,200,0.2) 6px,
      rgba(200,200,200,0.3) 6px,
      rgba(200,200,200,0.3) 12px
    );
}


.event-date {
    font-weight: 600;
}

.event-artist {
    font-weight: 500;
}

.event-availability,
.event-confirmed {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.availability-tag {
    padding: 6px 12px;
    border-radius: 22px;
    font-size: 12px;
    cursor: pointer;
    font-weight: 500;
    transition: all 0.15s ease;
    border: 1px solid transparent;
}

.availability-tag:hover {
    transform: translateY(-1px);
    opacity: 0.9;
}

.tag-confirmed {
    padding: 6px 12px;
    border-radius: 22px;
    font-size: 12px;
    background: #000;
    color: #fff;
    font-weight: 600;
}
.tag-confirmed.clickable {
    cursor: pointer;
}

.tag-confirmed.is-preplanned {
    background: linear-gradient(135deg, #5f4714, #ba8f35);
    box-shadow: 0 8px 20px rgba(186,143,53,0.22);
}

.tag-green {
    background: #1f8f3a;
    color: #fff;
}

.tag-red {
    background: #c93737;
    color: #fff;
}

.tag-neutral {
    background: #bbb;
    color: #fff;
}

.tag-add {
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: #e5e5e5;
    border-radius: 50%;
    width: 28px;
    height: 28px;
    cursor: pointer;
    font-weight: 700;
    font-size: 16px;
    line-height: 1;
    padding: 0;
    transition: all 0.15s ease;
}

.tag-add:hover {
    background: #000;
    color: #fff;
}

.readonly-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #d9dde5;
    color: #626977;
    cursor: default;
}

.readonly-icon svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.btn-delete {
    border: none;
    background: #e54848;
    color: #fff;
    border-radius: 10px;
    padding: 6px 10px;
    cursor: pointer;
}

.btn-delete:hover {
    background: #c73737;
}

.align-right {
    text-align: right;
}

.empty-state {
    padding: 20px;
    text-align: center;
    color: #777;
}

.modal {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.4);
    justify-content: center;
    align-items: center;
}

.modal-content {
    background: #fff;
    padding: 24px;
    border-radius: 16px;
    width: 400px;
}

.popup {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.4);
    justify-content: center;
    align-items: center;
}

.popup-content {
    background: #fff;
    padding: 20px;
    border-radius: 16px;
    width: 320px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.btn-primary {
    background: #000;
    color: #fff;
    border: none;
    padding: 8px 14px;
    border-radius: 10px;
    cursor: pointer;
}

.btn-success {
    background: #1f8f3a;
    color: #fff;
    border: none;
    padding: 8px 14px;
    border-radius: 10px;
    cursor: pointer;
}

.btn-neutral {
    background: #999;
    color: #fff;
    border: none;
    padding: 8px 14px;
    border-radius: 10px;
    cursor: pointer;
}

.btn-danger {
    background: #c93737;
    color: #fff;
    border: none;
    padding: 8px 14px;
    border-radius: 10px;
    cursor: pointer;
}

.input-modern,
.select-modern {
    width: 100%;
    padding: 8px 10px;
    border-radius: 10px;
    border: 1px solid #ddd;
    margin-bottom: 10px;
}
    /* --- Autocomplete & Modal Extra Styles --- */
    .autocomplete-list {
        margin-top: 8px;
        border-radius: 14px;
        overflow: hidden;
        border: 1px solid #eee;
        max-height: 200px;
        overflow-y: auto;
        background: #fff;
        box-shadow: 0 8px 20px rgba(0,0,0,0.06);
    }

    .autocomplete-item {
        padding: 10px 14px;
        cursor: pointer;
        font-size: 14px;
        font-weight: 500;
        border-bottom: 1px solid #f1f1f1;
        transition: background 0.15s ease;
    }

    .autocomplete-item:last-child {
        border-bottom: none;
    }

    .autocomplete-item:hover {
        background: #000;
        color: #fff;
    }

    .selected-user-tags {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 10px;
    }

    .selected-user-tag {
        background: #000;
        color: #fff;
        padding: 6px 12px;
        border-radius: 20px;
        font-size: 12px;
        font-weight: 500;
        display: flex;
        align-items: center;
        gap: 6px;
    }

    .selected-user-tag span {
        cursor: pointer;
        font-weight: 700;
        opacity: 0.7;
    }

    .selected-user-tag span:hover {
        opacity: 1;
    }

    .btn-primary {
        background: #000;
        color: #fff;
        border: none;
        padding: 10px 16px;
        border-radius: 12px;
        cursor: pointer;
        font-weight: 600;
        transition: all 0.15s ease;
    }

    .btn-primary:hover {
        background: #222;
        transform: translateY(-1px);
    }

    .modal-content {
        background: #fff;
        padding: 28px;
        border-radius: 20px;
        width: 420px;
        box-shadow: 0 20px 60px rgba(0,0,0,0.12);
    }

    .close-button {
        cursor: pointer;
        font-size: 18px;
        opacity: 0.6;
    }

    .close-button:hover {
        opacity: 1;
    }
/* Modal Section, Label, and Frequent Users Styles */
.modal-section {
    margin-bottom: 18px;
}

.modal-label {
    display: block;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #777;
    margin-bottom: 8px;
}

.frequent-users {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.frequent-user-pill {
    background: #f0f0f0;
    padding: 6px 12px;
    border-radius: 18px;
    font-size: 12px;
    cursor: pointer;
    font-weight: 500;
    transition: all 0.15s ease;
}

.frequent-user-pill:hover {
    background: #000;
    color: #fff;
    transform: translateY(-1px);
}
/* Quick Create modal */
#quick-add-modal .quick-add-content.quick-create-content {
    width: min(760px, 92vw);
    max-height: min(86vh, 860px);
    display: flex;
    flex-direction: column;
    overflow: auto;
    color: #f3f4f7;
    background:
      radial-gradient(120% 140% at 0% 0%, rgba(74,98,180,0.16), transparent 42%),
      radial-gradient(110% 120% at 100% 100%, rgba(255,123,167,0.1), transparent 46%),
      linear-gradient(160deg, rgba(20,23,34,0.97), rgba(14,17,26,0.98));
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow:
      0 28px 90px rgba(0,0,0,0.32),
      inset 0 1px 0 rgba(255,255,255,0.08);
}

#quick-add-modal .quick-create-content .modal-title {
    color: #f7f8fb;
}

#quick-add-modal .quick-create-content .close-button {
    color: rgba(241,244,250,0.76);
}

#quick-add-modal .quick-create-content .close-button:hover {
    color: #fff;
}

.quick-create-intro {
    margin: -2px 0 18px;
    color: rgba(225,230,240,0.82);
    font-size: 14px;
}

.quick-create-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.quick-create-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.quick-create-grid--top {
    grid-template-columns: minmax(0, 1.3fr) minmax(180px, 0.7fr);
}

.quick-create-grid--people {
    align-items: start;
}

.quick-create-field {
    position: relative;
    min-width: 0;
}

.quick-create-token-field {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 62px;
    padding: 8px 12px;
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.03));
    border: 1px solid rgba(255,255,255,0.12);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
    overflow-x: auto;
    overflow-y: hidden;
}

.quick-create-token-field:focus-within {
    border-color: rgba(134,166,255,0.42);
    box-shadow:
      0 0 0 3px rgba(99,128,214,0.16),
      inset 0 1px 0 rgba(255,255,255,0.06);
}

.quick-create-token-field .input-modern {
    width: auto;
    min-width: 180px;
    flex: 1 0 180px;
    padding: 0;
    border: none;
    background: transparent;
    box-shadow: none;
}

.quick-create-token-field .input-modern:focus {
    box-shadow: none;
}

.quick-create-project-field .input-modern {
    padding-right: 48px;
}

.quick-create-project-field .input-modern.has-selection {
    color: #fff8ea;
    font-weight: 700;
}

.quick-create-project-clear {
    position: absolute;
    top: 45px;
    right: 12px;
    width: 28px;
    height: 28px;
    border: none;
    border-radius: 999px;
    background: rgba(255,255,255,0.08);
    color: rgba(245,247,251,0.86);
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s ease, color 0.15s ease;
    z-index: 2;
}

.quick-create-project-clear:hover {
    background: rgba(255,255,255,0.14);
    color: #fff;
}

.quick-create-chip-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    min-height: 16px;
    margin: 0 0 10px;
}

.quick-create-chip-wrap:empty {
    min-height: 0;
    margin: 0;
}

.quick-create-chip-wrap--inline {
    flex-wrap: nowrap;
    align-items: center;
    min-height: auto;
    margin: 0;
}

.quick-create-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
}

.quick-create-chip--project {
    background: linear-gradient(135deg, rgba(255,255,255,0.14), rgba(255,255,255,0.08));
    color: #fff8ea;
    border: 1px solid rgba(255,255,255,0.12);
}

.quick-create-chip--request {
    background: linear-gradient(180deg, rgba(34,108,61,0.28), rgba(23,76,43,0.28));
    color: #d7f7df;
    border: 1px solid rgba(97,195,126,0.26);
}

.quick-create-chip--confirm {
    background: linear-gradient(180deg, rgba(8,9,12,0.98), rgba(15,16,20,0.98));
    color: #fff;
    border: 1px solid rgba(255,255,255,0.08);
}

.quick-create-chip__remove {
    border: none;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font-size: 14px;
    line-height: 1;
    padding: 0;
    opacity: 0.74;
}

.quick-create-chip__remove:hover {
    opacity: 1;
}

.quick-create-results {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 1px);
    background: linear-gradient(180deg, rgba(20,21,24,0.98), rgba(12,13,16,0.98));
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 14px;
    box-shadow: 0 18px 40px rgba(0,0,0,0.22);
    overflow: hidden;
    z-index: 10030;
}

.quick-create-result {
    width: 100%;
    border: none;
    background: transparent;
    color: #f4f5f7;
    text-align: left;
    padding: 11px 13px;
    font-size: 13px;
    cursor: pointer;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}

.quick-create-result:last-child {
    border-bottom: none;
}

.quick-create-result:hover {
    background: rgba(255,255,255,0.08);
}

.quick-create-toggle {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    width: fit-content;
    padding: 10px 16px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03));
    border: 1px solid rgba(255,255,255,0.12);
    cursor: pointer;
    font-weight: 700;
    color: #f0f3f8;
    transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.quick-create-toggle input {
    display: none;
}

.quick-create-toggle__ui {
    position: relative;
    width: 46px;
    height: 28px;
    border-radius: 999px;
    background: rgba(255,255,255,0.18);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08);
    transition: background 0.18s ease, box-shadow 0.18s ease;
}

.quick-create-toggle__ui::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.24);
    transition: transform 0.18s ease, background 0.18s ease;
}

.quick-create-toggle__label {
    letter-spacing: 0.01em;
}

.quick-create-toggle:hover {
    background: linear-gradient(180deg, rgba(255,255,255,0.09), rgba(255,255,255,0.05));
}

.quick-create-toggle input:checked + .quick-create-toggle__ui {
    background: linear-gradient(135deg, #4ee082, #24b45d);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.14), 0 0 0 1px rgba(78,224,130,0.18);
}

.quick-create-toggle input:checked + .quick-create-toggle__ui::after {
    transform: translateX(18px);
}

.quick-create-toggle:has(input:checked) {
    border-color: rgba(78,224,130,0.28);
    background: linear-gradient(180deg, rgba(53,126,80,0.2), rgba(27,79,47,0.16));
    box-shadow: 0 0 0 1px rgba(78,224,130,0.08) inset;
}

#quick-add-modal .quick-add-actions {
    margin-top: 18px;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

#quick-add-modal .quick-create-content .modal-label {
    color: rgba(226,231,240,0.72);
}

#quick-add-modal .quick-create-content .input-modern {
    background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.03));
    color: #f5f7fb;
    border: 1px solid rgba(255,255,255,0.12);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

#quick-add-modal .quick-create-content .input-modern:focus {
    outline: none;
    border-color: rgba(134,166,255,0.42);
    box-shadow:
      0 0 0 3px rgba(99,128,214,0.16),
      inset 0 1px 0 rgba(255,255,255,0.06);
}

#quick-add-modal .quick-create-content .input-modern::placeholder {
    color: rgba(222,227,236,0.48);
}

#quick-add-modal .quick-create-content .quick-create-token-field .input-modern {
    background: transparent;
    border: none;
    box-shadow: none;
}

#quick-add-modal .quick-create-content input[type="date"] {
    color-scheme: dark;
}

#quick-add-modal .quick-create-content .btn-neutral {
    background: rgba(255,255,255,0.12);
    color: #f1f4fa;
    border: 1px solid rgba(255,255,255,0.1);
}

#quick-add-modal .quick-create-content .btn-neutral:hover {
    background: rgba(255,255,255,0.18);
}

#quick-add-modal .quick-create-content .btn-primary {
    background: linear-gradient(135deg, #f6f7fb, #ffffff);
    color: #101217;
}

#quick-add-modal .quick-create-content .btn-primary:hover {
    background: linear-gradient(135deg, #ffffff, #eef1f8);
}

@media (max-width: 760px) {
    .quick-create-grid,
    .quick-create-grid--top {
        grid-template-columns: 1fr;
    }

    #quick-add-modal .quick-add-actions {
        flex-direction: column-reverse;
    }

    #quick-add-modal .quick-add-actions .btn-primary,
    #quick-add-modal .quick-add-actions .btn-neutral {
        width: 100%;
    }
}

.bulk-confirm-content {
    width: min(620px, 92vw);
    max-height: min(84vh, 820px);
    display: flex;
    flex-direction: column;
    color: #f3f4f7;
    background:
      radial-gradient(110% 120% at 0% 0%, rgba(74,98,180,0.14), transparent 42%),
      radial-gradient(90% 100% at 100% 100%, rgba(99,217,144,0.09), transparent 48%),
      linear-gradient(160deg, rgba(20,23,34,0.97), rgba(14,17,26,0.98));
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow:
      0 28px 90px rgba(0,0,0,0.32),
      inset 0 1px 0 rgba(255,255,255,0.08);
}

.bulk-confirm-intro {
    margin: -2px 0 16px;
    color: rgba(225,230,240,0.82);
    font-size: 14px;
    line-height: 1.5;
}

.bulk-action-switch {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 14px;
}

.bulk-action-pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.12);
    background: rgba(255,255,255,0.05);
    color: rgba(241,244,250,0.8);
    cursor: pointer;
    font-size: 13px;
    font-weight: 700;
    transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease, transform 0.16s ease;
}

.bulk-action-pill strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 24px;
    padding: 0 7px;
    border-radius: 999px;
    background: rgba(255,255,255,0.1);
    color: #fff;
    font-size: 12px;
}

.bulk-action-pill:hover:not(:disabled) {
    transform: translateY(-1px);
    background: rgba(255,255,255,0.09);
    color: #fff;
}

.bulk-action-pill.is-active {
    background: linear-gradient(135deg, rgba(96,222,141,0.18), rgba(44,137,82,0.2));
    border-color: rgba(96,222,141,0.34);
    color: #f5fff8;
}

.bulk-action-pill.is-active strong {
    background: rgba(96,222,141,0.18);
    color: #dff8e8;
}

.bulk-action-pill:disabled {
    opacity: 0.42;
    cursor: not-allowed;
}

.bulk-confirm-summary {
    margin: 0 0 10px 0;
    color: rgba(226,231,240,0.78);
    font-size: 13px;
    line-height: 1.5;
}

#bulk-confirm-modal .bulk-confirm-content .input-modern {
    background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.03));
    color: #f5f7fb;
    border: 1px solid rgba(255,255,255,0.12);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

#bulk-confirm-modal .bulk-confirm-content .input-modern:focus {
    outline: none;
    border-color: rgba(134,166,255,0.42);
    box-shadow:
      0 0 0 3px rgba(99,128,214,0.16),
      inset 0 1px 0 rgba(255,255,255,0.06);
}

#bulk-confirm-modal .bulk-confirm-content .input-modern::placeholder {
    color: rgba(222,227,236,0.48);
}

.bulk-confirm-toolbar {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin: -2px 0 10px;
}

.bulk-toolbar-button {
    border: none;
    background: transparent;
    color: rgba(200,214,255,0.82);
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.01em;
    padding: 2px 0;
}

.bulk-toolbar-button:hover {
    color: #fff;
}

.bulk-user-list {
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 18px;
    max-height: 320px;
    overflow: auto;
    padding: 8px;
    background: rgba(9,11,17,0.48);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
}

.bulk-user-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 14px;
    cursor: pointer;
    font-size: 13px;
    transition: background 0.15s ease, transform 0.15s ease;
}

.bulk-user-item:hover {
    background: rgba(255,255,255,0.06);
    transform: translateY(-1px);
}

.bulk-user-checkbox {
    margin-top: 2px;
    accent-color: #4ee082;
}

.bulk-user-copy {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.bulk-user-name {
    color: #f7f9fc;
    font-weight: 700;
}

.bulk-user-meta {
    color: rgba(216,222,235,0.62);
    font-size: 12px;
}

.bulk-user-empty {
    padding: 18px 16px;
    color: rgba(216,222,235,0.68);
    font-size: 13px;
    line-height: 1.5;
}

.bulk-confirm-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 14px;
}

#bulk-confirm-modal .bulk-confirm-content .btn-neutral {
    background: rgba(255,255,255,0.12);
    color: #f1f4fa;
    border: 1px solid rgba(255,255,255,0.1);
}

#bulk-confirm-modal .bulk-confirm-content .btn-neutral:hover {
    background: rgba(255,255,255,0.18);
}

#bulk-confirm-modal .bulk-confirm-content .btn-success {
    background: linear-gradient(135deg, #4ee082, #24b45d);
    color: #08110b;
}

#bulk-confirm-modal .bulk-confirm-content .btn-success:hover {
    background: linear-gradient(135deg, #62e58f, #30c467);
}

@media (max-width: 760px) {
    .bulk-action-switch {
        gap: 8px;
    }

    .bulk-action-pill {
        flex: 1 1 calc(50% - 8px);
        justify-content: space-between;
    }

    .bulk-confirm-toolbar {
        flex-wrap: wrap;
    }

    .bulk-confirm-actions {
        flex-direction: column-reverse;
    }

    .bulk-confirm-actions .btn-neutral,
    .bulk-confirm-actions .btn-success {
        width: 100%;
    }
}

.preplan-apply-bar {
    position: fixed;
    left: 50%;
    bottom: 24px;
    transform: translateX(-50%);
    width: min(760px, calc(100vw - 28px));
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 16px 18px;
    border-radius: 20px;
    background:
      linear-gradient(135deg, rgba(30,24,15,0.96), rgba(74,54,18,0.96));
    color: #f7f1e3;
    border: 1px solid rgba(214,179,111,0.42);
    box-shadow: 0 20px 50px rgba(0,0,0,0.24);
    z-index: 10020;
}

.preplan-apply-bar[hidden] {
    display: none !important;
}

.preplan-apply-bar__copy {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.preplan-apply-bar__copy strong {
    font-size: 15px;
    color: #fff6dd;
}

.preplan-apply-bar__copy span {
    font-size: 13px;
    color: rgba(255,245,222,0.84);
    line-height: 1.45;
}

.preplan-apply-bar__actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.preplan-apply-bar .btn-neutral {
    background: rgba(255,255,255,0.14);
    color: #fff;
    border: 1px solid rgba(255,255,255,0.16);
}

.preplan-apply-bar .btn-neutral:hover {
    background: rgba(255,255,255,0.2);
}

@media (max-width: 720px) {
    .preplan-apply-bar {
        flex-direction: column;
        align-items: stretch;
        bottom: 16px;
    }

    .preplan-apply-bar__actions {
        justify-content: stretch;
    }

    .preplan-apply-bar__actions .btn-neutral,
    .preplan-apply-bar__actions .btn-success {
        flex: 1 1 0;
    }
}

.duplicate-confirm-content {
    width: min(560px, 92vw);
    background:
        linear-gradient(160deg, rgba(255,255,255,0.96), rgba(245,245,245,0.92));
    border: 1px solid rgba(255,255,255,0.7);
    box-shadow:
        0 28px 90px rgba(0,0,0,0.16),
        inset 0 1px 0 rgba(255,255,255,0.55);
    backdrop-filter: blur(18px);
}

.duplicate-confirm-content .close-button {
    background: none;
    box-shadow: none;
    width: auto;
    height: auto;
    border-radius: 0;
    color: inherit;
    transition: none;
}

.duplicate-confirm-content .close-button:hover {
    background: none;
    color: inherit;
    transform: none;
}

.duplicate-confirm-content .modal-title {
    margin-top: 0;
}

.duplicate-confirm-copy {
    margin: 14px 0 0;
    color: #454545;
    font-size: 14px;
    line-height: 1.55;
}

.duplicate-confirm-list {
    margin-top: 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.duplicate-confirm-item {
    padding: 14px 16px;
    border-radius: 16px;
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(20,20,20,0.08);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.7);
}

.duplicate-confirm-item-title {
    font-size: 14px;
    font-weight: 700;
    color: #151515;
}

.duplicate-confirm-item-meta {
    margin-top: 4px;
    font-size: 13px;
    color: #666;
    line-height: 1.45;
}

.duplicate-confirm-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 20px;
}

.duplicate-confirm-actions .btn-neutral,
.duplicate-confirm-actions .btn-danger {
    min-width: 170px;
    padding: 11px 16px;
    border-radius: 14px;
    font-weight: 700;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.duplicate-confirm-actions .btn-neutral {
    background: #ececec;
    color: #191919;
}

.duplicate-confirm-actions .btn-neutral:hover {
    background: #e2e2e2;
    transform: translateY(-1px);
}

.duplicate-confirm-actions .btn-danger {
    background: linear-gradient(135deg, #ff8778, #e24545);
    box-shadow: 0 12px 28px rgba(226, 69, 69, 0.24);
}

.duplicate-confirm-actions .btn-danger:hover {
    transform: translateY(-1px);
    box-shadow: 0 16px 34px rgba(226, 69, 69, 0.28);
}


/* ===== Migrated from manage_users.php ===== */
.user-grid {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.user-card {
    position: relative;
    background: #f6f6f6;
    border-radius: 18px;
    padding: 22px 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: 1px solid transparent;
    transition: all 0.25s ease;
}

.admin-card {
    position: relative;
    border-radius: 18px;
    border: 1px solid transparent;
    background: #f6f6f6;
}

.admin-card::before {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: 20px;
    padding: 1px;
    background: linear-gradient(
        120deg,
        #d4af37,
        #f5e6a8,
        #b8901f,
        #f5e6a8,
        #d4af37
    );
    background-size: 300% 300%;
    animation: goldShimmer 4s linear infinite;
    -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    pointer-events: none;
}

@keyframes goldShimmer {
    0%   { background-position: 0% 50%; }
    100% { background-position: 300% 50%; }
}

.user-name {
    font-weight: 600;
    font-size: 16px;
}

.user-username {
    color: #888;
    font-size: 14px;
}

.user-email {
    color: #555;
    font-size: 14px;
}

.status-label {
    font-size: 12px;
    color: #777;
    font-style: italic;
    margin-bottom: 6px;
    text-align: right;
    letter-spacing: 0.3px;
}

.user-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 6px;
    min-width: 180px;
}

.user-status {
    width: 100%;
    text-align: right;
}

.user-action-button {
    width: 100%;
    text-align: right;
}

.action-button {
    background: #000;
    color: #fff;
    border: none;
    padding: 8px 14px;
    border-radius: 20px;
    cursor: pointer;
    font-size: 13px;
}

.secondary-button {
    background: #eee;
    color: #000;
}

.secondary-button:hover {
    background: #ddd;
}

.action-button:hover {
    opacity: 0.8;
}

.message {
    background: #000;
    color: #fff;
    padding: 10px 16px;
    border-radius: 20px;
    display: inline-block;
    margin-bottom: 20px;
}

.error-message {
    background: #c00;
    color: #fff;
    padding: 10px 16px;
    border-radius: 20px;
    display: inline-block;
    margin-bottom: 20px;
}


/* ===== Migrated from profile.php ===== */
.artist-tools{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin:4px 0 6px;}
.artist-search{margin:0;}
.artist-seg{
  background:#f3f4f6;
  border:1px solid #d8dbe0;
  border-radius:14px;
  padding:3px;
}
.artist-seg .tb-seg__btn{
  border:none;
  cursor:pointer;
  color:#2b2f36;
  background:transparent;
  min-width:120px;
  font-weight:900;
}
.artist-seg .tb-seg__btn.is-active{
  background:#14161a;
  color:#fff;
  border-radius:11px;
  box-shadow:0 1px 1px rgba(0,0,0,.25), 0 8px 18px rgba(0,0,0,.14);
}
.profile-artist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;}
.profile-artist-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid #e5e7eb;
  border-radius:12px;
  background:#fff;
  box-shadow:0 1px 0 rgba(16,24,40,.03);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease;
}
.profile-artist-row:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(16,24,40,.08);
}
.profile-artist-row.is-visible-card{
  background:linear-gradient(180deg, #ffffff 0%, #fcfefc 100%);
  border-color:#d7ebd9;
}
.profile-artist-row.is-hidden-card{
  background:linear-gradient(180deg, #fff 0%, #fff8f8 100%);
  border-color:#f1c7c7;
}
.profile-artist-row__meta{min-width:0;}
.profile-artist-row__name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.artist-status-badge{margin-top:6px;}
.artist-toggle-btn{padding:.45rem .65rem;border-radius:10px;font-size:.82rem;line-height:1.1;white-space:nowrap;}
@media (max-width:640px){
  .artist-tools{grid-template-columns:1fr;}
  .profile-artist-grid{grid-template-columns:1fr;}
  .artist-seg .tb-seg__btn{min-width:0;padding:.5rem .55rem;font-size:.84rem;}
}


/* ===== Migrated from stats.php ===== */
body{
    overflow-x:hidden;
}

.stats-container{
    max-width:1200px;
    margin:0 auto;
    padding:0 20px;
    box-sizing:border-box;
}
.analytics-grid{
    display:grid;
    grid-template-columns: minmax(0,1.4fr) minmax(0,1fr);
    gap:30px;
    margin-top:30px;
    width:100%;
}
.stats-card{
    background:#fff;
    border-radius:20px;
    padding:30px;
    box-shadow:0 15px 40px rgba(0,0,0,0.06);
    overflow:hidden;
}
.stats-card.full{
    grid-column:1/-1;
}
.page-title{
    font-size:28px;
    font-weight:700;
}
.search-box{
    display:flex;
    gap:10px;
    margin-bottom:20px;
}
.search-box input{
    flex:1;
    padding:10px 14px;
    border-radius:12px;
    border:1px solid #ddd;
}
.search-box button{
    background:#000;
    color:#fff;
    border:none;
    padding:10px 18px;
    border-radius:12px;
    cursor:pointer;
}
.stats-row{
    display:flex;
    justify-content:space-between;
    padding:10px 0;
    border-bottom:1px solid #eee;
}
.muted{
    opacity:0.5;
}
@media(max-width:900px){
    .analytics-grid{
        grid-template-columns:1fr;
    }
}
.chart-wrapper{
    height: 320px;
}

.live-user-search{
    position: relative;
}

.suggestions{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:#fff;
    border-radius:14px;
    box-shadow:0 10px 25px rgba(0,0,0,0.08);
    margin-top:6px;
    z-index:50;
    overflow:hidden;
}

.suggestion-item{
    padding:12px 16px;
    cursor:pointer;
    transition:background 0.2s ease;
}

.suggestion-item:hover{
    background:#f3f3f3;
}

.year-switch{
    margin-top:10px;
    margin-bottom:20px;
    display:flex;
    gap:10px;
}
.year-btn{
    padding:6px 14px;
    border-radius:20px;
    text-decoration:none;
    font-size:13px;
    background:#f1f1f1;
    color:#000;
    transition:all 0.2s ease;
}
.year-btn.active{
    background:#000;
    color:#fff;
}
.year-btn:hover{
    background:#000;
    color:#fff;
}

/* ===== Structure/Cleanup Utilities ===== */
.is-hidden{ display:none !important; }
.tb-link-strong{ font-weight:700; }
.tb-text-black{ color:#000; }
.tb-note-inline{ font-style:italic; margin-left:8px; }
.tb-artist-sub{ font-style:italic; margin-top:2px; }
.site-footer{
  text-align:center;
  padding:2rem 0;
  font-size:.85rem;
  color:#888;
  margin-top:auto;
}

/* Page-specific classes migrated from inline styles */
.artist-actions-wrap{ display:flex; gap:10px; }
.artist-edit-form{ display:flex; gap:8px; }

.profile-settings-grid{
  display:grid;
  grid-template-columns:minmax(0,1.16fr) minmax(320px,.84fr);
  gap:14px;
  align-items:start;
}
.profile-top-grid{
  display:grid;
  grid-template-columns:minmax(0,1.38fr) minmax(360px,.92fr);
  gap:16px;
  align-items:start;
}
.profile-work-grid{
  display:grid;
  grid-template-columns:minmax(0,1.42fr) minmax(340px,.98fr);
  gap:16px;
  align-items:start;
  margin-top:16px;
}
.profile-summary-card{
  margin-top:0;
}
.profile-summary-grid{
  display:grid;
  grid-template-columns:minmax(260px,1.4fr) repeat(3,minmax(140px,.72fr));
  gap:14px;
  align-items:center;
}
.profile-summary-main{
  display:grid;
  gap:6px;
  min-width:0;
}
.profile-summary-main strong{
  font-size:1.28rem;
  line-height:1.05;
}
.profile-summary-main span{
  font-size:.96rem;
}
.profile-summary-item{
  display:grid;
  gap:6px;
  min-width:0;
}
.profile-summary-item span{
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.profile-summary-item strong{
  font-size:1rem;
  line-height:1.2;
}
.profile-main-grid{
  display:grid;
  grid-template-columns:minmax(0,1.48fr) minmax(320px,.86fr);
  gap:16px;
  align-items:stretch;
  margin-top:16px;
}
.profile-main-column{
  display:grid;
  grid-template-rows:auto 1fr;
  gap:16px;
  align-items:stretch;
  min-height:100%;
}
.profile-settings-stack,
.profile-settings-side{
  display:grid;
  gap:12px;
}
.profile-settings-main,
.profile-account-card,
.profile-side-card,
.profile-skills-card,
.profile-security-card,
.profile-plan-card,
.profile-overview-card{
  margin-top:0;
}
.profile-settings-side .profile-plan-card{
  position:sticky;
  top:96px;
}
.profile-artists-card{ margin-top:16px; }
.profile-section-title{ margin-top:0; }
.profile-subtight{ margin-top:-4px; }
.profile-card-kicker{
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:6px;
}
.profile-overview-badges{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.profile-overview-grid{
  display:grid;
  grid-template-columns:minmax(260px,.84fr) minmax(0,1.16fr);
  gap:14px;
  align-items:center;
}
.profile-overview-identity{
  display:grid;
  gap:6px;
}
.profile-overview-identity strong{
  font-size:1.2rem;
  line-height:1.05;
}
.profile-overview-identity span{
  font-size:.95rem;
}
.profile-overview-skills{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  min-height:34px;
}
.profile-overview-skill{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  font-weight:800;
  font-size:.82rem;
}
.profile-overview-empty{
  font-size:.88rem;
}
.profile-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.profile-account-layout{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.92fr);
  gap:18px;
  align-items:start;
}
.profile-account-pane{
  display:grid;
  gap:10px;
}
.profile-account-pane--security{
  border-left:1px solid #e5e7eb;
  padding-left:18px;
}
.profile-account-sections{
  display:grid;
  gap:18px;
}
.profile-account-section{
  display:grid;
  gap:10px;
}
.profile-account-section + .profile-account-section{
  border-top:1px solid #e5e7eb;
  padding-top:18px;
}
.profile-account-section__head{
  display:grid;
  gap:4px;
}
.profile-account-section__head h4{
  margin:0;
  font-size:1rem;
}
.profile-account-section__head p{
  margin:0;
}
.profile-plan-summary--compact{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.profile-plan-summary--stacked{
  grid-template-columns:1fr;
}
.profile-password-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.profile-password-grid--security{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.profile-password-grid--compact{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.profile-password-grid--compact > .field:first-child{
  grid-column:1 / -1;
}
.profile-artist-stats{ margin:8px 0 12px; }
.profile-no-results{ margin:8px 0 0; }
.profile-no-artists{ margin:0; }
.profile-project-chip-grid{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.profile-projects-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.profile-projects-scroll{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding-right:4px;
}
.profile-project-chip{
  appearance:none;
  border:1px solid #d0d7de;
  background:#fff;
  border-radius:14px;
  padding:10px 12px;
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  text-align:left;
  min-height:46px;
  cursor:pointer;
  transition:transform .12s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.profile-project-chip:hover{
  transform:translateY(-1px);
}
.profile-project-chip__name{
  font-weight:800;
  line-height:1.2;
}
.profile-project-chip.is-visible-card{
  box-shadow:0 6px 16px rgba(0,0,0,.08);
}
.profile-project-chip.is-hidden-card{
  box-shadow:0 6px 18px rgba(140,24,38,.18);
}
.profile-skill-box{
  border:1px solid #e5e7eb;
  border-radius:14px;
  background:#fafafa;
  padding:12px;
  display:grid;
  gap:10px;
}
.profile-skill-box__head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
  flex-wrap:wrap;
}
.profile-skill-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  min-height:34px;
}
.profile-skill-chip{
  border:1px solid #d0d7de;
  background:#fff;
  border-radius:999px;
  padding:6px 10px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  font-weight:800;
}
.profile-skill-chip em{
  font-style:normal;
  color:#8a1c1c;
  font-weight:900;
}
.profile-skill-add{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
}
.profile-skill-suggestions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.profile-side-card{
  display:grid;
  gap:0;
}
.profile-side-section{
  display:grid;
  gap:12px;
}
.profile-side-section + .profile-side-section{
  border-top:1px solid #e5e7eb;
  padding-top:16px;
  margin-top:16px;
}
.profile-save-state{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:0 12px;
  border-radius:999px;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.profile-save-state--muted{
  opacity:.9;
}
.profile-skills-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.profile-inline-note{
  margin:0;
}
.profile-suggestion-chip{
  border:1px solid #d6dbe4;
  background:#fff;
  cursor:pointer;
}
.profile-plan-current{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:6px;
}
.profile-plan-current--inline{
  align-items:flex-start;
}
.profile-plan-summary{
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:10px 12px;
  background:#fafbff;
  margin:8px 0 10px;
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}
.profile-plan-summary__item{
  display:grid;
  gap:4px;
}
.profile-plan-summary__item span{
  font-size:.78rem;
  color:#6b7280;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.profile-plan-summary__item strong{
  font-size:.95rem;
}
.profile-payment-form{
  margin:0 0 8px;
  padding:10px;
  border:1px solid #e5e7eb;
  border-radius:12px;
  background:#fff;
  display:grid;
  gap:10px;
}
.profile-plan-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:14px;
  margin-top:12px;
}
.profile-plan-option{
  border:1px solid #dfe3eb;
  border-radius:18px;
  background:#fff;
  padding:20px 16px;
  display:flex;
  flex-direction:column;
  gap:14px;
  min-height:460px;
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.profile-plan-option:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 30px rgba(0,0,0,.22);
}
.profile-plan-option.is-active-plan{
  border-color:#676d79;
  box-shadow:0 0 0 1px #676d79 inset, 0 14px 28px rgba(17,24,39,.2);
}
.profile-plan-option.is-popular-plan{
  background:linear-gradient(180deg,#181a1f,#131417);
  border-color:#676d79;
  box-shadow:0 0 0 1px #676d79 inset;
  min-height:500px;
  transform:translateY(-14px);
}
.profile-plan-option__tag{
  display:inline-block;
  width:fit-content;
  border:1px solid #6e646a;
  border-radius:999px;
  padding:4px 9px;
  font-size:11px;
  font-weight:700;
  color:#f0dfe6;
}
.profile-plan-option__main{
  min-width:0;
  display:grid;
  gap:8px;
  flex:1;
}
.profile-plan-option__head{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:10px;
}
.profile-plan-option__head h4{
  margin:0;
  font-size:22px;
  font-family:Sora,Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:.96;
  letter-spacing:-.02em;
}
.profile-plan-option__head strong{
  font-size:34px;
  white-space:nowrap;
  letter-spacing:-.02em;
  line-height:.92;
  font-family:Sora,Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
.profile-plan-desc{
  margin:0;
  min-height:0;
  font-size:15px;
  line-height:1.35;
}
.profile-plan-highlights{
  margin:0;
  padding-left:16px;
  display:grid;
  gap:6px;
  color:#1f2937;
  font-size:15px;
}
.plan-switch-btn{
  align-self:end;
  width:100%;
  min-width:0;
  white-space:nowrap;
  min-height:52px;
  border-radius:14px;
  font-size:16px;
  font-weight:900;
}
.profile-plan-impact{
  margin-top:14px;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:12px;
  background:#fafbff;
}
.profile-plan-impact h4{
  margin:0 0 8px 0;
}
.profile-plan-impact ul{
  margin:0;
  padding-left:18px;
  display:grid;
  gap:4px;
}
.profile-plan-modal{
  position:fixed;
  inset:0;
  z-index:1600;
  display:none;
}
.profile-plan-modal.is-open{
  display:block;
}
.profile-plan-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(6,8,14,.58);
  backdrop-filter:blur(8px) saturate(120%);
  -webkit-backdrop-filter:blur(8px) saturate(120%);
}
.profile-plan-modal__dialog{
  position:relative;
  z-index:1;
  width:min(1100px, calc(100vw - 28px));
  max-height:min(92vh, 1100px);
  overflow:auto;
  margin:4vh auto 0;
  border:1px solid rgba(255,236,243,.2);
  border-radius:22px;
  padding:20px;
  background:
    radial-gradient(340px 120px at 6% -12%, rgba(255,232,240,.12), transparent 72%),
    linear-gradient(180deg,rgba(24,26,33,.75),rgba(16,18,24,.74));
  box-shadow:0 28px 58px rgba(0,0,0,.45);
  backdrop-filter:blur(16px) saturate(120%);
  -webkit-backdrop-filter:blur(16px) saturate(120%);
}
.profile-plan-modal__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  margin-bottom:12px;
}
.profile-modal-close{
  width:32px;
  height:32px;
  border-radius:10px;
  border:1px solid rgba(255,236,243,.18);
  background:rgba(255,241,245,.06);
  color:#f6edf2;
  cursor:pointer;
  font-size:22px;
  line-height:1;
}
.profile-modal-close:hover{
  background:rgba(255,241,245,.14);
}
.profile-modal-open{
  overflow:hidden;
}
@media (max-width:980px){
  .profile-top-grid,
  .profile-work-grid,
  .profile-main-grid,
  .profile-settings-grid{
    grid-template-columns:1fr;
  }
  .profile-summary-grid,
  .profile-account-layout{
    grid-template-columns:1fr;
  }
  .profile-account-pane--security{
    border-left:none;
    border-top:1px solid #e5e7eb;
    padding-left:0;
    padding-top:18px;
  }
  .profile-settings-side .profile-plan-card{
    position:static;
    top:auto;
  }
}
@media (max-width:640px){
  .profile-overview-grid,
  .profile-form-grid,
  .profile-password-grid,
  .profile-password-grid--compact,
  .profile-summary-grid{
    grid-template-columns:1fr;
  }
  .profile-password-grid--compact > .field:first-child{
    grid-column:auto;
  }
  .profile-plan-summary--compact{
    grid-template-columns:1fr;
  }
  .profile-overview-badges,
  .profile-skills-actions{
    justify-content:flex-start;
  }
  .profile-skill-add{
    grid-template-columns:1fr;
  }
  .profile-plan-summary{
    grid-template-columns:1fr;
  }
  .profile-plan-modal__dialog{
    width:calc(100vw - 16px);
    margin:10px auto 0;
    max-height:calc(100vh - 20px);
    border-radius:16px;
    padding:14px;
  }
  .plan-switch-btn{
    width:100%;
    min-width:0;
  }
  .profile-plan-option,
  .profile-plan-option.is-popular-plan{
    min-height:0;
    transform:none;
  }
}

.modal-title{ margin:0 0 12px 0; }
.modal-title--lg{ margin:0 0 14px 0; }

.manage-users-subtext{ color:#777; margin-bottom:30px; }
.manage-users-warning{ color:#9a5a00; margin:-12px 0 24px; font-size:14px; }
.manage-users-filter-wrap{ margin-bottom:20px; }
.manage-users-filter-input{
  width:100%;
  padding:12px 16px;
  border-radius:14px;
  border:1px solid #ddd;
  font-size:14px;
}

.stats-year-breakdown{ margin-top:14px; }

/* ===== Dashboard 2 (requests-first experiment) ===== */
body.page-dashboard-2{
  background:
    radial-gradient(960px 460px at 50% -8%, rgba(255,230,238,.16) 0%, transparent 65%),
    linear-gradient(180deg,#090a0b 0%,#0f1013 100%);
  color:#f6edf1;
}
body.page-dashboard-2.d2-lock{ overflow:hidden; }
body.page-dashboard-2.d2-onboard-lock{ overflow:hidden; }
body.page-dashboard-2 .site-footer{
  color:#ab9aa2;
  border-top:1px solid rgba(255,236,243,.12);
}
body.page-dashboard-2 .wrap{
  position:relative;
  max-width:1180px;
}
.d2-shell{
  position:relative;
  display:grid;
  gap:16px;
  margin:22px 0 46px;
}
.d2-backdrop{
  position:absolute;
  border-radius:50%;
  filter:blur(46px);
  pointer-events:none;
  opacity:.24;
  z-index:0;
}
.d2-backdrop--a{
  width:420px;
  height:420px;
  top:-120px;
  left:-90px;
  background:radial-gradient(circle,#ffe5ee 0%,rgba(255,229,238,.05) 70%);
}
.d2-backdrop--b{
  width:360px;
  height:360px;
  top:120px;
  right:-70px;
  background:radial-gradient(circle,#f8d8e4 0%,rgba(248,216,228,.05) 72%);
}
.d2-hero,
.d2-panel{
  position:relative;
  z-index:1;
}
.d2-hero{
  border:1px solid rgba(255,236,243,.16);
  border-radius:30px;
  padding:22px 24px 20px;
  background:linear-gradient(150deg,rgba(20,21,25,.9),rgba(14,15,18,.92));
  box-shadow:0 24px 50px rgba(0,0,0,.34);
}
.d2-hero-meta{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
  flex-wrap:wrap;
}
.d2-hero-cal-actions{
  position:absolute;
  top:18px;
  right:18px;
  display:flex;
  gap:8px;
  z-index:2;
}
.d2-cal-mini{
  width:38px;
  height:38px;
  border-radius:11px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:relative;
  appearance:none;
  border:1px solid rgba(255,236,243,.22);
  cursor:pointer;
  text-decoration:none;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  transition:transform .16s ease, border-color .16s ease, filter .16s ease;
}
.d2-cal-mini svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.d2-cal-mini .d2-cal-mini__icon{
  width:24px !important;
  height:24px !important;
  min-width:24px;
  min-height:24px;
  max-width:24px;
  max-height:24px;
  stroke-width:2.35;
}
.d2-cal-mini--mine{
  color:#f8d4df;
  background:linear-gradient(180deg, rgba(126,62,78,.35), rgba(96,40,56,.32));
  border-color:rgba(244,167,188,.45);
}
.d2-cal-mini--admin{
  color:#d5e4ff;
  background:linear-gradient(180deg, rgba(56,72,108,.35), rgba(38,54,90,.32));
  border-color:rgba(152,183,248,.46);
}
.d2-cal-mini:hover{
  transform:translateY(-1px);
  filter:brightness(1.06);
}
.d2-cal-mini__tip{
  position:absolute;
  top:calc(100% + 9px);
  right:0;
  min-width:230px;
  max-width:280px;
  border:1px solid rgba(255,236,243,.2);
  border-radius:10px;
  padding:8px 10px;
  background:linear-gradient(180deg,rgba(20,21,25,.95),rgba(15,16,19,.95));
  color:#e7d3db;
  font-size:12px;
  font-weight:700;
  text-align:left;
  line-height:1.3;
  box-shadow:0 12px 24px rgba(0,0,0,.28);
  opacity:0;
  transform:translateY(-4px);
  pointer-events:none;
  transition:opacity .14s ease, transform .14s ease;
  z-index:3;
}
.d2-cal-mini__tip::before{
  content:"";
  position:absolute;
  right:12px;
  top:-6px;
  width:10px;
  height:10px;
  transform:rotate(45deg);
  background:rgba(19,20,24,.95);
  border-left:1px solid rgba(255,236,243,.2);
  border-top:1px solid rgba(255,236,243,.2);
}
.d2-cal-mini:hover .d2-cal-mini__tip,
.d2-cal-mini:focus-visible .d2-cal-mini__tip{
  opacity:1;
  transform:none;
}
.d2-kicker{
  display:inline-flex;
  border:1px solid rgba(255,236,243,.2);
  border-radius:999px;
  padding:5px 10px;
  font-size:12px;
  letter-spacing:.06em;
  font-weight:700;
  color:#dbc5ce;
}
.d2-kicker--subtle{
  color:#bfaab3;
  border-color:rgba(255,236,243,.12);
  background:rgba(255,241,245,.03);
}
.d2-hero h1{
  margin:0;
  font-size:clamp(24px,3.8vw,44px);
  line-height:.94;
  letter-spacing:-.03em;
  font-family:Sora,Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:linear-gradient(180deg,#fff7fa 0%,#f4dce4 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  max-width:760px;
}
.d2-hero p{
  margin:10px 0 0;
  max-width:780px;
  color:#bea9b2;
  font-size:16px;
}
.d2-stats{
  margin-top:16px;
  display:grid;
  gap:10px;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.d2-stat{
  border:1px solid rgba(255,236,243,.13);
  border-radius:18px;
  padding:10px 13px;
  background:rgba(255,241,245,.03);
}
.d2-stat span{
  display:block;
  font-size:12px;
  color:#bca8b1;
  margin-bottom:4px;
}
.d2-stat strong{
  font-size:26px;
  letter-spacing:-.02em;
  color:#fcedf2;
}
.d2-actions{
  margin-top:12px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.d2-empty--compact{
  margin-top:12px;
  padding:12px 14px;
}
.d2-hero-tools{
  margin-top:16px;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  flex-wrap:wrap;
}
.d2-hero-tools .d2-actions{
  margin-top:0;
}
.d2-ical-links{
  display:grid;
  gap:8px;
  justify-items:end;
  min-width:min(520px, 100%);
}
.d2-ical-link{
  width:min(520px, 100%);
  border:1px solid rgba(255,236,243,.14);
  border-radius:14px;
  padding:8px 10px;
  background:rgba(255,241,245,.04);
}
.d2-ical-link strong{
  display:block;
  font-size:12px;
  letter-spacing:.02em;
  color:#d7c1cb;
}
.d2-ical-link__actions{
  margin-top:6px;
  display:flex;
  gap:7px;
  justify-content:flex-end;
  flex-wrap:wrap;
}
.d2-project-filter{
  margin-top:2px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  position:sticky;
  top:84px;
  z-index:18;
  padding:10px 12px;
  border:1px solid rgba(255,236,243,.14);
  border-radius:16px;
  background:rgba(15,16,20,.74);
  backdrop-filter:blur(10px) saturate(115%);
  -webkit-backdrop-filter:blur(10px) saturate(115%);
}
.d2-project-chip{
  border:1px solid rgba(255,236,243,.2);
  border-radius:999px;
  background:rgba(255,241,245,.04);
  color:#e8d8df;
  font-size:12px;
  font-weight:700;
  padding:7px 11px;
  cursor:pointer;
}
.d2-project-chip.is-active{
  background:#fff1f5;
  color:#09090b;
  border-color:#fff1f5;
}
.d2-btn{
  text-decoration:none;
  border:1px solid rgba(255,236,243,.2);
  color:#f6eaf0;
  background:rgba(255,241,245,.04);
  border-radius:999px;
  padding:10px 16px;
  font-weight:700;
  font-size:14px;
}
.d2-btn--primary{
  background:#fff1f5;
  color:#0a0a0b;
  border-color:#fff1f5;
}
.d2-btn--ghost{
  background:rgba(255,241,245,.04);
  color:#f6eaf0;
}

.d2-onboard-modal{
  position:fixed;
  inset:0;
  z-index:1500;
  display:none;
}
.d2-onboard-modal.is-open{
  display:block;
}
.d2-onboard-modal__backdrop{
  position:absolute;
  inset:0;
  border:0;
  background:rgba(5,7,10,.64);
  backdrop-filter:blur(9px) saturate(115%);
  -webkit-backdrop-filter:blur(9px) saturate(115%);
}
.d2-onboard-modal__dialog{
  position:relative;
  z-index:1;
  width:min(620px, calc(100vw - 24px));
  margin:8vh auto 0;
  border:1px solid rgba(255,236,243,.22);
  border-radius:24px;
  padding:22px 22px 18px;
  color:#f7edf2;
  background:
    radial-gradient(460px 180px at 85% -30%, rgba(255,214,230,.14), transparent 72%),
    radial-gradient(360px 120px at -8% 110%, rgba(188,212,255,.11), transparent 76%),
    linear-gradient(180deg,rgba(22,24,30,.88),rgba(16,18,24,.9));
  box-shadow:0 34px 80px rgba(0,0,0,.52);
  animation:d2OnboardIn .34s cubic-bezier(.16,.84,.25,1) both;
}
.d2-onboard-modal__badge{
  display:inline-flex;
  border:1px solid rgba(255,236,243,.24);
  border-radius:999px;
  padding:4px 10px;
  font-size:12px;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:#e4cdd5;
  margin-bottom:10px;
}
.d2-onboard-modal__dialog h2{
  margin:0;
  font-size:clamp(28px, 5vw, 44px);
  line-height:.98;
  letter-spacing:-.03em;
  font-family:Sora,Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:linear-gradient(180deg,#fff8fb 0%,#f2d8e2 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.d2-onboard-modal__dialog p{
  margin:12px 0 14px;
  color:#cab4bd;
  font-size:16px;
  line-height:1.45;
}
.setup-welcome-modal.is-open{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.setup-welcome-modal .d2-onboard-modal__dialog{
  width:min(720px, calc(100vw - 24px));
  margin:0;
  padding:26px 24px 20px;
}
.setup-welcome-list{
  margin:0 0 18px;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.setup-welcome-list li{
  position:relative;
  padding:10px 12px 10px 38px;
  border:1px solid rgba(255,236,243,.16);
  border-radius:14px;
  background:rgba(255,241,245,.04);
  color:#eddbe3;
  font-size:15px;
  line-height:1.35;
}
.setup-welcome-list li::before{
  content:"";
  position:absolute;
  top:50%;
  left:14px;
  width:14px;
  height:14px;
  border-radius:999px;
  transform:translateY(-50%);
  background:
    radial-gradient(circle at 35% 35%, #fff6fa 0%, #ffb8cf 45%, #f47ca2 100%);
  box-shadow:0 0 0 3px rgba(255,184,207,.16);
}
.setup-welcome-meta{
  margin:2px 0 0;
  color:#9f8c95;
  font-size:13px;
}
.d2-onboard-form{
  display:grid;
  gap:10px;
}
.d2-onboard-form label{
  font-size:13px;
  color:#c7b2bb;
  font-weight:700;
}
.d2-onboard-form input{
  width:100%;
  border:1px solid rgba(255,236,243,.2);
  border-radius:14px;
  padding:13px 14px;
  background:rgba(255,241,245,.05);
  color:#f6edf2;
  font-size:16px;
  outline:none;
}
.d2-onboard-form input:focus{
  border-color:rgba(255,236,243,.42);
  box-shadow:0 0 0 3px rgba(255,236,243,.08);
}
.d2-onboard-form input::placeholder{
  color:#9f8e95;
}
.d2-onboard-error{
  border:1px solid rgba(255,156,172,.55);
  border-radius:10px;
  padding:8px 10px;
  font-size:13px;
  color:#ffd5de;
  background:rgba(94,24,34,.45);
}
.tb-team-invite-note{
  margin:-2px 0 12px;
  font-size:13px;
  line-height:1.4;
  color:#b8d5c5;
}
.tb-team-invite-status{
  margin-top:2px;
}
.tb-team-invite-status.is-success{
  border-color:rgba(120,231,173,.36);
  color:#d6ffe5;
  background:rgba(18,89,58,.4);
}
.tb-team-invite-actions{
  flex-wrap:wrap;
}
.d2-onboard-actions{
  display:flex;
  gap:10px;
  justify-content:flex-end;
  margin-top:4px;
}
.d2-onboard-actions .d2-btn{
  min-height:44px;
  font-size:14px;
  font-weight:800;
}
@keyframes d2OnboardIn{
  0%{ opacity:0; transform:translateY(20px) scale(.985); }
  100%{ opacity:1; transform:none; }
}

.d2-panel{
  border:1px solid rgba(255,236,243,.14);
  border-radius:24px;
  padding:18px;
  background:linear-gradient(180deg,rgba(20,21,25,.92),rgba(16,17,20,.92));
}
.d2-main-panels{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  align-items:start;
}
.d2-main-panels .d2-panel__head{
  align-items:flex-start;
}
.d2-main-panels .d2-panel__head-right{
  width:100%;
  min-width:0;
  justify-content:space-between;
  flex-wrap:wrap;
}
.d2-main-panels .d2-filter{
  flex:1 1 220px;
  min-width:0;
}
.d2-main-panels .d2-filter input{
  width:100%;
  min-width:0;
}
.d2-panel--soft{
  background:linear-gradient(180deg,rgba(18,19,22,.86),rgba(15,16,19,.88));
}
.d2-confirmed-panel{
  padding-bottom:14px;
  min-height:100%;
}
.d2-confirmed-grid{
  margin-top:4px;
  display:block;
  border:1px solid rgba(255,236,243,.12);
  border-radius:18px;
  background:rgba(255,241,245,.03);
  overflow:hidden;
}
.d2-confirmed-month{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px 10px;
  background:rgba(255,236,243,.06);
  border-top:1px solid rgba(255,236,243,.1);
}
.d2-confirmed-month:first-child{
  border-top:none;
}
.d2-confirmed-month::after{
  content:"";
  flex:1 1 auto;
  height:1px;
  background:linear-gradient(90deg, rgba(255,236,243,.2), rgba(255,236,243,0));
}
.d2-confirmed-month__label{
  color:#d7c4cc;
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  white-space:nowrap;
}
.d2-confirmed-item{
  border-bottom:1px solid rgba(255,236,243,.1);
  padding:12px 14px 11px;
  background:transparent;
  display:block;
}
.d2-confirmed-item.is-tbc{
  background:rgba(255,214,224,.025);
}
.d2-confirmed-item:last-child{
  border-bottom:none;
}
.d2-confirmed-item__project{
  color:#f6edf2;
  font-size:15px;
  font-weight:900;
  line-height:1.1;
  letter-spacing:-.02em;
}
.d2-confirmed-item__meta{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  margin-top:4px;
  color:#cdbbc3;
  font-size:13px;
}
.d2-confirmed-item__date{
  color:#eadce2;
  font-weight:800;
  white-space:nowrap;
}
.d2-confirmed-item__sep{
  color:rgba(255,236,243,.4);
}
.d2-confirmed-item__where{
  color:#d9c7cf;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  min-width:0;
}
.d2-confirmed-item__flag{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  padding:3px 8px;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  color:#fff0f4;
  background:rgba(220,150,160,.18);
  border:1px solid rgba(220,150,160,.22);
}
.d2-panel__head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
}
.d2-panel__head-right{
  display:flex;
  align-items:center;
  gap:10px;
  margin-left:auto;
}
.d2-panel__head h2{
  margin:0;
  font-size:26px;
  letter-spacing:-.02em;
}
.d2-panel__head--tight{
  margin-bottom:6px;
}
.d2-inline-link{
  color:#f6e7ee;
  text-decoration:none;
  border:1px solid rgba(255,236,243,.2);
  border-radius:999px;
  padding:6px 12px;
  font-size:13px;
}
.d2-inline-link--btn{
  background:rgba(255,241,245,.06);
  cursor:pointer;
  font-weight:700;
}
.d2-inline-link--btn span{
  margin-left:6px;
  font-weight:800;
}
.d2-filter input{
  width:min(420px,52vw);
  border:1px solid rgba(255,236,243,.18);
  border-radius:14px;
  padding:11px 13px;
  background:rgba(255,241,245,.04);
  color:#f6edf2;
  font-size:14px;
}
.d2-filter input::placeholder{
  color:#9f8e95;
}

.d2-grid{
  display:grid;
  gap:8px;
  grid-template-columns:1fr;
  align-items:stretch;
}
.d2-request{
  border:1px solid rgba(255,236,243,.15);
  border-radius:16px;
  padding:8px 10px;
  background:
    radial-gradient(320px 100px at -10% -20%, rgba(255,232,240,.1), transparent 72%),
    linear-gradient(180deg,rgba(23,24,29,.94),rgba(19,20,25,.94));
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease, opacity .2s ease;
  min-height:92px;
  display:flex;
}
.d2-request:hover{
  transform:translateY(-2px);
  border-color:rgba(255,236,243,.26);
  box-shadow:0 16px 30px rgba(0,0,0,.28);
}
.d2-request.is-out{
  opacity:0;
  transform:translateY(10px) scale(.985);
}
.d2-request__layout{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:10px;
  align-items:center;
  width:100%;
}
.d2-datebox{
  border:1px solid rgba(255,236,243,.22);
  border-radius:12px;
  padding:4px;
  background:linear-gradient(180deg,rgba(255,241,245,.12),rgba(255,241,245,.04));
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:center;
  height:72px;
  min-height:72px;
  align-self:center;
}
.d2-datebox__dow{
  font-size:9px;
  letter-spacing:.08em;
  color:#bda8b1;
  font-weight:700;
}
.d2-datebox__day{
  font-size:26px;
  line-height:.92;
  font-weight:900;
  letter-spacing:-.03em;
  color:#fff2f6;
  margin:1px 0;
}
.d2-datebox__my{
  font-size:9px;
  letter-spacing:.08em;
  color:#d3bdc6;
  font-weight:700;
}
.d2-request__body{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:
    "meta actions"
    "title actions";
  gap:5px 10px;
  align-items:center;
  min-height:0;
}
.d2-request__meta{
  grid-area:meta;
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.d2-pill{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:4px 10px;
  font-size:11px;
  font-weight:700;
  background:rgba(255,240,246,.1);
  color:#f8eaf1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}
.d2-date-inline{
  color:#bdaab2;
  font-size:13px;
}
.d2-request h3{
  grid-area:title;
  margin:0;
  font-size:16px;
  line-height:1.15;
  letter-spacing:-.02em;
  display:-webkit-box;
  -webkit-line-clamp:1;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.d2-form{
  grid-area:actions;
  display:flex;
  gap:6px;
  margin:0;
  align-self:center;
}
.d2-choice{
  min-width:74px;
  border:1px solid rgba(255,236,243,.18);
  border-radius:10px;
  padding:8px 10px;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
}
.d2-choice--yes{
  background:#fff1f5;
  color:#0b0b0d;
  border-color:#fff1f5;
}
.d2-choice--no{
  background:#21242b;
  color:#f1dfe7;
}
.d2-count{
  display:inline-block;
  min-width:1ch;
}
.d2-count.is-rolling{
  animation:d2CountPulse .16s linear infinite;
}

.d2-answered-fab{
  position:fixed;
  right:18px;
  bottom:20px;
  z-index:140;
  border:1px solid rgba(255,236,243,.22);
  background:rgba(16,18,22,.88);
  color:#f6e8ee;
  border-radius:999px;
  padding:10px 13px;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 10px 26px rgba(0,0,0,.28);
}
.d2-answered-fab span{
  margin-left:6px;
  color:#0a0b0d;
  background:#fff1f5;
  border-radius:999px;
  padding:2px 7px;
}
.d2-answered-backdrop{
  position:fixed;
  inset:0;
  background:rgba(5,6,8,.54);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
  z-index:141;
}
.d2-answered-backdrop.is-open{
  opacity:1;
  pointer-events:auto;
}
.d2-answered-drawer{
  position:fixed;
  top:0;
  right:0;
  width:min(440px,94vw);
  height:100dvh;
  background:linear-gradient(180deg,#101217 0%, #14161c 100%);
  border-left:1px solid rgba(255,236,243,.16);
  box-shadow:-20px 0 38px rgba(0,0,0,.36);
  transform:translateX(100%);
  transition:transform .24s ease;
  z-index:142;
  padding:16px 14px 20px;
  overflow-y:auto;
}
.d2-answered-drawer.is-open{
  transform:translateX(0);
}
.d2-answered-drawer__head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
  position:static !important;
  top:auto !important;
  z-index:1;
}
.d2-answered-drawer__head h3{
  margin:0;
  font-size:22px;
  letter-spacing:-.02em;
}
.d2-answered-filter{
  margin-bottom:8px;
  position:sticky;
  top:0;
  z-index:3;
  padding:6px 0 10px;
  background:linear-gradient(180deg,#12141a 82%, rgba(18,20,26,0));
}
.d2-answered-filter input{
  width:100%;
  border:1px solid rgba(255,236,243,.2);
  border-radius:12px;
  padding:10px 12px;
  background:rgba(255,241,245,.04);
  color:#f6edf2;
  font-size:13px;
}
.d2-answered-filter input::placeholder{
  color:#a5929b;
}

.d2-answered{
  list-style:none;
  margin:10px 0 0;
  padding:0;
  display:grid;
  gap:8px;
}
.d2-answered__item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  border:1px solid rgba(255,236,243,.12);
  border-radius:14px;
  padding:10px 12px;
  background:rgba(255,241,245,.03);
  transition:opacity .16s ease, transform .16s ease;
}
.d2-answered__content{
  min-width:0;
  display:grid;
  gap:4px;
  justify-items:start;
}
.d2-answered__content .d2-pill{
  width:fit-content;
  justify-self:start;
}
.d2-answered__item.is-out{
  opacity:0;
  transform:translateY(8px) scale(.985);
}
.d2-answered__item--yes{
  border-color:rgba(76,125,96,.65);
  background:linear-gradient(180deg, rgba(25,39,32,.46), rgba(17,24,21,.42));
}
.d2-answered__item--no{
  border-color:rgba(150,63,72,.68);
  background:linear-gradient(180deg, rgba(49,20,25,.42), rgba(31,16,19,.4));
}
.d2-answered__date{
  color:#b59fa8;
  font-size:12px;
  letter-spacing:.03em;
}
.d2-answered__location{
  font-size:15px;
  font-weight:700;
  color:#e7d7de;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.d2-mini-actions{
  margin-left:0;
  display:inline-flex;
  gap:6px;
  flex-wrap:nowrap;
  justify-self:end;
}
.d2-mini-btn{
  border:1px solid rgba(255,236,243,.2);
  border-radius:10px;
  background:#1f2229;
  color:#f2e3ea;
  font-size:11px;
  font-weight:800;
  padding:5px 9px;
  cursor:pointer;
}
.d2-mini-btn--yes{
  background:#252831;
  color:#ecdce4;
}
.d2-mini-btn--no{
  background:#252831;
  color:#ecdce4;
}
.d2-mini-btn.is-active{
  background:#fff1f5;
  color:#0b0b0d;
  border-color:#fff1f5;
}
.d2-mini-btn--reset{
  background:transparent;
  color:#bba8b0;
}

.d2-empty{
  border:1px dashed rgba(255,236,243,.2);
  border-radius:16px;
  padding:20px;
  color:#bea8b1;
  font-size:15px;
  background:rgba(255,241,245,.03);
}
.d2-muted{ color:#bca8b1; }
.d2-hidden{ display:none !important; }
.d2-copy-toast{
  position:fixed;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  z-index:1600;
  border:1px solid rgba(255,236,243,.2);
  border-radius:999px;
  padding:9px 14px;
  background:rgba(15,17,22,.92);
  color:#f6edf2;
  font-size:13px;
  font-weight:700;
  box-shadow:0 14px 34px rgba(0,0,0,.36);
  transition:opacity .2s ease, transform .2s ease;
}
.d2-copy-toast.is-error{
  border-color:rgba(255,156,172,.55);
  color:#ffdbe3;
}
.d2-copy-toast.is-out{
  opacity:0;
  transform:translateX(-50%) translateY(8px);
}
@keyframes d2CountPulse{
  0%{ opacity:.82; filter:blur(.45px); transform:translateY(.2px); }
  100%{ opacity:1; filter:none; transform:none; }
}

@media (max-width: 980px){
  .d2-stats{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .d2-main-panels{ grid-template-columns:1fr; }
}
@media (max-width: 640px){
  .d2-shell{
    margin:14px 0 34px;
  }
  .d2-hero{ padding:20px 16px; border-radius:22px; }
  .d2-hero-cal-actions{
    top:12px;
    right:12px;
    gap:6px;
  }
  .d2-cal-mini{
    width:34px;
    height:34px;
    border-radius:10px;
  }
  .d2-cal-mini svg{
    width:20px;
    height:20px;
  }
  .d2-cal-mini .d2-cal-mini__icon{
    width:22px !important;
    height:22px !important;
    min-width:22px;
    min-height:22px;
    max-width:22px;
    max-height:22px;
  }
  .d2-cal-mini__tip{
    min-width:180px;
    max-width:220px;
    font-size:11px;
  }
  .d2-panel{ padding:14px; border-radius:18px; }
  .d2-panel__head{ flex-direction:column; align-items:flex-start; }
  .d2-panel__head-right{ width:100%; flex-direction:column; align-items:stretch; }
  .d2-hero-tools{
    width:100%;
    flex-direction:column;
    align-items:stretch;
  }
  .d2-ical-links{
    width:100%;
    min-width:0;
    justify-items:stretch;
  }
  .d2-ical-link{
    width:100%;
  }
  .d2-ical-link__actions{
    justify-content:stretch;
  }
  .d2-ical-link__actions .d2-inline-link{
    flex:1;
    text-align:center;
  }
  .d2-project-filter{
    width:100%;
    overflow:auto;
    flex-wrap:nowrap;
    padding:8px 10px;
    top:74px;
  }
  .d2-project-chip{ white-space:nowrap; }
  .d2-filter input{ width:100%; }
  .d2-confirmed-item__meta{
    flex-wrap:wrap;
    gap:4px 7px;
  }
  .d2-confirmed-item__flag{
    margin-left:0;
  }
  .d2-request__layout{
    grid-template-columns:64px minmax(0,1fr);
    gap:8px;
  }
  .d2-datebox{
    height:68px;
    min-height:68px;
  }
  .d2-request__body{
    grid-template-columns:1fr;
    grid-template-areas:
      "meta"
      "title"
      "actions";
    gap:6px;
  }
  .d2-form{
    width:100%;
  }
  .d2-choice{
    flex:1;
    min-width:0;
    padding:8px 9px;
  }
  .d2-request h3{ font-size:17px; }
  .d2-request{
    height:auto;
    min-height:0;
  }
  .d2-onboard-modal__dialog{
    margin:14px auto 0;
    border-radius:18px;
    padding:16px 14px;
  }
  .setup-welcome-modal.is-open{
    align-items:flex-start;
    padding:14px 12px;
  }
  .setup-welcome-modal .d2-onboard-modal__dialog{
    margin:8px auto 0;
    padding:18px 14px;
  }
  .setup-welcome-list li{
    font-size:14px;
    padding:9px 10px 9px 34px;
  }
  .d2-onboard-actions{
    flex-direction:column-reverse;
  }
  .d2-onboard-actions .d2-btn{
    width:100%;
  }
  .d2-request__layout{ grid-template-columns:1fr; }
  .d2-datebox{
    height:auto;
    min-height:0;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:baseline;
    gap:8px;
    text-align:left;
    padding:8px 10px;
  }
  .d2-datebox__day{ font-size:30px; margin:0; }
  .d2-answered__item{
    grid-template-columns:1fr;
    align-items:stretch;
  }
  .d2-mini-actions{
    justify-self:start;
  }
  .d2-answered-fab{ right:12px; bottom:14px; }
}

/* ===== SaaS Theme: Team + Stats ===== */
body.page-crew,
body.page-stats,
body.page-artists,
body.page-profile,
body.page-artist-overview,
body.page-manage-events{
  background:
    radial-gradient(900px 420px at 20% -6%, rgba(132,178,255,.16) 0%, transparent 68%),
    radial-gradient(760px 380px at 82% 10%, rgba(248,216,228,.12) 0%, transparent 70%),
    linear-gradient(180deg,#0a0d14 0%,#0b0f18 46%,#0a0c12 100%);
  color:#f6edf1;
}
body.page-crew .site-footer,
body.page-stats .site-footer,
body.page-artists .site-footer,
body.page-profile .site-footer,
body.page-artist-overview .site-footer,
body.page-manage-events .site-footer{
  color:#ab9aa2;
  border-top:1px solid rgba(255,236,243,.12);
}
body.page-crew .wrap,
body.page-stats .wrap,
body.page-artists .wrap,
body.page-profile .wrap,
body.page-artist-overview .wrap,
body.page-manage-events .wrap{
  position:relative;
  max-width:1180px;
  width:min(1120px, calc(100vw - 48px));
  margin-inline:auto;
}
body.page-profile .wrap{
  max-width:1400px;
  width:min(1360px, calc(100vw - 36px));
}
body.page-crew .wrap::before,
body.page-stats .wrap::before,
body.page-artists .wrap::before,
body.page-profile .wrap::before,
body.page-artist-overview .wrap::before,
body.page-manage-events .wrap::before{
  content:"";
  position:absolute;
  width:380px;
  height:380px;
  right:-80px;
  top:80px;
  border-radius:50%;
  background:radial-gradient(circle,#f8d8e4 0%,rgba(248,216,228,.04) 72%);
  filter:blur(52px);
  opacity:.22;
  pointer-events:none;
  z-index:0;
}
body.page-crew .tb-card,
body.page-stats .stats-card,
body.page-artists .page-card,
body.page-artists .project-card,
body.page-profile .tb-card,
body.page-artist-overview .page-card,
body.page-artist-overview .artist-card{
  position:relative;
  z-index:1;
  border:1px solid rgba(255,236,243,.14);
  border-radius:24px;
  background:linear-gradient(180deg,rgba(20,21,25,.92),rgba(16,17,20,.92));
  box-shadow:0 24px 50px rgba(0,0,0,.34);
}
body.page-crew .tb-card--focus{
  border-radius:30px;
}
body.page-crew .tb-title,
body.page-profile .tb-title,
body.page-stats .page-title{
  margin:0;
  letter-spacing:-.03em;
  font-family:Sora,Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:linear-gradient(180deg,#fff7fa 0%,#f4dce4 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
body.page-crew .tb-sub,
body.page-profile .tb-sub{
  color:#bea9b2;
}
body.page-crew .input,
body.page-profile .input,
body.page-stats .year-btn{
  border:1px solid rgba(255,236,243,.18);
  background:rgba(255,241,245,.04);
  color:#f6edf2;
}
body.page-crew .input::placeholder{
  color:#9f8e95;
}
body.page-profile .input::placeholder{
  color:#9f8e95;
}
body.page-crew .tb-btn{
  border:1px solid rgba(255,236,243,.2);
  background:rgba(255,241,245,.04);
  color:#f6eaf0;
}
body.page-profile .tb-btn{
  border:1px solid rgba(255,236,243,.2);
  background:rgba(255,241,245,.04);
  color:#f6eaf0;
}
body.page-crew .tb-btn--yes{
  background:#fff1f5;
  color:#0a0a0b;
  border-color:#fff1f5;
}
body.page-profile .tb-btn--yes{
  background:#fff1f5;
  color:#0a0a0b;
  border-color:#fff1f5;
}
body.page-crew .tb-btn--ghost{
  background:transparent;
  color:#e7d8df;
}
body.page-profile .tb-btn--ghost{
  background:transparent;
  color:#e7d8df;
}
body.page-crew .alert{
  border:1px solid rgba(255,236,243,.18);
  background:rgba(255,241,245,.08) !important;
  color:#f6edf2 !important;
}
body.page-profile .tb-toast{
  background:#fff1f5;
  color:#111217;
}
body.page-profile .field__label,
body.page-profile h3{
  color:#f3e8ee;
}
body.page-profile .profile-card-kicker{
  color:#b79aa5;
}
body.page-profile .profile-summary-main strong,
body.page-profile .profile-summary-item strong,
body.page-profile .profile-account-section__head h4{
  color:#f6edf2;
}
body.page-profile .profile-summary-main span,
body.page-profile .profile-summary-item span{
  color:#bea9b2;
}
body.page-profile .profile-account-section + .profile-account-section{
  border-top-color:rgba(255,236,243,.12);
}
body.page-profile .profile-account-pane--security{
  border-left-color:rgba(255,236,243,.12);
  border-top-color:rgba(255,236,243,.12);
}
body.page-profile .profile-side-section + .profile-side-section{
  border-top-color:rgba(255,236,243,.12);
}
body.page-profile .profile-project-chip{
  border-color:rgba(255,236,243,.12);
  background:rgba(255,241,245,.05);
  color:#f6edf2;
}
body.page-profile .profile-project-chip.is-visible-card{
  border-color:rgba(255,236,243,.14);
  background:rgba(255,241,245,.05);
}
body.page-profile .profile-project-chip.is-hidden-card{
  border-color:rgba(244,100,120,.34);
  background:rgba(115,22,33,.34);
  color:#fff1f4;
}
body.page-profile .profile-project-chip:hover{
  border-color:rgba(255,236,243,.26);
}
body.page-profile .profile-project-chip.is-hidden-card:hover{
  border-color:rgba(255,140,156,.42);
  background:rgba(130,24,38,.42);
}
body.page-profile .profile-projects-scroll{
  scrollbar-width:thin;
  scrollbar-color:rgba(255,236,243,.24) transparent;
}
body.page-profile .profile-projects-scroll::-webkit-scrollbar{
  width:8px;
}
body.page-profile .profile-projects-scroll::-webkit-scrollbar-track{
  background:transparent;
}
body.page-profile .profile-projects-scroll::-webkit-scrollbar-thumb{
  background:rgba(255,236,243,.18);
  border-radius:999px;
}
body.page-profile .tb-card{
  padding:14px 14px;
}
body.page-profile .tb-card__head{
  margin-bottom:.45rem;
}
body.page-profile .form{
  gap:.7rem;
  margin-top:.65rem;
}
body.page-profile .field__label{
  margin-bottom:.22rem;
  font-size:.8rem;
}
body.page-profile .input{
  min-height:40px;
  padding:.62rem .78rem;
  border-radius:12px;
}
body.page-profile hr{
  border:0;
  border-top:1px solid rgba(255,236,243,.14);
  margin:10px 0;
}
body.page-profile .profile-skill-box,
body.page-profile .profile-plan-summary,
body.page-profile .profile-payment-form,
body.page-profile .profile-plan-impact{
  border-color:rgba(255,236,243,.14);
  background:rgba(255,241,245,.04);
}
body.page-profile .profile-save-state,
body.page-profile .profile-overview-skill{
  border:1px solid rgba(255,236,243,.16);
  background:rgba(255,241,245,.06);
  color:#f6edf2;
}
body.page-profile .profile-save-state--muted{
  background:rgba(255,255,255,.03);
  color:#d8c6ce;
}
body.page-profile .profile-overview-identity strong{
  color:#fff3f7;
}
body.page-profile .profile-overview-identity span,
body.page-profile .profile-overview-empty,
body.page-profile .profile-inline-note{
  color:#bea9b2;
}
body.page-profile .profile-plan-summary__item span,
body.page-profile .profile-plan-desc,
body.page-profile .profile-plan-highlights,
body.page-profile .profile-no-results,
body.page-profile .profile-no-artists,
body.page-profile .profile-artist-stats{
  color:#bea9b2;
}
body.page-profile .profile-plan-summary__item strong,
body.page-profile .profile-plan-option__head h4,
body.page-profile .profile-artist-row__name{
  color:#f6edf2;
}
body.page-profile .profile-plan-option{
  border-color:rgba(255,236,243,.14);
  background:
    radial-gradient(220px 70px at -10% -20%, rgba(255,232,240,.09), transparent 72%),
    linear-gradient(180deg,rgba(22,23,28,.94),rgba(18,19,24,.94));
}
body.page-profile .profile-plan-option.is-active-plan{
  border-color:rgba(255,241,245,.48);
  box-shadow:0 0 0 1px rgba(255,241,245,.48) inset, 0 12px 28px rgba(0,0,0,.28);
}
body.page-profile .profile-plan-option.is-popular-plan{
  background:linear-gradient(180deg,#1a1d24,#13151a);
  border-color:#7a8291;
  box-shadow:0 0 0 1px rgba(122,130,145,.65) inset;
  min-height:500px;
  transform:translateY(-14px);
}
body.page-profile .profile-plan-option__tag{
  border-color:rgba(255,236,243,.22);
  color:#f0dfe6;
}
body.page-profile .profile-skill-chip,
body.page-profile .profile-suggestion-chip{
  border-color:rgba(255,236,243,.18);
  background:rgba(255,241,245,.07);
  color:#f6edf2;
  padding:5px 9px;
  font-size:.82rem;
}
body.page-profile .profile-skill-chip em{
  color:#ffc5cf;
}
body.page-profile .profile-plan-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:10px;
}
body.page-profile .profile-plan-summary{
  margin:6px 0 8px;
  padding:8px 10px;
}
body.page-profile .profile-plan-impact{
  margin-top:8px;
  padding:10px;
}
body.page-profile .profile-plan-impact ul{
  gap:2px;
}
body.page-profile .profile-plan-current{
  gap:3px;
}
body.page-profile .profile-plan-modal .profile-payment-form,
body.page-profile .profile-plan-modal .profile-plan-impact{
  background:rgba(255,241,245,.05);
  border-color:rgba(255,236,243,.16);
}
@media (max-width:980px){
  body.page-profile .profile-plan-grid{
    grid-template-columns:1fr;
  }
  body.page-profile .profile-plan-option{
    padding:16px 14px;
    min-height:0;
  }
  body.page-profile .profile-plan-option.is-popular-plan{
    min-height:0;
    transform:none;
  }
  body.page-profile .profile-plan-option__head h4{
    font-size:20px;
  }
  body.page-profile .profile-plan-option__head strong{
    font-size:30px;
  }
  body.page-profile .profile-plan-desc{
    font-size:15px;
  }
  body.page-profile .profile-plan-highlights{
    font-size:14px;
  }
}
body.page-profile .artist-seg{
  background:rgba(255,241,245,.06);
  border-color:rgba(255,236,243,.14);
}
body.page-profile .artist-seg .tb-seg__btn{
  color:#d8c6ce;
}
body.page-profile .artist-seg .tb-seg__btn.is-active{
  background:#fff1f5;
  color:#101114;
}
body.page-profile .profile-artist-row{
  border-color:rgba(255,236,243,.12);
  background:rgba(255,241,245,.04);
}
body.page-profile .profile-artist-row.is-visible-card{
  background:linear-gradient(180deg, rgba(22,30,26,.72) 0%, rgba(18,24,22,.62) 100%);
  border-color:rgba(132,182,152,.34);
}
body.page-profile .profile-artist-row.is-hidden-card{
  background:linear-gradient(180deg, rgba(42,23,28,.66) 0%, rgba(30,18,21,.6) 100%);
  border-color:rgba(225,127,145,.32);
}
.crew-mini-card{
  border:1px solid rgba(255,236,243,.14);
  border-radius:12px;
  padding:10px;
  margin-bottom:8px;
  background:rgba(255,241,245,.03);
}
.crew-project-card{
  border:1px solid rgba(255,236,243,.14);
  border-radius:14px;
  padding:12px;
  background:rgba(255,241,245,.03);
}
.crew-project-member{
  background:rgba(255,241,245,.06);
  border:1px solid rgba(255,236,243,.12);
  border-radius:10px;
  padding:8px 10px;
}
body.page-crew .crew-project-member > div:first-child strong{
  display:block;
  font-size:1.06rem;
  line-height:1.24;
  letter-spacing:-0.01em;
}
body.page-crew .crew-project-member .tb-sub{
  margin-top:4px;
  font-size:0.86rem;
  line-height:1.28;
  color:#b9a6af;
}
body.page-stats .stats-container{
  max-width:1180px;
}
body.page-artists .page-card,
body.page-artist-overview .page-card{
  background:linear-gradient(150deg,rgba(20,21,25,.9),rgba(14,15,18,.92));
  width:100%;
  max-width:none;
  margin:22px 0 46px;
  padding:clamp(22px,2.2vw,34px);
}
body.page-artists .page-card{
  padding:clamp(22px,2.2vw,34px);
}
body.page-artists .page-card__eyebrow{
  margin-bottom:10px;
}
body.page-artists .page-card__hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
body.page-artists .page-card__quota{
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(255,236,243,.16);
  border-radius:999px;
  padding:7px 12px;
  background:rgba(255,241,245,.04);
  color:#d8c3cc;
  font-size:13px;
  font-weight:800;
  letter-spacing:.02em;
}
body.page-artists .page-card > h1,
body.page-artists .page-card__hero h1,
body.page-artist-overview .page-header h1{
  margin:0;
  letter-spacing:-.03em;
  font-family:Sora,Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:linear-gradient(180deg,#fff7fa 0%,#f4dce4 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
body.page-artists .page-card > p,
body.page-artist-overview .page-header p{
  color:#bea9b2;
}
body.page-artists .add-form input[type="text"],
body.page-artists .project-edit-form input[type="text"],
body.page-artists .project-collab-form .project-select,
body.page-artists .project-collab-form .project-collab-search,
body.page-artist-overview .search-input{
  border:1px solid rgba(255,236,243,.18);
  background:rgba(255,241,245,.04);
  color:#f6edf2;
}
body.page-artists .artists-filter-input{
  border:1px solid rgba(255,236,243,.18);
  background:
    radial-gradient(220px 80px at 0% 0%, rgba(255,232,240,.08), transparent 72%),
    rgba(255,241,245,.04);
  color:#f6edf2;
  min-height:42px;
  padding:10px 14px;
  border-radius:22px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
body.page-artists .artists-filter-input::placeholder{
  color:#bba8b1;
}
body.page-artists .artists-filter-input:focus{
  border-color:rgba(255,236,243,.34);
  background:
    radial-gradient(220px 80px at 0% 0%, rgba(255,232,240,.1), transparent 72%),
    rgba(255,241,245,.08);
  box-shadow:0 0 0 4px rgba(255,236,243,.06);
}
body.page-artists .add-form input[type="text"],
body.page-artists .project-edit-form input[type="text"],
body.page-artists .project-collab-form .project-select,
body.page-artists .project-collab-form .project-collab-search{
  min-height:42px;
  padding:10px 12px;
}
body.page-artists .project-collab-form .project-select{
  appearance:auto;
  -webkit-appearance:auto;
  -moz-appearance:auto;
  background-color:rgba(255,241,245,.08);
  background-image:none;
  background-position:initial;
  background-size:initial;
  background-repeat:initial;
}
body.page-artists .project-collab-form .project-collab-search{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
body.page-artists .project-collab-form .project-collab-search::placeholder{
  color:#bba8b1;
}
body.page-artists .project-collab-form .project-collab-search:focus{
  border-color:rgba(255,236,243,.34);
  background:
    radial-gradient(220px 80px at 0% 0%, rgba(255,232,240,.1), transparent 72%),
    rgba(255,241,245,.08);
  box-shadow:0 0 0 4px rgba(255,236,243,.06);
}
body.page-artists .project-collab-form .project-collab-search:disabled{
  color:#8f7f87;
  background:rgba(255,241,245,.035);
  border-color:rgba(255,236,243,.12);
}
body.page-artists .project-grid{
  gap:16px;
}
body.page-artists .project-card{
  position:relative;
  z-index:0;
  border-radius:20px;
  padding:16px;
  background:
    radial-gradient(260px 90px at -10% -20%, rgba(255,232,240,.09), transparent 72%),
    linear-gradient(180deg,rgba(23,24,29,.94),rgba(19,20,25,.94));
}
body.page-artists .project-card:focus-within{
  z-index:40;
}
body.page-artists .project-collabs,
body.page-artists .project-collabs__none,
body.page-artists .artist-count,
body.page-artist-overview .badge,
body.page-artist-overview .event-personnel,
body.page-artist-overview .event-location{
  color:#bea9b2;
}
body.page-artists .artist-name,
body.page-artist-overview .artist-card__header h2,
body.page-artist-overview .event-date{
  color:#f6edf2;
}
body.page-artists .btn,
body.page-artist-overview .btn{
  border:1px solid rgba(255,236,243,.2);
  background:rgba(255,241,245,.04);
  color:#f6eaf0;
  min-height:38px;
  font-weight:800;
}
body.page-artists .btn-black,
body.page-artist-overview .btn-secondary{
  background:#fff1f5;
  color:#0a0a0b;
  border-color:#fff1f5;
}
body.page-artists .project-edit-form,
body.page-artists .project-collab-form{
  grid-template-columns:1fr 74px;
  gap:8px;
}
body.page-artists .project-edit-form{
  grid-template-columns:1fr auto;
}
body.page-artists .btn-save{
  background:#fff1f5;
  color:#0a0a0b;
  border-color:#fff1f5;
  min-width:88px;
  padding:0 14px;
  letter-spacing:.01em;
  box-shadow:0 6px 18px rgba(255,241,245,.14);
}
body.page-artists .btn-save:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(255,241,245,.18);
}
body.page-artists .project-card__actions{
  gap:10px;
}
body.page-artists .project-collab-picker{
  position:relative;
  z-index:50;
}
body.page-artists .project-collab-suggestions{
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  right:0;
  z-index:60;
  display:grid;
  gap:6px;
  padding:8px;
  border-radius:16px;
  border:1px solid rgba(255,236,243,.18);
  background:
    radial-gradient(260px 90px at 0% 0%, rgba(255,232,240,.09), transparent 72%),
    linear-gradient(180deg, rgba(26,27,33,.98), rgba(18,19,24,.98));
  box-shadow:0 18px 38px rgba(0,0,0,.34);
}
body.page-artists .project-collab-suggestions[hidden]{
  display:none !important;
}
body.page-artists .project-collab-option{
  width:100%;
  min-height:40px;
  padding:0 12px;
  border-radius:12px;
  border:1px solid rgba(255,236,243,.08);
  background:rgba(255,241,245,.05);
  color:#f6edf2;
  font-size:14px;
  font-weight:750;
  text-align:left;
  cursor:pointer;
  transition:background-color .16s ease, border-color .16s ease, transform .16s ease;
}
body.page-artists .project-collab-option:hover{
  background:rgba(255,241,245,.11);
  border-color:rgba(255,236,243,.18);
  transform:translateY(-1px);
}
body.page-artists .btn-chip{
  border-color:rgba(255,236,243,.18);
  background:rgba(255,241,245,.06);
  color:#f6edf2;
  min-height:30px;
  padding:5px 10px;
}
body.page-artists .project-empty,
body.page-artist-overview .artist-overview-empty,
body.page-artist-overview .empty-state{
  border:1px dashed rgba(255,236,243,.2);
  border-radius:14px;
  padding:18px;
  color:#bea9b2;
  background:rgba(255,241,245,.03);
}
body.page-artists .artist-delete-btn{
  border:1px solid rgba(255,236,243,.24);
  background:rgba(255,83,107,.9);
}
body.page-artists .project-delete-modal{
  position:fixed;
  inset:0;
  z-index:1800;
  display:none;
}
body.page-artists .project-delete-modal.is-open{
  display:block;
}
body.page-artists.artists-modal-open{
  overflow:hidden;
}
body.page-artists .project-delete-modal__backdrop{
  position:absolute;
  inset:0;
  border:0;
  background:rgba(8,10,16,.62);
  backdrop-filter:blur(8px) saturate(115%);
  -webkit-backdrop-filter:blur(8px) saturate(115%);
  cursor:pointer;
}
body.page-artists .project-delete-modal__dialog{
  position:relative;
  z-index:1;
  width:min(560px, calc(100vw - 24px));
  margin:10vh auto 0;
  border:1px solid rgba(255,236,243,.2);
  border-radius:22px;
  padding:20px;
  color:#f6edf2;
  background:
    radial-gradient(380px 130px at 12% -16%, rgba(255,232,240,.14), transparent 72%),
    linear-gradient(180deg,rgba(24,26,33,.86),rgba(16,18,24,.86));
  box-shadow:0 28px 60px rgba(0,0,0,.5);
}
body.page-artists .project-delete-modal__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
body.page-artists .project-delete-modal__head h3{
  margin:0;
  font-size:30px;
  line-height:1.1;
  letter-spacing:-0.01em;
}
body.page-artists .project-delete-modal__close{
  width:34px;
  height:34px;
  border-radius:11px;
  border:1px solid rgba(255,236,243,.18);
  background:rgba(255,241,245,.08);
  color:#f6edf2;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
body.page-artists .project-delete-modal__close:hover{
  background:rgba(255,241,245,.16);
}
body.page-artists .project-delete-modal__copy{
  margin:0 0 12px 0;
  color:#d8c8d0;
}
body.page-artists .project-delete-modal__project{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid rgba(255,236,243,.16);
  border-radius:14px;
  padding:11px 13px;
  background:rgba(255,241,245,.06);
  margin-bottom:12px;
}
body.page-artists .project-delete-modal__project span{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#bea9b2;
}
body.page-artists .project-delete-modal__project strong{
  font-size:16px;
}
body.page-artists .project-delete-modal__impact{
  margin:0;
  padding-left:18px;
  display:grid;
  gap:6px;
  color:#e8dce2;
}
body.page-artists .project-delete-modal__actions{
  margin-top:16px;
  display:flex;
  justify-content:flex-end;
  gap:10px;
}
body.page-artists .btn-danger-solid{
  border:1px solid rgba(255,164,177,.44);
  background:linear-gradient(180deg, rgba(255,103,128,.96), rgba(236,58,88,.96));
  color:#fff;
  font-weight:800;
  padding:10px 16px;
}
body.page-artists .btn-danger-solid:hover{
  filter:brightness(1.05);
}
@media (max-width:720px){
  body.page-artists .project-delete-modal__dialog{
    margin:16px auto 0;
    border-radius:16px;
    padding:14px;
  }
  body.page-artists .project-delete-modal__head h3{
    font-size:24px;
  }
  body.page-artists .project-delete-modal__actions{
    flex-direction:column-reverse;
  }
  body.page-artists .project-delete-modal__actions .btn{
    width:100%;
  }
}
body.page-artist-overview .event-row{
  grid-template-columns:112px 1fr 280px;
  border:1px solid rgba(255,236,243,.12) !important;
  border-radius:12px !important;
  background:rgba(255,241,245,.04) !important;
  margin-bottom:8px;
  padding:11px 14px !important;
}
body.page-artist-overview .badge{
  background:rgba(255,241,245,.08);
  border:1px solid rgba(255,236,243,.16);
}
body.page-artist-overview .artist-card{
  padding:18px;
}
body.page-artist-overview .event-list{
  display:grid;
  gap:8px;
}
body.page-artist-overview .event-personnel{
  text-align:right;
}
body.page-artist-overview .btn-secondary{
  margin-top:10px;
}
body.page-artist-overview .search-input::placeholder,
body.page-artists .add-form input[type="text"]::placeholder{
  color:#9f8e95;
}
body.page-manage-events{
  background:
    radial-gradient(700px 280px at 50% -120px, rgba(20,26,48,.08) 0%, transparent 70%),
    linear-gradient(180deg,#f3f4f7 0%,#eceef3 100%);
  color:#121318;
}
body.page-manage-events .site-footer{
  color:#666d7a;
  border-top:1px solid rgba(16,24,40,.08);
}
body.page-manage-events .wrap::before{
  display:none;
}
body.page-manage-events .event-table-wide{
  position:relative;
  background:linear-gradient(180deg,#ffffff 0%,#f8f9fc 100%);
  border:1px solid #d9deea;
  box-shadow:
    0 14px 34px rgba(16,24,40,.10),
    0 1px 0 rgba(255,255,255,.9) inset;
}
body.page-manage-events .event-table-wide::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:24px;
  pointer-events:none;
  box-shadow:0 0 0 1px rgba(255,255,255,.45) inset;
}
body.page-manage-events .event-table-head{
  color:#7d808a;
}
body.page-manage-events .month-separator{
  color:#5e636f;
}
body.page-manage-events .event-row{
  color:#1d1d1f;
  background:#f3f5fa;
  border-color:#e2e4eb;
}
body.page-stats .page-title{
  font-size:clamp(28px,4.2vw,44px);
}
body.page-stats .year-btn{
  color:#e8d8df;
}
body.page-stats .year-btn.active,
body.page-stats .year-btn:hover{
  background:#fff1f5;
  color:#0a0a0b;
  border-color:#fff1f5;
}
body.page-stats .stats-row{
  border-bottom:1px solid rgba(255,236,243,.12);
  color:#f3e7ec;
}
body.page-stats .stats-card h3{
  color:#f7edf2;
}
body.page-stats .stats-row span{
  color:#bea9b2;
}

@media (max-width: 900px){
  body.page-crew .tb-card,
  body.page-stats .stats-card{
    border-radius:18px;
  }
  body.page-artists .page-card{
    padding:22px 16px;
    margin:14px 0 34px;
  }
  body.page-artists .wrap,
  body.page-artist-overview .wrap{
    width:min(1120px, calc(100vw - 24px));
  }
  body.page-artist-overview .event-row{
    grid-template-columns:1fr;
    gap:5px;
  }
  body.page-artist-overview .event-personnel{
    text-align:left;
  }
}

/* ===== Create Event 2 ===== */
body.page-create-event-2{
  background:
    radial-gradient(960px 460px at 50% -8%, rgba(255,230,238,.14) 0%, transparent 65%),
    radial-gradient(820px 360px at 18% -10%, rgba(248,216,228,.08) 0%, transparent 70%),
    linear-gradient(180deg,#090a0b 0%,#0f1013 100%);
  color:#f6edf1;
  font-family:Sora,"Helvetica Neue",Helvetica,Arial,sans-serif;
}
body.page-create-event-2 .site-footer{
  color:#ab9aa2;
  border-top:1px solid rgba(255,236,243,.12);
}
body.page-create-event-2 .wrap{
  position:relative;
  width:min(1120px, calc(100vw - 48px));
  max-width:none;
}
body.page-create-event-2{
  --ce2-field-radius:14px;
  --ce2-field-height:54px;
  --ce2-field-pad-x:16px;
}
.ce2-shell{
  position:relative;
  display:grid;
  gap:16px;
  margin:22px 0 46px;
}
.ce2-backdrop{
  position:absolute;
  border-radius:50%;
  filter:blur(46px);
  pointer-events:none;
  opacity:.14;
  z-index:0;
}
.ce2-backdrop--a{
  width:420px;
  height:420px;
  top:-120px;
  left:-90px;
  background:radial-gradient(circle,#ffe5ee 0%,rgba(255,229,238,.05) 70%);
}
.ce2-backdrop--b{
  width:360px;
  height:360px;
  top:160px;
  right:-70px;
  background:radial-gradient(circle,#f8d8e4 0%,rgba(248,216,228,.05) 72%);
}
.ce2-card{
  position:relative;
  z-index:1;
}
.ce2-layout{
  display:grid;
  gap:14px;
  grid-template-columns:1fr;
  align-items:start;
  max-width:none;
  margin-inline:0;
}
.ce2-card{
  border:1px solid rgba(255,236,243,.14);
  border-radius:24px;
  padding:28px;
  background:linear-gradient(160deg,rgba(20,23,34,.94),rgba(14,17,26,.95));
  box-shadow:0 22px 44px rgba(0,0,0,.38);
  color:#f6edf2;
}
.ce2-card__head{
  margin-bottom:10px;
}
.ce2-card__eyebrow{
  margin-bottom:10px;
}
.ce2-card__head h2{
  margin:0;
  font-size:28px;
  line-height:1.02;
  letter-spacing:-.02em;
  color:#fff7fa;
}
.ce2-card__head p{
  margin:6px 0 0;
  color:#b7bfd1;
  font-size:14px;
  font-weight:600;
}
.ce2-card__head--toggle{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.ce2-expand-btn{
  border:1px solid rgba(255,236,243,.22);
  background:rgba(255,241,245,.06);
  color:#eef1fb;
  border-radius:999px;
  padding:9px 12px;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
}
.ce2-ai-panel{
  margin-top:8px;
}
.ce2-block{
  border:1px solid rgba(255,236,243,.12);
  border-radius:16px;
  background:rgba(255,241,245,.03);
  padding:10px;
}
.ce2-block + .ce2-block{
  margin-top:10px;
}
.ce2-card--manual #ce2SingleForm > .ce2-block{
  margin-top:14px;
}
.ce2-card--manual #ce2SingleForm > .ce2-event-details-wrap > .ce2-block{
  margin-top:14px;
}
.ce2-event-details-wrap{
  display:block;
}
.ce2-event-details-wrap.is-collapsed{
  margin-top:14px;
}
.ce2-event-details-collapsed-hint{
  border:1px dashed rgba(255,236,243,.24);
  border-radius:14px;
  background:rgba(255,241,245,.03);
  color:#c8cedf;
  padding:12px 14px;
  font-size:13px;
  font-weight:650;
}
.ce2-block__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.ce2-block__head h3{
  margin:0;
  font-size:19px;
  letter-spacing:.01em;
  color:#f4f6ff;
}
.ce2-link-btn{
  border:none;
  background:transparent;
  color:#d5dbeb;
  font-size:13px;
  font-weight:750;
  padding:0;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:3px;
}
.ce2-label{
  display:block;
  font-size:13px;
  color:#c8cedf;
  margin:0 0 6px;
  letter-spacing:.02em;
  font-weight:700;
}
.ce2-field-note{
  margin-top:6px;
  font-size:12px;
  color:#9ea7bd;
}
/* Force readable field colors on create_event (overrides global input[type=...] rules) */
body.page-create-event-2 input.ce2-input,
body.page-create-event-2 textarea.ce2-input,
body.page-create-event-2 select.ce2-input{
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,236,243,.18) !important;
  color:#f6edf2 !important;
  -webkit-text-fill-color:#f6edf2 !important;
}
.ce2-input{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,236,243,.18);
  color:#f6edf2;
  font-size:15px;
  font-weight:650;
  line-height:1.24;
  border-radius:var(--ce2-field-radius) !important;
  min-height:var(--ce2-field-height);
  padding:0 var(--ce2-field-pad-x);
}
textarea.ce2-input{
  min-height:150px;
  padding:12px var(--ce2-field-pad-x);
  line-height:1.35;
}
input.ce2-input::placeholder,
textarea.ce2-input::placeholder{
  color:rgba(229,214,222,.58) !important;
  -webkit-text-fill-color:rgba(229,214,222,.58) !important;
  opacity:1 !important;
  font-weight:400;
}
input.ce2-input::-webkit-input-placeholder,
textarea.ce2-input::-webkit-input-placeholder{
  color:rgba(229,214,222,.58) !important;
  -webkit-text-fill-color:rgba(229,214,222,.58) !important;
  opacity:1 !important;
}
input.ce2-input::-moz-placeholder,
textarea.ce2-input::-moz-placeholder{
  color:rgba(229,214,222,.58) !important;
  opacity:1 !important;
}
body.page-create-event-2 input.ce2-input[type="date"]{
  color-scheme:dark;
}
body.page-create-event-2 input.ce2-input[type="date"]::-webkit-datetime-edit,
body.page-create-event-2 input.ce2-input[type="date"]::-webkit-date-and-time-value,
body.page-create-event-2 input.ce2-input[type="date"]::-webkit-datetime-edit-text,
body.page-create-event-2 input.ce2-input[type="date"]::-webkit-datetime-edit-month-field,
body.page-create-event-2 input.ce2-input[type="date"]::-webkit-datetime-edit-day-field,
body.page-create-event-2 input.ce2-input[type="date"]::-webkit-datetime-edit-year-field{
  color:#f6edf2 !important;
  -webkit-text-fill-color:#f6edf2 !important;
}
body.page-create-event-2 input.ce2-input[type="date"]::-webkit-calendar-picker-indicator{
  opacity:.92;
  filter:invert(1) contrast(1.05);
}
.ce2-input:focus{
  border-color:rgba(255,236,243,.45);
  box-shadow:0 0 0 3px rgba(255,236,243,.14);
}
.ce2-grid-2{
  display:grid;
  gap:10px;
  grid-template-columns:1fr;
}
.ce2-grid-2--crew{
  grid-template-columns:1fr;
  gap:10px;
}
.ce2-grid-2--dates{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.ce2-date-to-wrap{
  opacity:.72;
  transition:opacity .16s ease;
}
.ce2-date-to-wrap.is-active{
  opacity:1;
}
.ce2-input--date-to{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,236,243,.14);
}
.ce2-date-to-wrap.is-active .ce2-input--date-to,
.ce2-input--date-to:focus{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,236,243,.45);
}
.ce2-subblock{
  min-width:0;
}
.ce2-selection-state{
  margin-top:10px;
  font-size:13px;
  color:#b8c0d4;
  font-weight:620;
  border-top:1px dashed rgba(255,236,243,.18);
  padding-top:8px;
}
.ce2-search-results{
  display:grid;
  gap:6px;
  margin-top:7px;
}
.ce2-token-input{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  min-height:var(--ce2-field-height);
  padding:8px var(--ce2-field-pad-x);
  border:1px solid rgba(255,236,243,.16);
  border-radius:var(--ce2-field-radius);
  background:rgba(255,255,255,.06);
  transition:border-color .16s ease, box-shadow .16s ease;
}
.ce2-token-input:focus-within{
  border-color:rgba(255,236,243,.45);
  box-shadow:0 0 0 2px rgba(255,236,243,.14);
}
.ce2-token-input__field{
  margin:0;
  min-height:34px;
  flex:1 1 160px;
  line-height:1.2;
}
/* Important: token input must not render a second inner field border */
body.page-create-event-2 .ce2-token-input input.ce2-token-input__field.ce2-input{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
  min-height:34px !important;
  height:auto !important;
  padding:0 2px !important;
}
.ce2-token-input__field:focus{
  outline:none;
}
.ce2-search-item{
  width:100%;
  border:1px solid rgba(255,236,243,.16);
  border-radius:var(--ce2-field-radius);
  background:rgba(255,255,255,.05);
  color:#f2f5ff;
  text-align:left;
  font-weight:800;
  font-size:14px;
  padding:10px 12px;
  cursor:pointer;
}
.ce2-search-item:hover{
  border-color:rgba(255,236,243,.32);
  background:rgba(255,241,245,.08);
}
.ce2-search-item--create{
  border-style:dashed;
  border-color:rgba(255,236,243,.35);
  background:rgba(255,241,245,.08);
  color:#ffeef6;
}
.ce2-chip-wrap{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:0;
  min-height:0;
}
.ce2-chip-wrap--single{
  min-height:0;
}
.ce2-chip{
  border:1px solid rgba(255,236,243,.2);
  border-radius:999px;
  background:#1a2233;
  color:#eef3ff;
  font-size:13px;
  font-weight:700;
  line-height:1;
  padding:10px 14px;
  cursor:pointer;
}
.ce2-chip span{
  margin-left:6px;
}
.ce2-chip--project{
  background:#fff1f5;
  border-color:#fff1f5;
  color:#0a0a0b;
}
.ce2-chip--req{
  border-color:rgba(255,236,243,.24);
}
.ce2-chip--ok{
  border-color:#8cd8a4;
  background:#dffbe6;
  color:#12371f;
}
.ce2-grid-2--event-bottom{
  margin-top:10px;
}
.ce2-toggle{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  padding:0 var(--ce2-field-pad-x);
  border:1px solid rgba(255,236,243,.16);
  border-radius:var(--ce2-field-radius);
  background:rgba(255,255,255,.05);
  cursor:pointer;
  min-height:var(--ce2-field-height);
  box-sizing:border-box;
  color:#e4eaf8;
  font-size:14px;
  font-weight:700;
}
.ce2-toggle input{
  display:none;
}
.ce2-toggle-ui{
  width:22px;
  height:22px;
  border-radius:8px;
  border:2px solid #9aa6c4;
  background:transparent;
  display:inline-block;
  position:relative;
  transition:all .16s ease;
  flex:0 0 22px;
}
.ce2-toggle input:checked + .ce2-toggle-ui{
  background:#e8efff;
  border-color:#e8efff;
}
.ce2-toggle input:checked + .ce2-toggle-ui::after{
  content:"";
  position:absolute;
  left:6px;
  top:2px;
  width:5px;
  height:10px;
  border:2px solid #0f172a;
  border-top:none;
  border-left:none;
  transform:rotate(45deg);
}
.ce2-quickdates{
  margin-top:12px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.ce2-chip-btn{
  border:1px solid rgba(255,236,243,.22);
  border-radius:999px;
  background:rgba(255,255,255,.05);
  color:#e9eefc;
  font-size:13px;
  font-weight:800;
  padding:8px 13px;
  cursor:pointer;
}
.ce2-chip-btn:hover{
  background:rgba(255,241,245,.12);
}
.ce2-main-btn{
  margin-top:12px;
  width:100%;
  border:none;
  border-radius:var(--ce2-field-radius);
  padding:12px 16px;
  font-size:15px;
  font-weight:900;
  letter-spacing:.01em;
  background:#fff1f5;
  color:#0a0a0b;
  cursor:pointer;
}
.ce2-main-btn:disabled{
  opacity:.62;
  cursor:not-allowed;
}
.ce2-main-btn--ai{
  margin-top:14px;
}
.ce2-ai-text{
  min-height:180px;
  resize:vertical;
}
.ce2-ai-actions{
  margin-top:10px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
}
.ce2-btn,
.ce2-file-btn{
  border:1px solid rgba(255,236,243,.2);
  border-radius:999px;
  background:rgba(255,255,255,.05);
  color:#e9eefc;
  font-size:13px;
  font-weight:800;
  line-height:1;
  padding:9px 12px;
  cursor:pointer;
}
.ce2-btn--solid{
  background:#fff1f5;
  border-color:#fff1f5;
  color:#0a0a0b;
}
.ce2-file-btn{
  position:relative;
  overflow:hidden;
}
.ce2-file-btn input{
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
}
.ce2-ai-preview{
  margin-top:12px;
  border:1px solid rgba(255,236,243,.14);
  border-radius:16px;
  background:rgba(255,241,245,.04);
  padding:10px;
  display:grid;
  gap:8px;
}
.ce2-ai-row{
  display:grid;
  gap:7px;
  grid-template-columns:130px minmax(0,1fr) minmax(0,1fr) auto auto;
  align-items:center;
}
.ce2-ai-row .ce2-input{
  min-width:0;
}
.ce2-ai-tbc{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:13px;
  font-weight:700;
  color:#cec1cb;
}
.ce2-ai-remove{
  width:32px;
  height:32px;
  border:none;
  border-radius:10px;
  background:#f06277;
  color:#fff;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.ce2-ai-summary{
  margin-top:4px;
  border-top:1px dashed rgba(255,236,243,.18);
  padding-top:8px;
  color:#b8c0d4;
  font-size:13px;
  font-weight:620;
}
.ce2-empty{
  border:1px dashed rgba(255,236,243,.2);
  border-radius:12px;
  padding:16px;
  color:#b7c0d6;
  font-size:13px;
  font-weight:620;
  background:rgba(255,255,255,.03);
}
.ce2-toast{
  position:fixed;
  right:16px;
  top:86px;
  z-index:260;
  border-radius:12px;
  padding:9px 12px;
  border:1px solid rgba(255,236,243,.2);
  box-shadow:0 16px 32px rgba(0,0,0,.35);
  font-size:13px;
  font-weight:800;
  transition:opacity .2s ease, transform .2s ease;
}
.ce2-toast.is-hide{
  opacity:0;
  transform:translateY(-8px);
}
.ce2-toast--ok{
  background:#dff7e6;
  color:#12371f;
  border-color:#b2e0bf;
}
.ce2-toast--warn{
  background:#fff3dc;
  color:#4a3512;
  border-color:#f1d9a3;
}
.ce2-toast--error{
  background:#ffe6e8;
  color:#521a24;
  border-color:#f4b9c1;
}

body.ce2-modal-open{
  overflow:hidden;
}
.ce2-confirm-modal{
  position:fixed;
  inset:0;
  z-index:360;
  display:grid;
  place-items:center;
  padding:18px;
}
.ce2-confirm-modal[hidden]{
  display:none !important;
}
.ce2-confirm-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(3,8,19,.62);
  backdrop-filter:blur(7px);
}
.ce2-confirm-modal__dialog{
  position:relative;
  width:min(520px, 100%);
  border-radius:18px;
  border:1px solid rgba(255,236,243,.2);
  background:
    radial-gradient(110% 125% at 8% 0%, rgba(67,100,210,.2), transparent 55%),
    radial-gradient(115% 130% at 100% 100%, rgba(255,127,167,.12), transparent 62%),
    rgba(13,17,32,.94);
  box-shadow:0 22px 44px rgba(0,0,0,.5);
  padding:20px;
}
.ce2-confirm-modal__dialog h3{
  margin:0;
  font-size:25px;
  line-height:1.15;
  font-weight:820;
  color:#f2eaf3;
}
.ce2-confirm-modal__dialog p{
  margin:10px 0 0;
  font-size:15px;
  line-height:1.45;
  color:#c8bdd0;
}
.ce2-confirm-modal__dialog strong{
  color:#f5eef6;
}
.ce2-confirm-modal__actions{
  margin-top:16px;
  display:flex;
  justify-content:flex-end;
  gap:10px;
}
@media (max-width: 1160px){
  .ce2-layout{
    grid-template-columns:1fr;
  }
}
@media (max-width: 840px){
  .ce2-shell{
    margin:14px 0 34px;
  }
  .ce2-grid-2--dates{
    grid-template-columns:1fr;
  }
  .ce2-card{
    padding:20px;
    border-radius:20px;
  }
  .ce2-card__head h2{ font-size:24px; }
  .ce2-card__head p{ font-size:13px; }
  .ce2-block__head h3{ font-size:18px; }
  .ce2-label{ font-size:12px; }
  .ce2-input{ font-size:14px; }
  .ce2-main-btn{ font-size:14px; }
  .ce2-btn,.ce2-file-btn,.ce2-chip-btn,.ce2-link-btn{ font-size:13px; }
  .ce2-selection-state,.ce2-ai-summary,.ce2-empty{ font-size:13px; }
  .ce2-chip{ font-size:13px; }
  .ce2-ai-tbc{ font-size:13px; }
}
@media (max-width: 640px){
  .ce2-ai-row{
    grid-template-columns:1fr;
  }
  .ce2-ai-remove{
    width:100%;
  }
  .ce2-toast{
    left:12px;
    right:12px;
    top:76px;
  }
  .ce2-confirm-modal__dialog{
    border-radius:15px;
    padding:16px;
  }
  .ce2-confirm-modal__dialog h3{
    font-size:21px;
  }
  .ce2-confirm-modal__dialog p{
    font-size:14px;
  }
  .ce2-confirm-modal__actions{
    justify-content:stretch;
  }
  .ce2-confirm-modal__actions .ce2-btn{
    flex:1;
  }
}

body.page-calendar{
  background:
    radial-gradient(900px 420px at 0% -5%, rgba(88,124,255,.16), transparent 62%),
    radial-gradient(760px 440px at 100% 0%, rgba(255,114,176,.12), transparent 60%),
    linear-gradient(180deg,#090b10 0%, #0d1017 100%);
  color:#eef2ff;
}
body.page-calendar main.wrap{
  width:min(1680px, 98vw);
}
body.page-calendar .site-footer{
  color:rgba(232,238,255,.58);
  border-top-color:rgba(255,255,255,.08);
  background:transparent;
}
.tb-cal-page{
  position:relative;
  margin:18px 0 34px;
}
.tb-cal-backdrop{
  position:absolute;
  border-radius:999px;
  filter:blur(60px);
  opacity:.55;
  pointer-events:none;
}
.tb-cal-backdrop--a{
  width:300px;
  height:300px;
  top:38px;
  right:2%;
  background:rgba(124,116,255,.18);
}
.tb-cal-backdrop--b{
  width:250px;
  height:250px;
  bottom:80px;
  left:-40px;
  background:rgba(80,194,156,.12);
}
.tb-cal-hero{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(280px, .9fr);
  gap:18px;
  align-items:end;
  margin-bottom:16px;
}
.tb-cal-badge{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(214,224,255,.16);
  background:rgba(15,19,28,.72);
  color:#cdd8ff;
  letter-spacing:.09em;
  text-transform:uppercase;
  font-size:11px;
  font-weight:800;
}
.tb-cal-hero__copy h1{
  margin:14px 0 10px;
  font-size:clamp(40px, 6vw, 74px);
  line-height:.95;
  letter-spacing:-.05em;
  color:#f8fbff;
}
.tb-cal-hero__copy p{
  margin:0;
  max-width:720px;
  color:#aeb7cf;
  font-size:17px;
  line-height:1.5;
}
.tb-cal-hero__stats{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}
.tb-cal-stat{
  border:1px solid rgba(220,228,255,.12);
  border-radius:22px;
  padding:16px 16px 14px;
  background:linear-gradient(180deg, rgba(18,22,32,.92), rgba(13,16,24,.88));
  box-shadow:0 20px 48px rgba(0,0,0,.24);
}
.tb-cal-stat__label{
  display:block;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#8f9ab8;
  margin-bottom:8px;
}
.tb-cal-stat strong{
  display:block;
  font-size:28px;
  line-height:1;
  letter-spacing:-.04em;
  color:#f5f7ff;
}
.tb-cal-toolbar{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0, 2.35fr) minmax(300px, .72fr);
  gap:20px;
  align-items:end;
  margin-bottom:18px;
}
.tb-cal-filter{
  display:grid;
  gap:8px;
  min-width:0;
}
.tb-cal-filter span{
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#8e9ab8;
}
.tb-cal-filter input{
  width:100%;
  min-height:56px;
  border:1px solid rgba(221,228,255,.14);
  border-radius:18px;
  padding:0 18px;
  background:rgba(12,16,24,.76);
  color:#f2f5ff;
  outline:none;
  font-size:16px;
  box-shadow:0 18px 40px rgba(0,0,0,.18);
}
.tb-cal-filter input::placeholder{
  color:#7e899f;
}
.tb-cal-filter input:focus{
  border-color:rgba(175,194,255,.34);
  box-shadow:0 0 0 3px rgba(120,146,255,.08), 0 18px 40px rgba(0,0,0,.22);
}
.tb-cal-toolbar__hint{
  min-height:56px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  text-align:left;
  color:#8e97ae;
  font-size:13px;
  line-height:1.45;
}
.tb-cal-toolbar__hint strong{
  color:#eff4ff;
  font-weight:800;
}
.tb-cal-layout{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0, 2.35fr) minmax(300px, .72fr);
  gap:20px;
  align-items:start;
}
.tb-cal-board,
.tb-cal-card{
  border:1px solid rgba(218,226,255,.12);
  background:
    radial-gradient(560px 220px at 100% -8%, rgba(93,111,255,.1), transparent 68%),
    linear-gradient(180deg, rgba(17,20,30,.94), rgba(11,14,22,.94));
  box-shadow:0 28px 80px rgba(0,0,0,.26);
  backdrop-filter:blur(14px) saturate(115%);
  -webkit-backdrop-filter:blur(14px) saturate(115%);
}
.tb-cal-board{
  border-radius:30px;
  padding:22px;
}
.tb-cal-board__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:18px;
}
.tb-cal-board__eyebrow,
.tb-cal-card__eyebrow{
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#8e97b2;
}
.tb-cal-board__head h2,
.tb-cal-card h3{
  margin:8px 0 6px;
  font-size:29px;
  line-height:1;
  letter-spacing:-.04em;
  color:#f7faff;
}
.tb-cal-board__head p{
  margin:0;
  color:#9099b0;
  font-size:14px;
}
.tb-cal-nav{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.tb-cal-nav__btn{
  min-width:48px;
  min-height:44px;
  border-radius:16px;
  border:1px solid rgba(219,227,255,.12);
  background:rgba(255,255,255,.04);
  color:#f4f6fd;
  font:inherit;
  font-weight:800;
  cursor:pointer;
  transition:transform .14s ease, border-color .16s ease, background .16s ease;
}
.tb-cal-nav__btn:hover{
  background:rgba(255,255,255,.09);
  border-color:rgba(219,227,255,.22);
}
.tb-cal-nav__btn:active{
  transform:translateY(1px) scale(.98);
}
.tb-cal-nav__btn--today{
  min-width:74px;
}
.tb-cal-weekdays{
  display:grid;
  grid-template-columns:repeat(7, minmax(0, 1fr));
  gap:10px;
  margin-bottom:10px;
}
.tb-cal-weekdays span{
  padding:0 6px;
  color:#7f8aa5;
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.tb-cal-grid{
  display:grid;
  grid-template-columns:repeat(7, minmax(0, 1fr));
  gap:12px;
}
.tb-cal-day{
  position:relative;
  aspect-ratio:1 / 1;
  padding:15px 13px 13px;
  border-radius:22px;
  border:1px solid rgba(221,228,255,.08);
  background:rgba(255,255,255,.025);
  overflow:hidden;
}
.tb-cal-day.is-outside{
  opacity:.52;
}
.tb-cal-day.is-selected{
  border-color:rgba(152,175,255,.34);
  background:linear-gradient(180deg, rgba(59,74,134,.2), rgba(255,255,255,.03));
  box-shadow:inset 0 0 0 1px rgba(143,168,255,.14);
}
.tb-cal-day.is-today .tb-cal-day__num{
  background:#f3f6ff;
  color:#10131b;
}
.tb-cal-day.has-events{
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
}
.tb-cal-day__hit{
  position:absolute;
  inset:0;
  border:0;
  background:transparent;
  cursor:pointer;
}
.tb-cal-day__top,
.tb-cal-day__events{
  position:relative;
  z-index:1;
}
.tb-cal-day__top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:12px;
}
.tb-cal-day__num{
  width:32px;
  height:32px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:14px;
  color:#eff3ff;
  background:rgba(255,255,255,.04);
}
.tb-cal-day__count{
  min-width:22px;
  height:22px;
  border-radius:999px;
  padding:0 7px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(121,142,255,.16);
  color:#dce6ff;
  font-size:11px;
  font-weight:800;
}
.tb-cal-day__events{
  display:grid;
  gap:7px;
}
.tb-cal-event-pill{
  display:grid;
  gap:1px;
  align-content:center;
  width:100%;
  text-align:left;
  min-height:40px;
  border-radius:18px;
  border:1px solid color-mix(in srgb, var(--tb-cal-accent) 40%, rgba(255,255,255,.08));
  background:color-mix(in srgb, var(--tb-cal-accent) 18%, rgba(255,255,255,.02));
  color:#f4f7ff;
  font:inherit;
  padding:7px 10px 6px;
  cursor:pointer;
}
.tb-cal-event-pill:hover{
  filter:brightness(1.05);
}
.tb-cal-event-pill__title{
  display:block;
  font-size:12px;
  line-height:1.1;
  font-weight:800;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.tb-cal-event-pill__location{
  display:block;
  font-size:10px;
  line-height:1.1;
  color:rgba(239,244,255,.78);
  font-style:italic;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.tb-cal-day__more{
  font-size:11px;
  color:#93a0bc;
  font-weight:700;
  padding:0 2px;
}
.tb-cal-sidebar{
  display:grid;
  gap:16px;
  position:sticky;
  top:92px;
  max-width:420px;
  width:100%;
  justify-self:end;
}
.tb-cal-card{
  border-radius:26px;
  padding:18px;
}
.tb-cal-card__title-row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
  margin-bottom:14px;
}
.tb-cal-card__count{
  min-width:34px;
  height:34px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.06);
  color:#f6f8ff;
  font-size:13px;
  font-weight:900;
}
.tb-cal-ical-card{
  width:100%;
  text-align:left;
  border:1px solid rgba(220,228,255,.12);
  border-radius:20px;
  padding:14px;
  background:rgba(255,255,255,.035);
  color:#eef3ff;
  cursor:pointer;
  font:inherit;
  transition:transform .14s ease, border-color .16s ease, background .16s ease;
}
.tb-cal-ical-card + .tb-cal-ical-card{
  margin-top:10px;
}
.tb-cal-ical-card:hover{
  transform:translateY(-1px);
  border-color:rgba(174,194,255,.24);
  background:rgba(255,255,255,.05);
}
.tb-cal-ical-card--admin{
  margin-top:10px;
}
.tb-cal-ical-card--locked{
  cursor:default;
  opacity:.74;
}
.tb-cal-ical-card__label{
  display:block;
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#8e99b7;
  margin-bottom:8px;
}
.tb-cal-ical-card strong{
  display:block;
  font-size:18px;
  letter-spacing:-.02em;
  color:#f6f9ff;
}
.tb-cal-ical-card__meta{
  display:block;
  margin-top:8px;
  color:#96a0b8;
  font-size:13px;
  line-height:1.45;
}
.tb-cal-ical-card__actions{
  margin:8px 2px 0;
}
.tb-cal-inline-link{
  color:#d7e1ff;
  text-decoration:none;
  font-size:13px;
  font-weight:800;
}
.tb-cal-inline-link:hover{
  text-decoration:underline;
}
.tb-cal-agenda,
.tb-cal-upcoming{
  display:grid;
  gap:12px;
}
.tb-cal-agenda-item,
.tb-cal-upcoming-item{
  border-radius:20px;
  border:1px solid rgba(221,228,255,.1);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--tb-cal-accent) 12%, rgba(255,255,255,.03)), rgba(255,255,255,.02));
  padding:14px;
  color:#eff4ff;
}
.tb-cal-agenda-item__top{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
}
.tb-cal-agenda-item__top strong{
  font-size:18px;
  letter-spacing:-.03em;
}
.tb-cal-agenda-item__meta{
  margin-top:8px;
  color:#95a0b8;
  font-size:13px;
}
.tb-cal-chip-row{
  margin-top:12px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.tb-cal-chip{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid rgba(218,226,255,.12);
  background:rgba(255,255,255,.055);
  color:#eff4ff;
  font-size:12px;
  font-weight:700;
}
.tb-cal-bullet{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 9px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:#dbe5ff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.tb-cal-bullet--tbc{
  background:rgba(255,181,73,.15);
  color:#ffdba2;
}
.tb-cal-empty,
.tb-cal-empty-inline{
  display:grid;
  gap:4px;
  color:#8e99b4;
  font-size:13px;
  line-height:1.45;
}
.tb-cal-empty strong{
  color:#eef3ff;
  font-size:15px;
}
.tb-cal-upcoming-item{
  width:100%;
  text-align:left;
  cursor:pointer;
  font:inherit;
  transition:transform .14s ease, border-color .16s ease;
}
.tb-cal-upcoming-item:hover{
  transform:translateY(-1px);
  border-color:rgba(171,192,255,.22);
}
.tb-cal-upcoming-item__day{
  display:block;
  margin-bottom:6px;
  color:#96a2bb;
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.tb-cal-upcoming-item strong{
  display:block;
  color:#f3f7ff;
  font-size:16px;
  letter-spacing:-.02em;
}
.tb-cal-upcoming-item span:last-child{
  display:block;
  margin-top:6px;
  color:#98a3ba;
  font-size:13px;
}
.tb-cal-toast{
  position:fixed;
  top:86px;
  right:18px;
  z-index:1800;
  min-width:180px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(163,245,193,.26);
  background:rgba(18,78,54,.92);
  color:#ebfff3;
  font-size:13px;
  font-weight:800;
  box-shadow:0 18px 46px rgba(0,0,0,.28);
  opacity:0;
  pointer-events:none;
  transform:translateY(-8px);
  transition:opacity .18s ease, transform .18s ease;
}
.tb-cal-toast.is-visible{
  opacity:1;
  transform:translateY(0);
}
.tb-cal-toast.is-error{
  border-color:rgba(255,158,173,.28);
  background:rgba(102,24,38,.94);
  color:#ffe5ea;
}
@media (max-width: 1180px){
  body.page-calendar main.wrap{
    width:min(1320px, 98vw);
  }
  .tb-cal-hero{
    grid-template-columns:1fr;
  }
  .tb-cal-layout{
    grid-template-columns:1fr;
  }
  .tb-cal-sidebar{
    position:static;
  }
}
@media (max-width: 900px){
  body.page-calendar main.wrap{
    width:min(1120px, 96vw);
  }
  .tb-cal-toolbar{
    grid-template-columns:1fr;
  }
  .tb-cal-toolbar__hint{
    justify-content:flex-start;
    text-align:left;
    min-height:0;
  }
  .tb-cal-hero__stats{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
  .tb-cal-board{
    padding:16px;
    border-radius:24px;
  }
  .tb-cal-card{
    border-radius:22px;
  }
}
@media (max-width: 720px){
  .tb-cal-hero__stats{
    grid-template-columns:1fr;
  }
  .tb-cal-board__head{
    flex-direction:column;
    align-items:flex-start;
  }
  .tb-cal-nav{
    width:100%;
  }
  .tb-cal-nav__btn{
    flex:1;
  }
  .tb-cal-weekdays{
    gap:6px;
  }
  .tb-cal-grid{
    gap:6px;
  }
  .tb-cal-day{
    aspect-ratio:1 / 1;
    padding:12px 10px 10px;
    border-radius:18px;
  }
  .tb-cal-event-pill{
    min-height:36px;
    padding:6px 8px 5px;
  }
  .tb-cal-event-pill__title{
    font-size:11px;
  }
  .tb-cal-event-pill__location{
    font-size:9px;
  }
}
@media (max-width: 560px){
  .tb-cal-page{
    margin:12px 0 28px;
  }
  .tb-cal-hero__copy h1{
    font-size:42px;
  }
  .tb-cal-filter input{
    min-height:52px;
    border-radius:16px;
  }
  .tb-cal-weekdays span{
    font-size:10px;
    letter-spacing:.08em;
  }
  .tb-cal-day{
    aspect-ratio:1 / 1;
  }
  .tb-cal-day__events{
    gap:5px;
  }
  .tb-cal-event-pill:nth-child(n+3){
    display:none;
  }
  .tb-cal-day__more{
    display:none;
  }
  .tb-cal-toast{
    left:12px;
    right:12px;
    top:78px;
    min-width:0;
  }
}
