/* Bula Score — premium front screen (1 Nov 2026).
   Every rule sits in the "bula-premium" layer, which is declared first in <head>.
   For !important rules the first-declared layer wins, so these outrank the older
   add-on stylesheets without editing each one. Scoped to the sign-in screen
   (.auth-wrap) so the dashboard is untouched. */
@layer bula-premium {
  body:has(.auth-wrap) { background: #eaf6fd !important; }
  body:has(.auth-wrap) .bg-weave { background: linear-gradient(135deg, #e6f5fd 0%, #f4fafe 55%, #eaf6fd 100%) !important; opacity: 1 !important; }
  body:has(.auth-wrap) #vinakaPageBf { display: none !important; }

  .auth-wrap .auth-card {
    display: grid !important; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr) !important;
    min-height: 100dvh !important; background: transparent !important; box-shadow: none !important; border: 0 !important;
  }

  .auth-wrap .auth-top {
    position: relative !important; display: flex !important; flex-direction: column !important; justify-content: flex-start !important;
    padding: 24px clamp(24px, 4vw, 56px) 40px !important; overflow: hidden !important;
    background: linear-gradient(160deg, #dff3fc 0%, #c6e9f8 55%, #a9dcf3 100%) !important;
    color: #0b2540 !important; border: 0 !important;
  }
  .auth-wrap .auth-top::before {
    content: "" !important; position: absolute !important; right: -120px !important; bottom: -160px !important;
    width: 460px !important; height: 460px !important; border-radius: 50% !important;
    background: radial-gradient(circle, rgba(255,255,255,.55), rgba(255,255,255,0) 70%) !important; pointer-events: none !important;
  }
  .auth-wrap .auth-top .brand { display: flex !important; align-items: center !important; gap: 12px !important; margin: 0 !important; padding: 0 !important; height: 48px !important; }
  .auth-wrap .auth-top .brand, .auth-wrap .auth-top .brand :is(span, b, strong, a, div) { color: #0b2540 !important; text-shadow: none !important; }
  .auth-wrap .auth-top .brand :is(span, b, strong):not(:empty) { font: 700 18px/22px Arial, Helvetica, sans-serif !important; }

  .auth-wrap .auth-utilities {
    display: flex !important; align-items: center !important; gap: 10px !important; flex-wrap: nowrap !important;
    margin: 16px 0 0 !important; padding: 0 !important; width: 100% !important;
  }
  .auth-wrap .auth-utilities > :first-child { margin-right: auto !important; }
  .auth-wrap .auth-utilities :is(button, a, .share-control > *) {
    height: 44px !important; min-height: 44px !important; border-radius: 12px !important;
    background: rgba(255,255,255,.85) !important; color: #0b2540 !important;
    border: 1px solid #bcdcef !important; box-shadow: 0 1px 2px rgba(11,37,64,.06) !important;
    font: 600 14px/20px Arial, Helvetica, sans-serif !important; text-shadow: none !important;
  }
  .auth-wrap .auth-utilities [data-music-toggle], .auth-wrap .auth-utilities [data-shared-music],
  .auth-wrap .auth-utilities .dsm-launcher-button { border-radius: 50% !important; padding: 0 !important; width: 44px !important; }

  .auth-wrap .auth-top h1 {
    margin: clamp(36px, 7vh, 72px) 0 14px !important; max-width: 14ch !important;
    font: 800 clamp(34px, 3.4vw, 44px)/1.12 Arial, Helvetica, sans-serif !important;
    letter-spacing: -.02em !important; color: #0b2540 !important; text-shadow: none !important;
  }
  .auth-wrap .auth-top > p {
    margin: 0 !important; max-width: 46ch !important;
    font: 400 17px/1.6 Arial, Helvetica, sans-serif !important; color: #284b68 !important; text-shadow: none !important;
  }
  .auth-wrap .auth-top::after {
    content: "" !important; display: block !important; position: relative !important; z-index: 1 !important;
    width: min(520px, 100%) !important; height: auto !important; aspect-ratio: 520 / 330 !important; margin: 28px 0 0 -20px !important;
    inset: auto !important; transform: none !important; border: 0 !important; border-radius: 0 !important;
    box-shadow: none !important; outline: 0 !important; opacity: 1 !important; filter: none !important; animation: none !important;
    background: url("/bula-score-sample.svg") no-repeat left top / contain !important;
  }
  .auth-wrap .auth-top h1 { margin-top: clamp(28px, 5vh, 52px) !important; }
  .auth-wrap .auth-utilities .share-live { position: absolute !important; width: 1px !important; height: 1px !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; }
  .auth-wrap .bt-dimau-foot, .auth-wrap [data-dimau-endorsement] { display: none !important; }
  body:has(.auth-wrap) #volau-host { bottom: 16px !important; left: 16px !important; top: auto !important; }

  .auth-wrap .auth-body {
    display: flex !important; flex-direction: column !important; justify-content: center !important; align-items: center !important;
    gap: 14px !important; padding: 48px clamp(24px, 4vw, 64px) !important;
    background: rgba(255,255,255,.72) !important; border: 0 !important; border-left: 1px solid #d6eaf6 !important; box-shadow: none !important;
  }
  .auth-wrap .auth-body::before {
    content: "Get started" !important; display: block !important; width: min(420px, 100%) !important;
    font: 800 30px/1.2 Arial, Helvetica, sans-serif !important; color: #0b2540 !important; letter-spacing: -.01em !important;
    margin: 0 0 4px !important;
  }
  .auth-wrap .auth-body > * { width: min(420px, 100%) !important; margin: 0 !important; }

  .auth-wrap .auth-body > .btn {
    height: 54px !important; min-height: 54px !important; border-radius: 14px !important;
    background: #075b94 !important; color: #fff !important; border: 1px solid #075b94 !important;
    box-shadow: 0 8px 22px rgba(7,91,148,.25) !important;
    font: 700 16px/1 Arial, Helvetica, sans-serif !important; letter-spacing: .01em !important; cursor: pointer !important;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease !important;
  }
  .auth-wrap .auth-body > .btn:hover { background: #064c7c !important; transform: translateY(-1px) !important; box-shadow: 0 12px 28px rgba(7,91,148,.32) !important; }

  .auth-wrap details.auth-options {
    border: 0 !important; background: transparent !important; box-shadow: none !important; padding: 0 !important; border-radius: 14px !important;
  }
  .auth-wrap details.auth-options > summary {
    box-sizing: border-box !important; width: 100% !important; height: 54px !important; min-height: 54px !important;
    display: flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important;
    margin: 0 !important; padding: 0 16px !important; list-style: none !important;
    border: 1.5px solid #9fcbe6 !important; border-radius: 14px !important; background: #fff !important; box-shadow: none !important;
    color: #0b2540 !important; font: 700 16px/1 Arial, Helvetica, sans-serif !important; cursor: pointer !important;
  }
  .auth-wrap details.auth-options > summary::-webkit-details-marker { display: none !important; }
  .auth-wrap details.auth-options > summary:hover { border-color: #075b94 !important; background: #f2f9fe !important; }
  .auth-wrap details.auth-options[open] { background: #fff !important; border: 1px solid #d6eaf6 !important; padding: 0 0 16px !important; }
  .auth-wrap details.auth-options[open] > summary { border: 0 !important; border-bottom: 1px solid #e3f1fa !important; border-radius: 14px 14px 0 0 !important; }
  .auth-wrap details.auth-options[open] > :not(summary) { margin-left: 16px !important; margin-right: 16px !important; width: auto !important; }

  .auth-wrap .demo-hint {
    background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 4px 0 0 !important;
    text-align: center !important; color: #4a6a85 !important; font: 400 14px/1.55 Arial, Helvetica, sans-serif !important;
  }

  .auth-wrap .auth-body :focus-visible { outline: 3px solid #2084ba !important; outline-offset: 3px !important; }

  body:has(.auth-wrap) #dimau-connect-launcher { display: none !important; }
  body:has(.auth-wrap) #gt-launcher {
    position: fixed !important; right: 16px !important; bottom: 16px !important; top: auto !important; left: auto !important;
    height: 44px !important; border-radius: 12px !important;
  }
  body:has(.auth-wrap) .dmp-pill {
    position: fixed !important; right: 160px !important; bottom: 16px !important; top: auto !important; left: auto !important;
    height: 44px !important; min-height: 44px !important; padding: 0 16px !important; border-radius: 12px !important;
    font: 600 14px/1 Arial, Helvetica, sans-serif !important;
  }

  /* Dashboard (after sign-in) */
  body:has(.shell) #vinakaPageBf { display: none !important; }
  body:has(.topbar) #root > .bw-pill { display: none !important; }
  .bt-dimau-foot, [data-dimau-endorsement] { display: none !important; }
  .shell .topbar { align-items: center !important; gap: 10px !important; }
  .shell .topbar > span:has(.dsm-launcher-button, [data-shared-music]) {
    order: 40 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important;
    width: 44px !important; height: 44px !important; flex: 0 0 44px !important; margin: 0 !important;
  }
  .shell .topbar > .acct-menu-wrap { order: 50 !important; }
  body:has(.shell) #volau-host { position: fixed !important; left: 16px !important; bottom: 16px !important; top: auto !important; right: auto !important; }
  .shell .brand { display: flex !important; flex-direction: row !important; align-items: center !important; justify-content: flex-start !important; gap: 12px !important; }
  .shell .brand::after { flex: 0 1 auto !important; margin: 0 !important; text-align: left !important; }
  .shell .brand::after {
    content: "Bula Score" !important; display: block !important; white-space: nowrap !important;
    font: 700 18px/22px Arial, Helvetica, sans-serif !important; color: #0b2540 !important; letter-spacing: 0 !important;
  }
  .shell .topbar .bt-bula {
    height: 44px !important; min-height: 44px !important; padding: 0 14px !important; border-radius: 12px !important;
    background: #fff !important; color: #0b2540 !important; border: 1px solid #bcdcef !important; box-shadow: none !important;
    font: 600 14px/20px Arial, Helvetica, sans-serif !important; text-shadow: none !important;
  }
  .shell .topbar .bt-bula * { color: inherit !important; }
  body:has(.shell) #volau-host { left: auto !important; right: 8px !important; bottom: 180px !important; }
  body:has(.shell) .dmp-pill {
    position: fixed !important; right: 16px !important; bottom: 16px !important; top: auto !important; left: auto !important;
    height: 44px !important; min-height: 44px !important; padding: 0 16px !important; border-radius: 12px !important;
    font: 600 14px/1 Arial, Helvetica, sans-serif !important;
  }
  body:has(.shell) #gt-launcher {
    position: fixed !important; right: 16px !important; bottom: 72px !important; top: auto !important; left: auto !important;
    height: 44px !important; border-radius: 12px !important;
  }
  body:has(.shell) #dimau-connect-launcher {
    position: fixed !important; right: 16px !important; bottom: 128px !important; top: auto !important; left: auto !important;
  }

  @media (max-width: 860px) {
    .auth-wrap .auth-card { grid-template-columns: 1fr !important; min-height: 0 !important; }
    .auth-wrap .auth-top { padding: 16px 16px 24px !important; }
    .auth-wrap .auth-top h1 { margin-top: 28px !important; }
    .auth-wrap .auth-top > p { font-size: 16px !important; }
    .auth-wrap .auth-top::after { margin: 20px 0 0 -12px !important; }
    .auth-wrap .auth-body { border-left: 0 !important; border-top: 1px solid #d6eaf6 !important; padding: 28px 16px 96px !important; }
    .auth-wrap .auth-body::before { font-size: 24px !important; }
    body:has(.auth-wrap) .dmp-pill { display: none !important; }
  }
}
