/* Moonlight Disco Client Portal — Premium Skin */
:root{
  --mdcp-accent: #FFE761;
  --mdcp-bg: #0b0b0c;
  --mdcp-surface: #131316;
  --mdcp-surface-2: #19191e;
  --mdcp-text: #f2f2f3;
  --mdcp-muted: #a6a6ab;
  --mdcp-border: #2a2a31;
  --mdcp-shadow: 0 12px 30px rgba(0,0,0,.35);
  --mdcp-radius: 16px;
}
@media (prefers-color-scheme: light){
  :root{
    --mdcp-bg:#f8f8f9; --mdcp-surface:#ffffff; --mdcp-surface-2:#f4f4f7;
    --mdcp-text:#101114; --mdcp-muted:#60636b; --mdcp-border:#e7e7ee;
    --mdcp-shadow: 0 10px 30px rgba(0,0,0,.07);
  }
}
.mdcp-portal{font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Color Emoji";
  color:var(--mdcp-text); background:transparent;}
.mdcp-container{max-width:980px;margin:24px auto;padding:0 16px}
.mdcp-header{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.mdcp-logo{width:56px;height:56px; border-radius:14px; background:var(--mdcp-surface-2); display:flex; align-items:center; justify-content:center;  box-shadow: var(--mdcp-shadow)}
.mdcp-logo img{max-width:100%; max-height:100%}
.mdcp-brand h1{font-size:24px; margin:0; letter-spacing:.3px}
.mdcp-pill{display:inline-flex;align-items:center;gap:8px;background:var(--mdcp-surface-2);border:1px solid var(--mdcp-border);padding:6px 10px;border-radius:999px;color:var(--mdcp-muted);font-size:13px}
.mdcp-hero{background:linear-gradient(180deg, rgba(255,231,97,.12), transparent 60%);
  border:1px solid var(--mdcp-border); border-radius:var(--mdcp-radius); padding:18px; box-shadow:var(--mdcp-shadow);}
.mdcp-hero h2{margin:0 0 6px 0; font-size:20px}
.mdcp-hero .meta{display:flex; flex-wrap:wrap; gap:10px; color:var(--mdcp-muted); font-size:14px}
.mdcp-hero .meta span{display:inline-flex; align-items:center; gap:6px; background:var(--mdcp-surface-2); border:1px solid var(--mdcp-border); padding:6px 10px; border-radius:10px}

.mdcp-grid{display:grid;grid-template-columns:1fr; gap:16px; margin-top:16px}
@media(min-width:900px){ .mdcp-grid{grid-template-columns: 1fr 1fr} }

.mdcp-card{background:var(--mdcp-surface); border:1px solid var(--mdcp-border); border-radius:var(--mdcp-radius);
  padding:16px; box-shadow:var(--mdcp-shadow)}
.mdcp-card h3, .mdcp-card h4{margin:0 0 10px 0}
.mdcp-help{color:var(--mdcp-muted); font-size:13px; margin-top:8px}

.mdcp-form label{display:block; margin:10px 0; font-weight:600; font-size:14px}
.mdcp-form input,.mdcp-form select,.mdcp-form textarea{
  width:100%; padding:12px 14px; border-radius:12px;
  border:1.5px solid var(--mdcp-border); background:var(--mdcp-surface-2); color:var(--mdcp-text); outline:none;
  transition:box-shadow .2s, border-color .2s, transform .05s;
}
.mdcp-form input:focus,.mdcp-form select:focus,.mdcp-form textarea:focus{
  border-color: var(--mdcp-accent); box-shadow: 0 0 0 4px rgba(255,231,97,.22);
}
.mdcp-actions{display:flex; gap:10px; flex-wrap:wrap}

.mdcp-btn{background:var(--mdcp-accent); color:#111; border:0; padding:12px 16px; border-radius:12px; cursor:pointer; font-weight:800; letter-spacing:.2px}
.mdcp-btn:hover{filter:brightness(1.02)}
.mdcp-btn:active{transform: translateY(1px)}

.mdcp-btn-secondary{background:var(--mdcp-surface-2); color:var(--mdcp-text); border:1px solid var(--mdcp-border);
  padding:10px 14px; border-radius:10px; cursor:pointer}
.mdcp-badge{display:inline-flex; align-items:center; padding:4px 10px; border-radius:999px; background:var(--mdcp-accent); color:#111; font-weight:800; font-size:12px;}

.mdcp-table-wrap{overflow-x:auto; -webkit-overflow-scrolling:touch; border-radius:12px; border:1px solid var(--mdcp-border);}
.mdcp-table{width:max-content; min-width:1100px; table-layout:auto; border-collapse:collapse; background:var(--mdcp-surface);}
.mdcp-table th{position:sticky; top:0; background:linear-gradient(180deg, var(--mdcp-surface-2), var(--mdcp-surface)); font-size:12px; text-transform:uppercase; letter-spacing:.4px}
.mdcp-table th,.mdcp-table td{border-bottom:1px solid var(--mdcp-border); padding:12px 10px; text-align:left;}
.mdcp-table th{white-space:nowrap}
.mdcp-table td{white-space:normal; overflow-wrap:normal; word-break:normal; hyphens:none}
.mdcp-table tr:hover td{background:rgba(255,231,97,.06)}

.mdcp-alert{background:#2b1a1a; border:1px solid #a33; padding:10px 12px; border-radius:12px; color:#ffd7d7}
.mdcp-success{background:#162b1a; border:1px solid #2f8f46; color:#c8ffd8;}

.mdcp-footer{margin-top:14px; color:var(--mdcp-muted); font-size:13px; display:flex; justify-content:space-between; align-items:center}
.mdcp-link, .mdcp-footer a{color:var(--mdcp-accent); text-decoration:none}
.mdcp-link:hover, .mdcp-footer a:hover{text-decoration:underline}

/* Accent injection */
.mdcp-accent{color:var(--mdcp-accent)}

/* UX tweaks: inline remember checkbox and full-width submit card */
.mdcp-remember-wrap{margin:8px 0;}
.mdcp-remember-wrap label{display:inline-flex;align-items:center;gap:8px;font-weight:500;}
.mdcp-remember-wrap input[type=checkbox]{margin:0;}
/* Allow designated cards to span full grid width */
.mdcp-card.mdcp-card--full{grid-column:1 / -1;}

/* Strong overrides for guest form alignment */
label.mdcp-remember{display:inline-flex!important;align-items:center;gap:8px}
.mdcp-remember-wrap{margin-top:8px;text-align:left}
label.mdcp-remember input[type=checkbox]{margin:0 6px 0 0;vertical-align:middle}
.mdcp-guest .mdcp-grid > .mdcp-card--full{grid-column:1 / -1!important}


/* Extra: ghost button for small actions */
.mdcp-btn--ghost{background:var(--mdcp-surface-2);color:var(--mdcp-text);border:1px solid var(--mdcp-border);padding:10px 14px;border-radius:10px;cursor:pointer;font-weight:700}
.mdcp-btn--ghost:hover{filter:brightness(1.03)}

.mdcp-pill a{color:var(--mdcp-accent);text-decoration:none;font-weight:700}
.mdcp-pill a:hover{text-decoration:underline}

/* ===== v1.14 premium header + portal ===== */
.mdcp-header{display:block;margin-bottom:16px}
.mdcp-header-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.mdcp-header-logo{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:var(--mdcp-surface-2);box-shadow:var(--mdcp-shadow)}
.mdcp-header-logo img{max-width:100%;max-height:100%}
.mdcp-header-links{color:var(--mdcp-muted);font-size:14px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.mdcp-header-links a{color:var(--mdcp-accent);text-decoration:none;font-weight:800}
.mdcp-header-links a:hover{text-decoration:underline}

.mdcp-event-hero{border-radius:22px;box-shadow:var(--mdcp-shadow);border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(110deg, rgba(255,231,97,.95) 0%, rgba(255,231,97,.6) 18%, rgba(0,0,0,.88) 75%, rgba(0,0,0,.98) 100%);
}
.mdcp-event-hero-inner{padding:28px 28px 26px}
.mdcp-event-hero h2{margin:0 0 10px;color:#fff;font-size:34px;letter-spacing:.2px;text-shadow:0 8px 24px rgba(0,0,0,.35)}
.mdcp-event-hero .meta{display:flex;flex-wrap:wrap;gap:12px;color:rgba(255,255,255,.88);font-size:18px}
.mdcp-event-hero .meta span{display:inline-flex;align-items:center;gap:10px}
@media(max-width:640px){
  .mdcp-event-hero-inner{padding:20px}
  .mdcp-event-hero h2{font-size:26px}
  .mdcp-event-hero .meta{font-size:16px}
}

.mdcp-btn--primary{background:var(--mdcp-accent)!important;color:#111!important;padding:14px 18px!important;border-radius:14px!important;font-weight:900!important}

.mdcp-topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:10px 0 18px}
.mdcp-topbar-left{display:flex;align-items:center;gap:10px}
.mdcp-topbar-logo{height:34px;width:auto;display:block}
.mdcp-topbar-brand{font-weight:900;letter-spacing:.2px}
.mdcp-topbar-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.mdcp-dot{opacity:.6}
.mdcp-muted{color:var(--mdcp-muted)}
.mdcp-page-title{margin:0 0 12px;font-size:24px}

.mdcp-grid-2{display:grid;grid-template-columns:1fr;gap:16px;margin-top:16px}
@media(min-width:900px){.mdcp-grid-2{grid-template-columns:1fr 1fr}}

.mdcp-h2{margin:0;font-size:20px}
.mdcp-h3{margin:0;font-size:16px}
.mdcp-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.mdcp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.mdcp-list-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:14px;background:var(--mdcp-surface-2);border:1px solid var(--mdcp-border)}
.mdcp-list-title{font-weight:900}
.mdcp-list-actions{display:flex;gap:10px;flex-wrap:wrap}

.mdcp-alert{margin-top:12px}
.mdcp-alert--ok{background:#162b1a;border:1px solid #2f8f46;color:#c8ffd8}
.mdcp-alert--err{background:#2b1a1a;border:1px solid #a33;color:#ffd7d7}

.mdcp-login-hero{display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:16px;background:linear-gradient(180deg, rgba(255,231,97,.12), transparent 70%)}
.mdcp-login-hero img{height:40px;width:auto;display:block}
.mdcp-login-hero h3{margin:0;font-size:20px}
.mdcp-login-hero p{margin:2px 0 0;color:var(--mdcp-muted)}
.tabs a{padding:8px 12px;border-radius:999px;text-decoration:none;border:1px solid var(--mdcp-border);color:var(--mdcp-text)}
.tabs a.active{background:var(--mdcp-accent);color:#111;border-color:transparent;font-weight:900}

.mdcp-checks{margin-top:12px;display:flex;flex-direction:column;gap:10px}
.mdcp-check{display:flex;gap:10px;align-items:flex-start;color:var(--mdcp-muted)}
.mdcp-check input{margin-top:3px}

/* Form elements inside portal (even without .mdcp-form wrapper) */
.mdcp-portal label{display:block;margin:10px 0;font-weight:700;font-size:14px}
.mdcp-portal input, .mdcp-portal textarea, .mdcp-portal select{
  width:100%; padding:12px 14px; border-radius:12px;
  border:1.5px solid var(--mdcp-border); background:var(--mdcp-surface-2); color:var(--mdcp-text); outline:none;
  transition:box-shadow .2s, border-color .2s, transform .05s;
}
.mdcp-portal textarea{min-height:92px;resize:vertical}
.mdcp-portal input:focus, .mdcp-portal textarea:focus, .mdcp-portal select:focus{
  border-color: var(--mdcp-accent); box-shadow: 0 0 0 4px rgba(255,231,97,.22);
}


/* Improve event header readability on light mode */
@media (prefers-color-scheme: light){
  .mdcp-event-hero{position:relative;}
  .mdcp-event-hero:before{
    content:"";
    position:absolute;
    inset:0;
    /* Darken the yellow side slightly so white text stays readable */
    background:linear-gradient(110deg, rgba(0,0,0,.28) 0%, rgba(0,0,0,.18) 28%, rgba(0,0,0,0) 70%);
    pointer-events:none;
  }
  .mdcp-event-hero-inner{position:relative;}
  .mdcp-event-hero h2{color:#fff; text-shadow:0 10px 28px rgba(0,0,0,.6);}
  .mdcp-event-hero .meta{color:rgba(255,255,255,.95); text-shadow:0 6px 16px rgba(0,0,0,.55);}
}



/* --- Light mode: make header logo + back button text black --- */
@media (prefers-color-scheme: light){
  /* Force logo image to black in light mode */
  .mdcp-header-logo img,
  .mdcp-logo img{
    filter: brightness(0) saturate(100%) !important;
  }

  /* Only the back button (pill) should be black; keep other header links accent */
  .mdcp-header-links a.mdcp-pill,
  a.mdcp-pill{
    color:#000 !important;
  }
}



/* Mobile header: make logo clearer & force black header background (even in light mode) */
@media (max-width: 640px) {
  .mdcp-header,
  .mdcp-header-wrap,
  .mdcp-header-inner {
    background: #000 !important;
  }

  /* Make logo area wider / more readable */
  .mdcp-header-logo,
  .mdcp-logo {
    width: 84px !important;
    min-width: 84px !important;
  }

  .mdcp-header-logo img,
  .mdcp-logo img {
    height: 52px !important;
    width: auto !important;
    max-width: 84px !important;
    filter: none !important; /* keep the yellow logo */
  }

  /* Text in header should be white; keep accent items yellow unless you override elsewhere */
  .mdcp-header-links,
  .mdcp-header-links span,
  .mdcp-header-links .mdcp-sep {
    color: #fff !important;
  }

  /* Non-accent links white */
  .mdcp-header-links a {
    color: #fff !important;
  }

  /* Keep any explicitly-accented links/buttons yellow (e.g. sign out) */
  .mdcp-header-links a.mdcp-accent,
  .mdcp-header-links a.is-accent,
  .mdcp-header-links a[style*="--mdcp-accent"] {
    color: var(--mdcp-accent) !important;
  }

  /* Back pill: white text on black header */
  .mdcp-header-links a.mdcp-pill {
    color: #fff !important;
  }
}




/* Force black header background in light mode (logo stays yellow, text white) */
@media (prefers-color-scheme: light) {
  .mdcp-header,
  .mdcp-header-top,
  .mdcp-header-wrap,
  .mdcp-header-inner {
    background: #000 !important;
  }

  .mdcp-header-logo img,
  .mdcp-logo img {
    filter: none !important; /* keep original (yellow) logo */
  }

  .mdcp-header-links,
  .mdcp-header-links span,
  .mdcp-header-links .mdcp-sep {
    color: #fff !important;
  }

  .mdcp-header-links a {
    color: #fff !important;
  }

  /* Back pill text stays white */
  .mdcp-header-links a.mdcp-pill {
    color: #fff !important;
  }
}




/* --- Password policy popover --- */
.mdcp-pass-pop {
  position: absolute;
  z-index: 9999;
  background: #0b0b0c;
  color: #fff;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  padding: 12px 12px;
  box-shadow: 0 12px 30px rgba(0,0,0,.35);
  width: 240px;
  font-size: 13px;
  line-height: 1.3;
}
.mdcp-pass-pop .mdcp-pass-title{
  font-weight: 800;
  margin: 0 0 8px 0;
}
.mdcp-pass-pop ul{ margin:0; padding-left: 16px; }
.mdcp-pass-pop li{ margin: 6px 0; opacity:.95; }
.mdcp-pass-pop .mdcp-pass-ok{ opacity:1; }
.mdcp-pass-pop .mdcp-pass-ok:before{ content:"✓ "; font-weight:900; }
.mdcp-pass-pop .mdcp-pass-bad:before{ content:"• "; }




/* --- Neater brand logo inside login hero --- */
.mdcp-login-hero .mdcp-brand-logo{
  height:36px !important;
  width:auto !important;
  max-width:180px !important;
  object-fit:contain !important;
  display:block !important;
}
@media (max-width:480px){
  .mdcp-login-hero .mdcp-brand-logo{ height:32px !important; max-width:160px !important; }
}




/* Password requirement popover */
.mdcp-passreq{
  position:absolute;
  right:0;
  top:100%;
  margin-top:8px;
  width:260px;
  background:#0f0f10;
  color:#eaeaea;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  padding:12px 12px 10px;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
  z-index:50;
}
.mdcp-passreq__title{font-weight:800;font-size:13px;margin-bottom:8px}
.mdcp-passreq__list{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.mdcp-passreq__list li{font-size:13px;display:flex;gap:8px;align-items:center;color:#bdbdc2}
.mdcp-passreq__list li.is-ok{color:#d6ffd6}
.mdcp-passreq__tick{display:inline-block;width:16px;text-align:center;font-weight:900}
.mdcp-disabled{opacity:.65;cursor:not-allowed}
@media (prefers-color-scheme: light){
  .mdcp-passreq{background:#ffffff;color:#111;border:1px solid rgba(0,0,0,.12)}
  .mdcp-passreq__list li{color:#444}
  .mdcp-passreq__list li.is-ok{color:#0a6a2a}
}




/* Login hero logo tidy (works with inline sizing too) */
.mdcp-login .mdcp-login-hero .mdcp-brand-logo{
  height:42px;
  width:auto;
  max-width:160px;
  object-fit:contain;
}
@media (max-width:480px){
  .mdcp-login .mdcp-login-hero{padding:16px 16px !important; gap:12px !important;}
  .mdcp-login .mdcp-login-hero .mdcp-brand-logo{height:34px; max-width:140px;}
}




/* Register password requirements */
.mdcp-passreq-inline{margin-top:10px;border:1px solid rgba(255,255,255,.14);background:#0f0f10;color:#eaeaea;border-radius:12px;padding:10px 12px;display:none;}
.mdcp-passreq-inline.is-open{display:block;}
.mdcp-passreq-title{font-weight:800;font-size:13px;margin-bottom:6px}
.mdcp-passreq-inline ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.mdcp-passreq-inline li{font-size:13px;display:flex;gap:8px;align-items:center;color:#bdbdc2}
.mdcp-passreq-inline li.is-ok{color:#d6ffd6}
.mdcp-passreq-tick{display:inline-block;width:16px;text-align:center;font-weight:900}
.mdcp-disabled{opacity:.65;cursor:not-allowed}

/* Smaller login hero logo on mobile */
@media (max-width:600px){
  .mdcp-login-hero--fixed{padding:14px 14px !important; gap:10px !important;}
  .mdcp-login-hero--fixed .txt h3{font-size:17px !important;}
  .mdcp-login-hero--fixed .txt p{font-size:13px !important;}
  .mdcp-login-hero--fixed .mdcp-brand-logo{height:26px !important; max-width:110px !important;}
}

/* Light mode: keep readable */
@media (prefers-color-scheme: light){
  .mdcp-passreq-inline{background:#fff;color:#111;border:1px solid rgba(0,0,0,.12)}
  .mdcp-passreq-inline li{color:#444}
  .mdcp-passreq-inline li.is-ok{color:#0a6a2a}
}



/* MDCP 1.14.19: header contrast fix for LIGHT MODE (keep header black, readable links, readable back button) */
@media (prefers-color-scheme: light){
  .mdcp-header,
  .mdcp-header-wrap,
  .mdcp-header-inner{
    background:#000 !important;
    color:#fff !important;
  }
  .mdcp-header-links,
  .mdcp-header-links span,
  .mdcp-header-links .mdcp-sep{
    color:#fff !important;
  }
  .mdcp-header-links a{
    color:#fff !important;
  }
  /* Back pill button: white background with dark text for contrast */
  .mdcp-header-links a.mdcp-pill{
    background:#fff !important;
    border-color:rgba(0,0,0,.15) !important;
    color:#111 !important;
  }
  .mdcp-header-links a.mdcp-pill svg,
  .mdcp-header-links a.mdcp-pill svg *{
    stroke:#111 !important;
    fill:#111 !important;
  }
  /* Keep logo as-is (no filter) */
  .mdcp-header-logo img,
  .mdcp-logo img{
    filter:none !important;
  }
}




/* MDCP 1.14.22: Dashboard heading visibility + topbar buttons */
@media (prefers-color-scheme: dark){
  .mdcp-h2{ color:#fff !important; }
}

/* Topbar pill buttons for Settings / Sign out */
.mdcp-topbar-right a.mdcp-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  text-decoration:none !important;
  font-weight:800;
  border:1px solid var(--mdcp-accent, #FFE761);
  color:var(--mdcp-accent, #FFE761) !important;
  background:rgba(255,231,97,.10);
}

.mdcp-topbar-right a.mdcp-pill:hover{
  background:rgba(255,231,97,.16);
}

/* Make 'Sign out' slightly clearer but still yellow-themed */
.mdcp-topbar-right a.mdcp-pill--warn{
  background:rgba(255,231,97,.14);
}

/* Ensure dots don't visually collide with pills */
.mdcp-topbar-right .mdcp-dot{
  opacity:.55;
  margin:0 6px;
}

@media (prefers-color-scheme: light){
  /* keep topbar readable on light mode too */
  .mdcp-topbar-right a.mdcp-pill{
    border-color:var(--mdcp-accent, #FFE761);
    color:#111 !important;
    background:rgba(255,231,97,.55);
  }
  .mdcp-topbar-right a.mdcp-pill:hover{ background:rgba(255,231,97,.70); }
}




/* MDCP 1.14.24: Light-mode header blend (keep header dark, make pills/logo blend) */
@media (prefers-color-scheme: light){
  /* Force header to remain black even in light mode */
  .mdcp-header,
  .mdcp-header-wrap,
  .mdcp-header-inner,
  .mdcp-topbar{
    background:#000 !important;
    color:#fff !important;
  }

  /* Links & separators */
  .mdcp-topbar a,
  .mdcp-header a,
  .mdcp-topbar-right,
  .mdcp-topbar-right a,
  .mdcp-topbar-right span,
  .mdcp-topbar-right .mdcp-dot,
  .mdcp-header-links,
  .mdcp-header-links a,
  .mdcp-header-links span{
    color:#fff !important;
  }

  /* Pill buttons should blend (no white fill) */
  .mdcp-pill,
  a.mdcp-pill,
  .mdcp-topbar-right a.mdcp-pill,
  .mdcp-header-links a.mdcp-pill{
    background:rgba(255,255,255,.08) !important;
    border:1px solid rgba(255,255,255,.22) !important;
    color:#fff !important;
    box-shadow:none !important;
  }

  .mdcp-pill:hover,
  a.mdcp-pill:hover{
    background:rgba(255,255,255,.14) !important;
    border-color:rgba(255,255,255,.30) !important;
  }

  /* Icons inside pills */
  .mdcp-pill svg,
  .mdcp-pill svg *{
    stroke:#fff !important;
    fill:none !important;
  }

  /* Logo container should also blend (if it has a white tile background) */
  .mdcp-logo,
  .mdcp-header-logo,
  .mdcp-brand-logo-wrap,
  .mdcp-logo-wrap,
  .mdcp-topbar .logo,
  .mdcp-topbar .brand{
    background:rgba(255,255,255,.08) !important;
    border:1px solid rgba(255,255,255,.18) !important;
    box-shadow:none !important;
  }

  /* Keep actual logo image unchanged */
  .mdcp-logo img,
  .mdcp-header-logo img,
  .mdcp-brand-logo,
  .mdcp-brand-logo img{
    filter:none !important;
  }
}




/* MDCP 1.14.25: Light mode header should be LIGHT (match page), with Moonlight yellow accents */
@media (prefers-color-scheme: light){
  .mdcp-header,
  .mdcp-header-wrap,
  .mdcp-header-inner,
  .mdcp-topbar{
    background:#ffffff !important;
    color:#111111 !important;
    border-bottom:1px solid rgba(0,0,0,.08) !important;
  }

  .mdcp-topbar a,
  .mdcp-header a,
  .mdcp-topbar-right,
  .mdcp-topbar-right a,
  .mdcp-topbar-right span,
  .mdcp-topbar-right .mdcp-dot,
  .mdcp-header-links,
  .mdcp-header-links a,
  .mdcp-header-links span{
    color:#111111 !important;
  }

  /* Pill buttons blend with light header but pop with Moonlight yellow */
  .mdcp-pill,
  a.mdcp-pill,
  .mdcp-topbar-right a.mdcp-pill,
  .mdcp-header-links a.mdcp-pill{
    background:rgba(255,231,97,.55) !important;
    border:1px solid rgba(0,0,0,.10) !important;
    color:#111111 !important;
    box-shadow:none !important;
  }
  .mdcp-pill:hover,
  a.mdcp-pill:hover{
    background:rgba(255,231,97,.70) !important;
  }

  .mdcp-pill svg,
  .mdcp-pill svg *{
    stroke:#111 !important;
    fill:none !important;
  }

  /* Logo tile should be subtle on light mode (no harsh white-on-white block) */
  .mdcp-logo,
  .mdcp-header-logo,
  .mdcp-brand-logo-wrap,
  .mdcp-logo-wrap{
    background:rgba(0,0,0,.03) !important;
    border:1px solid rgba(0,0,0,.08) !important;
    box-shadow:none !important;
  }

  /* Keep actual logo image unchanged */
  .mdcp-logo img,
  .mdcp-header-logo img,
  .mdcp-brand-logo,
  .mdcp-brand-logo img{
    filter:none !important;
  }
}




/* MDCP 1.14.26: FORCE top header to light styling in light mode (some headers use different classes / overrides) */
@media (prefers-color-scheme: light){
  /* Cover common header wrappers */
  .mdcp-topbar,
  .mdcp-header,
  .mdcp-header-wrap,
  .mdcp-header-inner,
  .mdcp-top-links,
  .mdcp-portal-topbar,
  header.mdcp-header{
    background:#fff !important;
    background-image:none !important;
    color:#111 !important;
    border-bottom:1px solid rgba(0,0,0,.08) !important;
  }

  /* Make sure any child overlay backgrounds don't keep it dark */
  .mdcp-topbar::before,
  .mdcp-topbar::after,
  .mdcp-header::before,
  .mdcp-header::after,
  .mdcp-top-links::before,
  .mdcp-top-links::after{
    background:transparent !important;
    background-image:none !important;
  }

  /* Text + links in the top area */
  .mdcp-topbar a,
  .mdcp-header a,
  .mdcp-top-links a,
  .mdcp-topbar-right,
  .mdcp-topbar-right a,
  .mdcp-topbar-right span,
  .mdcp-topbar-right .mdcp-dot,
  .mdcp-header-links,
  .mdcp-header-links a,
  .mdcp-header-links span{
    color:#111 !important;
  }

  /* Pills */
  a.mdcp-pill,
  .mdcp-topbar-right a.mdcp-pill,
  .mdcp-header-links a.mdcp-pill{
    background:rgba(255,231,97,.65) !important;
    border:1px solid rgba(0,0,0,.12) !important;
    color:#111 !important;
  }
  a.mdcp-pill:hover{ background:rgba(255,231,97,.78) !important; }

  a.mdcp-pill svg,
  a.mdcp-pill svg *{
    stroke:#111 !important;
    fill:none !important;
  }

  /* Logo container tile */
  .mdcp-logo,
  .mdcp-header-logo,
  .mdcp-brand-logo-wrap,
  .mdcp-logo-wrap{
    background:rgba(0,0,0,.03) !important;
    border:1px solid rgba(0,0,0,.08) !important;
  }
}




/* MDCP 1.14.27: Make topbar LIGHT by default, DARK only when device prefers dark.
   Fixes cases where 'light mode page' doesn't match prefers-color-scheme. */
.mdcp-topbar,
.mdcp-header,
.mdcp-top-links,
.mdcp-portal-topbar{
  background:#fff !important;
  background-image:none !important;
  color:#111 !important;
  border-bottom:1px solid rgba(0,0,0,.08) !important;
}

.mdcp-topbar a,
.mdcp-header a,
.mdcp-topbar-right,
.mdcp-topbar-right a,
.mdcp-topbar-right span,
.mdcp-topbar-right .mdcp-dot{
  color:#111 !important;
}

/* Pills on light */
.mdcp-topbar a.mdcp-pill,
.mdcp-header a.mdcp-pill{
  background:rgba(255,231,97,.70) !important;
  border:1px solid rgba(0,0,0,.12) !important;
  color:#111 !important;
}
.mdcp-topbar a.mdcp-pill:hover{ background:rgba(255,231,97,.82) !important; }

/* Dark mode override */
@media (prefers-color-scheme: dark){
  .mdcp-topbar,
  .mdcp-header,
  .mdcp-top-links,
  .mdcp-portal-topbar{
    background:#000 !important;
    color:#fff !important;
    border-bottom:1px solid rgba(255,255,255,.10) !important;
  }
  .mdcp-topbar a,
  .mdcp-header a,
  .mdcp-topbar-right,
  .mdcp-topbar-right a,
  .mdcp-topbar-right span,
  .mdcp-topbar-right .mdcp-dot{
    color:#fff !important;
  }
  .mdcp-topbar a.mdcp-pill,
  .mdcp-header a.mdcp-pill{
    background:rgba(255,231,97,.10) !important;
    border:1px solid rgba(255,231,97,.35) !important;
    color:var(--mdcp-accent,#FFE761) !important;
  }
}




/* MDCP 1.14.28: Guest page header light-mode fix + mobile logo cleanup */
@media (prefers-color-scheme: light){
  /* Guest header: ensure it follows light page styling (override legacy "force black header" rules) */
  .mdcp-guest .mdcp-header,
  .mdcp-guest .mdcp-header-top{
    background:#fff !important;
    color:#111 !important;
    border-bottom:1px solid rgba(0,0,0,.08) !important;
  }

  .mdcp-guest .mdcp-header-links,
  .mdcp-guest .mdcp-header-links span{
    color:#111 !important;
  }

  .mdcp-guest .mdcp-header-links a{
    color:#111 !important;
    text-decoration:none !important;
  }

  /* Back button pill: Moonlight yellow in light mode */
  .mdcp-guest .mdcp-header-links a.mdcp-pill{
    background:rgba(255,231,97,.75) !important;
    border:1px solid rgba(0,0,0,.12) !important;
    color:#111 !important;
  }
  .mdcp-guest .mdcp-header-links a.mdcp-pill:hover{
    background:rgba(255,231,97,.88) !important;
  }
}

/* Mobile: wordmark logo should not be squashed into a square tile */
@media (max-width:700px){
  .mdcp-guest .mdcp-header-top{align-items:center !important;}
  .mdcp-guest .mdcp-header-logo{
    width:auto !important;
    height:auto !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    padding:0 !important;
  }
  .mdcp-guest .mdcp-header-logo img{
    height:28px !important;
    max-width:190px !important;
    width:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    image-rendering:auto !important;
  }
}




/* MDCP 1.14.30: remove logo from guest header (site nav already has it) */
.mdcp-guest .mdcp-header-logo{ display:none !important; }
.mdcp-guest .mdcp-header-top{ gap:14px !important; }




/* MDCP 1.14.32: hide portal login/register hero logo on mobile */
@media (max-width: 600px){
  .mdcp-login-hero img{ display:none !important; }
}


/* MDCP 1.14.33: Guest link box (host/admin on guest pages) */
.mdcp-guestlink-box{padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.25)}
.mdcp-guestlink-title{font-weight:900;margin-bottom:8px}
.mdcp-guestlink-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.mdcp-guestlink-row input{flex:1;min-width:220px;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.25);color:#fff}
.mdcp-guestlink-hint{margin-top:8px;opacity:.85;font-size:13px}
.mdcp-btn--small{padding:8px 12px;border-radius:12px;font-weight:900}
@media (prefers-color-scheme: light){
  .mdcp-guestlink-box{border-color:rgba(0,0,0,.10);background:rgba(255,255,255,.75)}
  .mdcp-guestlink-row input{border-color:rgba(0,0,0,.12);background:#fff;color:#111}
}

.mdcp-advert{overflow:hidden}

/* === MDCP 1.14.48: Table UX improvements (mobile + desktop) === */

/* Force: never split words in table cells (beats theme CSS) */
.mdcp-table td,
.mdcp-table th{
  word-break: normal !important;
  overflow-wrap: normal !important;
  word-wrap: normal !important;
  white-space: normal !important;
  hyphens: none !important;
}

/* Column sizing for 6-column request tables */
.mdcp-table th:nth-child(1), .mdcp-table td:nth-child(1){min-width:120px;}
.mdcp-table th:nth-child(2), .mdcp-table td:nth-child(2){min-width:140px;}
.mdcp-table th:nth-child(3), .mdcp-table td:nth-child(3){min-width:180px;}
.mdcp-table th:nth-child(4), .mdcp-table td:nth-child(4){min-width:200px;}
/* Comment column wider */
.mdcp-table th:nth-child(5), .mdcp-table td:nth-child(5){min-width:360px;}
/* Actions column */
.mdcp-table th:nth-child(6), .mdcp-table td:nth-child(6){min-width:120px;}






/* Comment cell: wrap by words (no splitting) and keep same font size */
.mdcp-table td:nth-child(5){
  max-width: 420px;
}



/* Ensure delete/action area remains tappable on mobile */
.mdcp-table td:nth-child(6) a,
.mdcp-table td:nth-child(6) button{
  white-space: nowrap;
}


/* Final comment display fix */



/* Final force wrap for comments */
.mdcp-table td:nth-child(5){
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}


/* Password requirements: red when not met, green when met */
.mdcp-passreq-inline ul,
#mdcpPassReq ul,
#mdcp_passreq ul{
  list-style:none;
  margin:8px 0 0;
  padding:0;
}
.mdcp-passreq-inline li,
#mdcpPassReq li,
#mdcp_passreq li{
  display:flex;
  align-items:center;
  gap:8px;
  margin:4px 0;
  color:#b91c1c !important; /* red */
}
.mdcp-passreq-inline li .mdcp-passreq-tick,
#mdcpPassReq li .mdcp-passreq-tick,
#mdcp_passreq li .mdcp-passreq-tick{
  font-weight:900;
  width:18px;
  display:inline-block;
  text-align:center;
}
.mdcp-passreq-inline li.is-ok,
#mdcpPassReq li.is-ok,
.mdcp-passreq-inline li.ok,
#mdcpPassReq li.ok,
#mdcp_passreq li.ok{
  color:#15803d !important; /* green */
}



/* Scroll hint under tables */
.mdcp-scroll-hint{
  font-size:12px;
  opacity:.7;
  margin:4px 0 8px;
}






/* Fix grey corners on event header/hero (web): robust selectors */
.mdcp-event-hero,
.mdcp-hero,
.mdcp-event-header,
.mdcp-card--hero,
.mdcp-card--hero *{
  border-radius: 24px;
}

.mdcp-event-hero,
.mdcp-hero,
.mdcp-event-header,
.mdcp-card--hero{
  overflow: hidden !important;
  border-radius: 24px !important;
  background-clip: padding-box;
}

/* If the gradient is on an inner element, clip it too */
.mdcp-event-hero > *,
.mdcp-hero > *,
.mdcp-event-header > *,
.mdcp-card--hero > *{
  overflow: hidden;
  border-radius: 24px;
}
