/* BoleteraDigital Product System · Build 390
   Shared monochrome language for platform, customer administration and public account flows.
   Deliberately not loaded by the raffle template/verifier surfaces. */
:root{
  color-scheme:light;
  --bdp-bg:#ffffff;
  --bdp-surface:#ffffff;
  --bdp-soft:#f5f5f3;
  --bdp-soft-2:#eeeeeb;
  --bdp-text:#050505;
  --bdp-muted:#747474;
  --bdp-line:rgba(0,0,0,.10);
  --bdp-line-strong:rgba(0,0,0,.18);
  --bdp-inverse:#050505;
  --bdp-inverse-text:#ffffff;
  --bdp-radius-xs:10px;
  --bdp-radius-sm:14px;
  --bdp-radius-md:20px;
  --bdp-radius-lg:30px;
  --bdp-radius-xl:40px;
  --bdp-shadow:0 24px 70px rgba(0,0,0,.07);
  --bdp-green:#27c86f;
  --bdp-blue:#1688ff;
  --bdp-red:#d93838;
  --bdp-max:1480px;
  --bdp-font:Grift,-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",Inter,system-ui,sans-serif;
}
@media(prefers-color-scheme:dark){
  :root{
    color-scheme:dark;
    --bdp-bg:#000000;--bdp-surface:#000000;--bdp-soft:#0b0b0b;--bdp-soft-2:#151515;--bdp-text:#ffffff;--bdp-muted:#929292;
    --bdp-line:rgba(255,255,255,.11);--bdp-line-strong:rgba(255,255,255,.20);--bdp-inverse:#ffffff;--bdp-inverse-text:#000000;--bdp-shadow:none;--bdp-red:#ff6262;
  }
}
:root[data-theme="dark"],html.dark,html.theme-dark{
  color-scheme:dark;--bdp-bg:#000000;--bdp-surface:#000000;--bdp-soft:#0b0b0b;--bdp-soft-2:#151515;--bdp-text:#ffffff;--bdp-muted:#929292;
  --bdp-line:rgba(255,255,255,.11);--bdp-line-strong:rgba(255,255,255,.20);--bdp-inverse:#ffffff;--bdp-inverse-text:#000000;--bdp-shadow:none;--bdp-red:#ff6262;
}
:root[data-theme="light"],html.theme-light{
  color-scheme:light;--bdp-bg:#ffffff;--bdp-surface:#ffffff;--bdp-soft:#f5f5f3;--bdp-soft-2:#eeeeeb;--bdp-text:#050505;--bdp-muted:#747474;
  --bdp-line:rgba(0,0,0,.10);--bdp-line-strong:rgba(0,0,0,.18);--bdp-inverse:#050505;--bdp-inverse-text:#ffffff;--bdp-shadow:0 24px 70px rgba(0,0,0,.07);--bdp-red:#d93838;
}
html{background:#fff;background:var(--bdp-bg);color:var(--bdp-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{background:#fff;background:var(--bdp-bg);color:var(--bdp-text);font-family:var(--bdp-font)}
@media(prefers-color-scheme:dark){html,body{background:#000}}
*{scrollbar-color:var(--bdp-line-strong) transparent}
::selection{background:var(--bdp-inverse);color:var(--bdp-inverse-text)}
a{color:inherit}
button,input,select,textarea{font-family:inherit}
:focus-visible{outline:2px solid var(--bdp-text)!important;outline-offset:3px!important}

/* Platform mark. Tenant logos continue to use /images/logo.png independently. */
.bd-platform-mark,.bd-platform-logo,img[data-bd-platform-logo]{display:block;object-fit:contain;object-position:center;filter:none!important}
@media(prefers-color-scheme:dark){.bd-platform-mark,.bd-platform-logo,img[data-bd-platform-logo]{filter:invert(1)!important}}
:root[data-theme="dark"] .bd-platform-mark,:root[data-theme="dark"] .bd-platform-logo,:root[data-theme="dark"] img[data-bd-platform-logo],html.dark .bd-platform-mark,html.dark .bd-platform-logo,html.dark img[data-bd-platform-logo]{filter:invert(1)!important}
:root[data-theme="light"] .bd-platform-mark,:root[data-theme="light"] .bd-platform-logo,:root[data-theme="light"] img[data-bd-platform-logo],html.theme-light .bd-platform-mark,html.theme-light .bd-platform-logo,html.theme-light img[data-bd-platform-logo]{filter:none!important}
.bd-site-footer img[data-bd-platform-logo]{filter:invert(1)!important}

/* Shared controls. Existing page classes are respected; these rules normalize appearance. */
.button,.saas-btn,.ops-primary-btn,.ops-secondary-btn,.legal-button,.pc-button,.auth-primary-button,.auth-secondary-button,
.pra-topbar__back,.pra-action,.settings-page button,.settings-page .button,.payment-admin-page button,.payment-admin-page .button{
  min-height:44px;border-radius:999px!important;font-weight:720;letter-spacing:-.01em;box-shadow:none!important;transition:transform .16s ease,opacity .16s ease,background-color .16s ease,border-color .16s ease!important
}
.button--primary,.ops-primary-btn,.auth-primary-button,.pc-button--primary,.saas-btn--primary{
  background:var(--bdp-inverse)!important;color:var(--bdp-inverse-text)!important;border:1px solid var(--bdp-inverse)!important
}
.button--secondary,.button--ghost,.ops-secondary-btn,.auth-secondary-button,.saas-btn,.legal-button{
  background:var(--bdp-surface)!important;color:var(--bdp-text)!important;border:1px solid var(--bdp-line-strong)!important
}
button:hover,a.button:hover,.saas-btn:hover,.ops-primary-btn:hover,.ops-secondary-btn:hover{transform:translateY(-1px)}
button:disabled{transform:none!important;opacity:.48!important}
input,select,textarea,.field input,.field select,.field textarea,.ops-form-grid input,.ops-form-grid select,.ops-form-grid textarea{
  color:var(--bdp-text)!important;background:var(--bdp-surface)!important;border:1px solid var(--bdp-line-strong)!important;border-radius:14px!important;box-shadow:none!important
}
input::placeholder,textarea::placeholder{color:var(--bdp-muted)!important;opacity:.78}

/* Authentication: one resilient layout on desktop/mobile, pure white/black surfaces. */
.auth-page-body{min-height:100dvh!important;background:var(--bdp-bg)!important;color:var(--bdp-text)!important}
.auth-layout{background:var(--bdp-bg)!important}
.auth-showcase,.auth-workspace,.auth-card,.auth-dialog__card{box-shadow:none!important}
.auth-workspace,.auth-card{background:var(--bdp-bg)!important;color:var(--bdp-text)!important}
.auth-card{border-color:var(--bdp-line)!important}
.auth-title,.auth-card h1,.auth-dialog h2,.auth-dialog h3{color:var(--bdp-text)!important;letter-spacing:-.045em!important}
.auth-subtitle,.auth-label,.auth-switch,.auth-security-note,.auth-dialog p,.auth-field small{color:var(--bdp-muted)!important}
.auth-input-wrap{background:var(--bdp-surface)!important;border:1px solid var(--bdp-line-strong)!important;border-radius:15px!important;box-shadow:none!important}
.auth-input-wrap input{min-height:48px!important;border:0!important;background:transparent!important}
.auth-text-button{color:var(--bdp-text)!important}
.auth-dialog{background:rgba(0,0,0,.5)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.auth-dialog__card{background:var(--bdp-bg)!important;color:var(--bdp-text)!important;border:1px solid var(--bdp-line)!important}
.auth-showcase__logo img,.auth-card__mobile-logo img,.auth-compact-brand img{width:100%;height:100%;object-fit:contain}
.auth-showcase__logo,.auth-card__mobile-logo{overflow:visible!important;background:transparent!important}
@media(max-width:820px){
  .auth-page-body{overflow-x:hidden!important}
  .auth-layout{display:block!important;min-height:100dvh!important;padding:max(18px,env(safe-area-inset-top)) 16px max(22px,env(safe-area-inset-bottom))!important}
  .auth-showcase{display:none!important}
  .auth-workspace{width:100%!important;min-height:calc(100dvh - 40px)!important;display:grid!important;align-content:center!important;padding:0!important}
  .auth-card{width:min(100%,520px)!important;margin:0 auto!important;padding:28px 20px!important;border:0!important;border-radius:0!important}
  .auth-card__mobile-logo{display:grid!important;width:78px!important;height:48px!important;margin:0 auto 24px!important}
  .auth-compact-brand{display:none!important}
  .auth-primary-button,.auth-secondary-button{min-height:50px!important}
  .auth-options{align-items:flex-start!important;gap:12px!important}
  .auth-dialog{padding:12px!important}
  .auth-dialog__card{max-height:calc(100dvh - 24px)!important;overflow:auto!important;border-radius:24px!important}
}

/* Settings / account administration. */
.settings-page{min-height:100dvh!important;background:var(--bdp-bg)!important;color:var(--bdp-text)!important}
.settings-header{background:color-mix(in srgb,var(--bdp-bg) 92%,transparent)!important;border-bottom:1px solid var(--bdp-line)!important;backdrop-filter:blur(18px)}
.settings-shell{width:min(var(--bdp-max),calc(100% - 32px))!important;margin:0 auto!important;gap:28px!important}
.settings-sidebar,.settings-section,.settings-page .card,.settings-page .future-note,.settings-page .meta-server-panel,.settings-page .meta-quality-panel{
  background:var(--bdp-surface)!important;border:1px solid var(--bdp-line)!important;border-radius:24px!important;box-shadow:none!important
}
.settings-nav button,.settings-nav-link{border-radius:14px!important;color:var(--bdp-text)!important}
.settings-nav button.is-active,.settings-nav button[aria-current="page"],.settings-nav-link.is-active{background:var(--bdp-inverse)!important;color:var(--bdp-inverse-text)!important}
.section-intro h1,.settings-section h1,.settings-section h2{color:var(--bdp-text)!important;letter-spacing:-.035em!important}
.eyebrow,.helper,.settings-section small,.sidebar-heading p{color:var(--bdp-muted)!important}
@media(max-width:820px){.settings-shell{width:min(100% - 16px,var(--bdp-max))!important}.settings-sidebar{border-radius:20px!important}.settings-section{border-radius:22px!important}}

/* SaaS consoles (domains, billing, Superadmin). */
.saas-console{background:var(--bdp-bg)!important;color:var(--bdp-text)!important}
.saas-shell,.ops-shell{color:var(--bdp-text)!important}
.saas-topbar,.saas-card,.saas-section,.ops-panel,.ops-sidebar,.ops-topbar,.domain-hero,.domain-card,.domain-list-card{
  background:var(--bdp-surface)!important;color:var(--bdp-text)!important;border-color:var(--bdp-line)!important;box-shadow:none!important
}
.saas-card,.ops-panel,.domain-card,.domain-list-card{border-radius:24px!important}
.saas-brand__mark,.ops-brand__mark{background:transparent!important;border:0!important;color:var(--bdp-text)!important}
.saas-brand__mark img,.ops-brand__mark img{width:42px;height:32px;object-fit:contain}
.ops-kicker,.saas-section__head p,.domain-card p,.domain-muted{color:var(--bdp-muted)!important}
.ops-table,.saas-table{color:var(--bdp-text)!important}
.ops-table th,.saas-table th{background:var(--bdp-soft)!important;color:var(--bdp-muted)!important}
.ops-table td,.saas-table td{border-color:var(--bdp-line)!important}

/* Legal/help/public utility pages. */
.legal-topbar{background:color-mix(in srgb,var(--bdp-bg) 94%,transparent)!important;border-color:var(--bdp-line)!important;backdrop-filter:blur(18px)}
.legal-main,.legal-content,.legal-section,.legal-contact,.legal-notice,.legal-toc{color:var(--bdp-text)!important}
.legal-hero h1,.legal-section h2,.legal-contact h2{letter-spacing:-.045em!important;color:var(--bdp-text)!important}
.legal-hero>p,.legal-section p,.legal-notice,.legal-meta,.legal-toc a{color:var(--bdp-muted)!important}
.legal-toc,.legal-notice,.legal-contact{background:var(--bdp-surface)!important;border:1px solid var(--bdp-line)!important;border-radius:22px!important;box-shadow:none!important}
.legal-brand img{width:44px!important;height:30px!important;object-fit:contain!important}

/* Payment and operational administration. */
.payment-admin-page,.pra-page,.payment-center-page,.payment-confirmed-page,.payment-history-page{background:var(--bdp-bg)!important;color:var(--bdp-text)!important}
.payment-admin-page .admin-shell,.payment-admin-page .payment-shell,.pra-shell,.pc-shell,.payment-history-page main{color:var(--bdp-text)!important}
.payment-admin-page .card,.payment-admin-page .panel,.payment-admin-page dialog>*,.pra-card,.pra-hero,.pra-channel-summary,.pc-summary,.pc-panel,.pc-hero,.payment-confirmed-page .card,.payment-history-page .card{
  background:var(--bdp-surface)!important;color:var(--bdp-text)!important;border-color:var(--bdp-line)!important;box-shadow:none!important
}
.pra-hero,.pc-hero{border-radius:28px!important}
.pra-status-tabs,.pra-topbar,.payment-admin-page header{background:color-mix(in srgb,var(--bdp-bg) 94%,transparent)!important;border-color:var(--bdp-line)!important;backdrop-filter:blur(18px)}
.pra-hero__copy>span,.pc-eyebrow,.pra-card small,.pc-shell small{color:var(--bdp-muted)!important}

/* Winner/admin, team and raffle editor administration. */
body.bd-footer-variant-admin:not(.dashboard-page):not(.pra-page):not(.auth-page-body){background:var(--bdp-bg)!important;color:var(--bdp-text)!important}
body.bd-footer-variant-admin main section,body.bd-footer-variant-admin main article{border-color:var(--bdp-line)}

/* Global footer uses the white derivative of the new platform mark on its black surface. */
.bd-site-footer__collaboration-platform img{object-fit:contain!important;object-position:left center!important;max-height:34px!important;width:auto!important}

/* Motion is intentionally restrained throughout the administration product. */
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
:is(img[src*="/images/brand/boleteradigital-mark.png"],img[src*="/images/brand/logoboleteradigital.png"]){filter:none!important}
@media(prefers-color-scheme:dark){:is(img[src*="/images/brand/boleteradigital-mark.png"],img[src*="/images/brand/logoboleteradigital.png"]){filter:invert(1)!important}}
:root[data-theme="dark"] :is(img[src*="/images/brand/boleteradigital-mark.png"],img[src*="/images/brand/logoboleteradigital.png"]),html.dark :is(img[src*="/images/brand/boleteradigital-mark.png"],img[src*="/images/brand/logoboleteradigital.png"]){filter:invert(1)!important}
:root[data-theme="light"] :is(img[src*="/images/brand/boleteradigital-mark.png"],img[src*="/images/brand/logoboleteradigital.png"]),html.theme-light :is(img[src*="/images/brand/boleteradigital-mark.png"],img[src*="/images/brand/logoboleteradigital.png"]){filter:none!important}

/* Public SaaS signup joins the same automatic white/black product language. */
.saas-signup-page{--bg:var(--bdp-bg)!important;--surface:var(--bdp-surface)!important;--surface-2:var(--bdp-soft)!important;--fg:var(--bdp-text)!important;--muted:var(--bdp-muted)!important;--line:var(--bdp-line)!important;min-height:100dvh!important;background:var(--bdp-bg)!important;color:var(--bdp-text)!important}
.saas-signup-page .topbar,.saas-signup-page main{width:min(1180px,calc(100% - 32px))!important}
.saas-signup-page .panel{background:var(--bdp-surface)!important;border:1px solid var(--bdp-line)!important;border-radius:28px!important;box-shadow:none!important;backdrop-filter:none!important}
.saas-signup-page .field input,.saas-signup-page .slug-wrap{background:var(--bdp-surface)!important;color:var(--bdp-text)!important;border-color:var(--bdp-line-strong)!important}
.saas-signup-page .logo-picker{border-color:var(--bdp-line-strong)!important}
.saas-signup-page .logo-preview{background:var(--bdp-soft)!important;color:var(--bdp-muted)!important}
.saas-signup-page .email-submit,.saas-signup-page .oauth{background:var(--bdp-inverse)!important;color:var(--bdp-inverse-text)!important;border-color:var(--bdp-inverse)!important;border-radius:999px!important}
.saas-signup-page .oauth--facebook{background:var(--bdp-surface)!important;color:var(--bdp-text)!important;border-color:var(--bdp-line-strong)!important}
.saas-signup-page h1{letter-spacing:-.065em!important}
@media(max-width:600px){.saas-signup-page main{padding-top:18px!important}.saas-signup-page .panel{padding:20px!important;border-radius:24px!important}.saas-signup-page h1{font-size:clamp(42px,13vw,58px)!important}}

/* Control Panel: same product language, while status colors remain semantic. */
body.cp2-body{
  --cp-bg:var(--bdp-bg)!important;--cp-surface:var(--bdp-surface)!important;--cp-surface-muted:var(--bdp-soft)!important;--cp-surface-strong:var(--bdp-soft-2)!important;
  --cp-text:var(--bdp-text)!important;--cp-text-soft:var(--bdp-text)!important;--cp-muted:var(--bdp-muted)!important;--cp-border:var(--bdp-line)!important;--cp-border-strong:var(--bdp-line-strong)!important;
  --cp-shadow-card:none!important;--cp-shadow-menu:var(--bdp-shadow)!important;--cp-shadow-drawer:var(--bdp-shadow)!important;font-family:var(--bdp-font)!important;background:var(--bdp-bg)!important;color:var(--bdp-text)!important
}
.cp2-topbar{background:color-mix(in srgb,var(--bdp-bg) 94%,transparent)!important;border-color:var(--bdp-line)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.cp2-hero,.cp2-metric,.cp2-workspace,.cp2-filter-panel,.cp2-drawer__panel,.cp2-menu,.cp2-empty{background:var(--bdp-surface)!important;border-color:var(--bdp-line)!important;box-shadow:none!important}
.cp2-hero,.cp2-workspace{border-radius:28px!important}.cp2-metric{border-radius:20px!important}
.cp2-button--primary{background:var(--bdp-inverse)!important;color:var(--bdp-inverse-text)!important;border-color:var(--bdp-inverse)!important}
.cp2-button--secondary,.cp2-icon-button{background:var(--bdp-surface)!important;color:var(--bdp-text)!important;border-color:var(--bdp-line-strong)!important;box-shadow:none!important}
.cp2-brand__mark{background:transparent!important;border:0!important}.cp2-brand__copy small,.cp2-kicker,.cp2-workspace__head p,.cp2-metric small{color:var(--bdp-muted)!important}
.cp2-search input,.cp2-filter-panel input,.cp2-filter-panel select{background:var(--bdp-surface)!important;color:var(--bdp-text)!important;border-color:var(--bdp-line-strong)!important}

/* Generic administrative React surfaces inherit the same pure product bases. */
[data-react-admin],[data-react-admin]~*{color-scheme:inherit}
.team-page,.raffle-form-page,.winner-page{background:var(--bdp-bg)!important;color:var(--bdp-text)!important}
