/* ===========================================================================================
   EMERALD THEME - inline colour remap  (Landing Login / UserLogin)   scope: body.em-landing
   GENERATED by tools/gold-theme/generate_remap.py - do not edit by hand, re-run the script.
   Pages keep their hard-coded inline colours (Classic stays identical); under the Emerald theme these
   attribute selectors override them. !important is required because inline styles win otherwise -
   this is the one sanctioned use. Every rule is scoped under body.em-landing, so Classic/Owner are untouched.
   'color:' rules use property-boundary selectors (^= / ;color: / ' color:') and never hit
   background-color / border-color. Script-written values (element.style.x = ...) are matched in their
   serialised form (rgb(r, g, b) / rgba(r, g, b, a)) too.

   MAPPING TABLE  (roles: text = color, fill = background-*, border = border-* and outline-*, shadow = box-shadow)
   cyan/sky bright                    #00d9f5, #06b6d4, #0891b2, #0ea5e9, #22d3ee
                                      opaque: text #e8d4a0 | fill #c6a96b | border #c6a96b | shadow #c6a96b ; alpha: rgba(198,169,107,a)
   sky light                          #38bdf8, #67e8f9, #7dd3fc
                                      opaque: text #eedcab | fill #eedcab | border #eedcab | shadow #eedcab ; alpha: rgba(198,169,107,a)
   blue                               #3b82f6
                                      opaque: text #6fe3bf | fill #12b886 | border #12b886 | shadow #12b886 ; alpha: rgba(18,184,134,a)
   purple/indigo/violet               #4f46e5, #6366f1, #7c3aed, #818cf8, #8b5cf6, #a78bfa, #a855f7, #c4b5fd
                                      opaque: text #e0a27a | fill #e0a27a | border #e0a27a | shadow #e0a27a ; alpha: rgba(224,162,122,a)
   landing green accent               #00f5a0
                                      opaque: text #6fe3bf | fill #12b886 | border #12b886 | shadow #12b886 ; alpha: rgba(18,184,134,a)
   landing login icon: wallet         #3b99fc
                                      opaque: text #e8d4a0 | fill #e8d4a0 | border #e8d4a0 | shadow #e8d4a0 ; alpha: keep
   landing login icon: coins          #0052ff
                                      opaque: text #c6a96b | fill #c6a96b | border #c6a96b | shadow #c6a96b ; alpha: keep
   landing login icon: shield         #3375bb
                                      opaque: text #12b886 | fill #12b886 | border #12b886 | shadow #12b886 ; alpha: keep
   landing login icon: fire           #fb542b
                                      opaque: text #e0a27a | fill #e0a27a | border #e0a27a | shadow #e0a27a ; alpha: keep
   semantic green (win)               #10b981, #22c55e
                                      opaque: text #3ddcab | fill keep | border #3ddcab | shadow keep ; alpha: rgba(61,220,171,a)
   semantic red (loss)                #ef4444
                                      opaque: text #ff7089 | fill keep | border #ff7089 | shadow keep ; alpha: rgba(255,112,137,a)
   dark panel #0f172a/#111827         #0f172a, #111827
                                      opaque: text keep | fill #07140f | border #07140f | shadow #07140f ; alpha: rgba(7,20,15,a) [fill/border/shadow only]
   dark panel #1e293b (raised)        #1e293b
                                      opaque: text keep | fill #0c2219 | border #0c2219 | shadow #0c2219 ; alpha: rgba(12,34,25,a) [fill/border/shadow only]
   dark panel #0b1220 (deep)          #0b1220
                                      opaque: text keep | fill #06110d | border #06110d | shadow #06110d ; alpha: rgba(6,17,13,a) [fill/border/shadow only]
   dark panel #172033                 #172033
                                      opaque: text keep | fill #0a1b14 | border #0a1b14 | shadow #0a1b14 ; alpha: rgba(10,27,20,a) [fill/border/shadow only]
   slate text low-contrast #64748b    #64748b
                                      opaque: text #8fa79b | fill keep | border keep | shadow keep ; alpha: keep
   slate text low-contrast #475569    #475569
                                      opaque: text #7d968a | fill keep | border keep | shadow keep ; alpha: keep
   slate border rgba(148,163,184,a) (opaque #94a3b8 text stays) #94a3b8
                                      opaque: text keep | fill keep | border keep | shadow keep ; alpha: rgba(198,169,107,a*0.9) [border only]
   slate border #334155               #334155
                                      opaque: text keep | fill keep | border rgba(198,169,107,.26) | shadow keep ; alpha: rgba(198,169,107,a*0.9) [border only]
   Primary brand gradient (opaque cyan/blue/violet stops, any direction):
      linear-gradient(<dir>,#fbf1d4,#dcc489,#a98c52)  + dark ink #06130f for the element's own text
   Kept on purpose: slate TEXT greys, white alphas, amber, other greens/reds, solid semantic fills,
   exchange brand colours, black overlays.
   Out of reach by design: colours inside page <style> blocks (class rules) and colours painted on <canvas> (Chart.js) are
   not inline -> covered by emerald-dashboard-components.css and emerald-chart-theme.js instead.
   Emerald table: cyan -> champagne (#e8d4a0 text / #c6a96b fill), sky light -> #eedcab, blue -> emerald (#6fe3bf / #12b886),
   violet -> copper #e0a27a, dark panels -> obsidian green (#07140f #0c2219 #06110d #0a1b14), win #3ddcab, loss #ff7089.
   Stats: 6 distinct (property,value) pairs found in 9 declarations; 5 mapped, 1 kept, 0 dynamic.
   =========================================================================================== */

/* Text colours  (color / caret-color / text-decoration-color) */
body.em-landing :is([style*=" color: #3375bb" i],[style*=" color: rgb(51, 117, 187)" i],[style*=" color:#3375bb" i],[style*=";color: #3375bb" i],[style*=";color: rgb(51, 117, 187)" i],[style*=";color:#3375bb" i],[style^="color: #3375bb" i],[style^="color: rgb(51, 117, 187)" i],[style^="color:#3375bb" i]){color:#12b886!important}
body.em-landing :is([style*=" color: #0052ff" i],[style*=" color: rgb(0, 82, 255)" i],[style*=" color:#0052ff" i],[style*=";color: #0052ff" i],[style*=";color: rgb(0, 82, 255)" i],[style*=";color:#0052ff" i],[style^="color: #0052ff" i],[style^="color: rgb(0, 82, 255)" i],[style^="color:#0052ff" i]){color:#c6a96b!important}
body.em-landing :is([style*=" color: #fb542b" i],[style*=" color: rgb(251, 84, 43)" i],[style*=" color:#fb542b" i],[style*=";color: #fb542b" i],[style*=";color: rgb(251, 84, 43)" i],[style*=";color:#fb542b" i],[style^="color: #fb542b" i],[style^="color: rgb(251, 84, 43)" i],[style^="color:#fb542b" i]){color:#e0a27a!important}
body.em-landing :is([style*=" color: #22d3ee" i],[style*=" color: #3b99fc" i],[style*=" color: rgb(34, 211, 238)" i],[style*=" color: rgb(59, 153, 252)" i],[style*=" color:#22d3ee" i],[style*=" color:#3b99fc" i],[style*=";color: #22d3ee" i],[style*=";color: #3b99fc" i],[style*=";color: rgb(34, 211, 238)" i],[style*=";color: rgb(59, 153, 252)" i],[style*=";color:#22d3ee" i],[style*=";color:#3b99fc" i],[style^="color: #22d3ee" i],[style^="color: #3b99fc" i],[style^="color: rgb(34, 211, 238)" i],[style^="color: rgb(59, 153, 252)" i],[style^="color:#22d3ee" i],[style^="color:#3b99fc" i]){color:#e8d4a0!important}
