/*
 * Lux Glass module identity layer — Theme release 1.8.0.
 *
 * The Corals Nexus application owns module structure and behavior. The active
 * LuxCorals or CoralsNexus WordPress theme owns all colors, glass treatments,
 * reflections, and the Dashboard shine. Keep this file synchronized between
 * both themes.
 */

#corals-nexus-app.cn-app {
  --cn-module-dashboard:#FFFFFF;
  --cn-module-tasks:#4AA7A1;
  --cn-module-maintenance:#B58A52;
  --cn-module-tanks:#397DA8;
  --cn-module-water:#3B9FB8;
  --cn-module-livestock:#63A86B;
  --cn-module-inventory:#7B3FFF;
  --cn-module-catalog:#3A7BFF;
  --cn-module-employees:#63A86B;
  --cn-module-approvals:#6E8FD6;
  --cn-module-accounting:#D21F2B;
  --cn-module-development:#A9ADB5;
  --cn-module-dialog-light:rgba(255,255,255,.55);
  --cn-module-dialog-dark:rgba(0,0,0,.55);
  --cn-module-dialog-illumination:var(--cn-module-dialog-light);
}

#corals-nexus-app.cn-app:is([data-lighting="moon"],[data-theme="dark"]) {
  --cn-module-dialog-illumination:var(--cn-module-dialog-dark);
}

/* The theme color map overrides the app's neutral/fallback inline token. */
#corals-nexus-app.cn-app :is([data-module-key="dashboard"],[data-cn-module="dashboard"]){--cn-module-color:var(--cn-module-dashboard)!important}
#corals-nexus-app.cn-app :is([data-module-key="tasks"],[data-cn-module="tasks"]){--cn-module-color:var(--cn-module-tasks)!important}
#corals-nexus-app.cn-app :is([data-module-key="maintenance"],[data-cn-module="maintenance"]){--cn-module-color:var(--cn-module-maintenance)!important}
#corals-nexus-app.cn-app :is([data-module-key="tanks"],[data-cn-module="tanks"]){--cn-module-color:var(--cn-module-tanks)!important}
#corals-nexus-app.cn-app :is([data-module-key="water"],[data-cn-module="water"]){--cn-module-color:var(--cn-module-water)!important}
#corals-nexus-app.cn-app :is([data-module-key="livestock"],[data-cn-module="livestock"]){--cn-module-color:var(--cn-module-livestock)!important}
#corals-nexus-app.cn-app :is([data-module-key="inventory"],[data-cn-module="inventory"],[data-panel-content="catalog"]){--cn-module-color:var(--cn-module-inventory)!important}
#corals-nexus-app.cn-app :is([data-module-key="catalog-library"],[data-cn-module="catalog-library"],[data-panel-content="catalog-library"]){--cn-module-color:var(--cn-module-catalog)!important}
#corals-nexus-app.cn-app :is([data-module-key="employees"],[data-cn-module="employees"]){--cn-module-color:var(--cn-module-employees)!important}
#corals-nexus-app.cn-app :is([data-module-key="responsibilities-approvals"],[data-cn-module="responsibilities-approvals"]){--cn-module-color:var(--cn-module-approvals)!important}
#corals-nexus-app.cn-app :is([data-module-key="accounting"],[data-cn-module="accounting"]){--cn-module-color:var(--cn-module-accounting)!important}
#corals-nexus-app.cn-app :is([data-module-key="development"],[data-cn-module="development"]){--cn-module-color:var(--cn-module-development)!important}

/* Color-coded launchers: module tint beneath one shared illuminated glass. */
body #corals-nexus-app.cn-app nav.cn-tabs.cn-module-launchers button.cn-module-launcher:not([data-module-key="dashboard"]) {
  background-color:color-mix(in srgb,var(--cn-module-color) 24%,var(--cn-glass-control,rgba(255,255,255,.07)))!important;
  background-image:none!important;
  border-color:color-mix(in srgb,var(--cn-module-color) 62%,var(--cn-seam-border,rgba(255,255,255,.18)))!important;
  box-shadow:
    inset 0 1px 0 var(--cn-seam-highlight,rgba(255,255,255,.40)),
    inset 0 -1px 0 color-mix(in srgb,var(--cn-module-color) 28%,transparent),
    0 9px 23px color-mix(in srgb,var(--cn-module-color) 20%,transparent)!important;
}

body #corals-nexus-app.cn-app nav.cn-tabs.cn-module-launchers button.cn-module-launcher:not([data-module-key="dashboard"]):is(:hover,:focus-visible) {
  background-color:color-mix(in srgb,var(--cn-module-color) 34%,var(--cn-glass-hover,var(--cn-glass-control,rgba(255,255,255,.09))))!important;
  border-color:color-mix(in srgb,var(--cn-module-color) 80%,white 20%)!important;
}

body #corals-nexus-app.cn-app nav.cn-tabs.cn-module-launchers button.cn-module-launcher:not([data-module-key="dashboard"]).is-active {
  background-color:color-mix(in srgb,var(--cn-module-color) 44%,var(--cn-glass-card,rgba(255,255,255,.08)))!important;
  border-color:color-mix(in srgb,var(--cn-module-color) 88%,white 12%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.52),
    inset 0 0 0 1px color-mix(in srgb,var(--cn-module-color) 34%,transparent),
    0 13px 32px color-mix(in srgb,var(--cn-module-color) 34%,transparent)!important;
}

/* Dialogs use the approved 55% glass depth and the module color as underlay. */
body #corals-nexus-app.cn-app .cn-module-backdrop > section.cn-modal.cn-module-dialog:not([data-cn-module="dashboard"]) {
  background-color:color-mix(in srgb,var(--cn-module-color) 22%,var(--cn-module-dialog-illumination))!important;
  background-image:none!important;
  border-color:color-mix(in srgb,var(--cn-module-color) 64%,rgba(255,255,255,.38))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.48),
    0 32px 110px rgba(0,0,0,.58),
    0 0 42px color-mix(in srgb,var(--cn-module-color) 24%,transparent)!important;
  -webkit-backdrop-filter:blur(28px) saturate(136%)!important;
  backdrop-filter:blur(28px) saturate(136%)!important;
}

body #corals-nexus-app.cn-app .cn-module-dialog:not([data-cn-module="dashboard"]) > header.cn-module-dialog-header {
  background-color:color-mix(in srgb,var(--cn-module-color) 24%,var(--cn-module-dialog-illumination))!important;
  background-image:none!important;
  border-bottom-color:color-mix(in srgb,var(--cn-module-color) 58%,var(--cn-seam-border,rgba(255,255,255,.16)))!important;
}

/* Dashboard is untinted clear glass with one localized diagonal shine spot. */
body #corals-nexus-app.cn-app nav.cn-tabs.cn-module-launchers button.cn-module-launcher[data-module-key="dashboard"] {
  position:relative;
  overflow:hidden;
  background-color:var(--cn-glass-control,rgba(255,255,255,.065))!important;
  background-image:none!important;
  border-color:rgba(255,255,255,.60)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.82),
    inset 0 -1px 0 rgba(255,255,255,.14),
    0 9px 24px rgba(255,255,255,.10)!important;
}

body #corals-nexus-app.cn-app nav.cn-tabs.cn-module-launchers button.cn-module-launcher[data-module-key="dashboard"]::before {
  content:"";
  position:absolute;
  top:7px;
  right:15px;
  width:38px;
  height:14px;
  border-radius:999px;
  pointer-events:none;
  opacity:.82;
  transform:rotate(-18deg);
  background:radial-gradient(ellipse at center,rgba(255,255,255,.98) 0 9%,rgba(255,255,255,.64) 24%,rgba(255,255,255,.18) 52%,transparent 74%);
  filter:blur(.45px);
}

body #corals-nexus-app.cn-app nav.cn-tabs.cn-module-launchers button.cn-module-launcher[data-module-key="dashboard"]:is(:hover,:focus-visible,.is-active) {
  background-color:var(--cn-glass-hover,rgba(255,255,255,.095))!important;
  border-color:rgba(255,255,255,.88)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    inset 0 0 0 1px rgba(255,255,255,.18),
    0 13px 32px rgba(255,255,255,.15)!important;
}

body #corals-nexus-app.cn-app .cn-module-backdrop > section.cn-modal.cn-module-dialog[data-cn-module="dashboard"] {
  position:relative;
  overflow:hidden;
  background-color:var(--cn-module-dialog-illumination)!important;
  background-image:none!important;
  border-color:rgba(255,255,255,.62)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.78),
    inset 0 -1px 0 rgba(255,255,255,.13),
    0 32px 110px rgba(0,0,0,.58),
    0 0 38px rgba(255,255,255,.09)!important;
  -webkit-backdrop-filter:blur(28px) saturate(122%)!important;
  backdrop-filter:blur(28px) saturate(122%)!important;
}

body #corals-nexus-app.cn-app .cn-module-dialog[data-cn-module="dashboard"]::before {
  content:"";
  position:absolute;
  z-index:1;
  top:16px;
  right:92px;
  width:76px;
  height:25px;
  border-radius:999px;
  pointer-events:none;
  opacity:.76;
  transform:rotate(-19deg);
  background:radial-gradient(ellipse at center,rgba(255,255,255,.98) 0 8%,rgba(255,255,255,.60) 22%,rgba(255,255,255,.16) 49%,transparent 73%);
  filter:blur(.6px);
}

body #corals-nexus-app.cn-app .cn-module-dialog[data-cn-module="dashboard"] > :is(.cn-module-dialog-header,.cn-module-dialog-body) {
  position:relative;
  z-index:2;
}

body #corals-nexus-app.cn-app .cn-module-dialog[data-cn-module="dashboard"] > header.cn-module-dialog-header {
  background-color:color-mix(in srgb,var(--cn-module-dialog-illumination) 88%,transparent)!important;
  background-image:none!important;
  border-bottom-color:rgba(255,255,255,.34)!important;
}

/* Accounting layout is theme-owned; the app provides only its semantic HTML. */
#corals-nexus-app.cn-app .cn-accounting-module{display:grid;gap:18px;padding:4px 0 24px}
#corals-nexus-app.cn-app .cn-accounting-heading{padding:18px;border:1px solid color-mix(in srgb,var(--cn-module-color) 46%,var(--cn-seam-border,var(--cn-line)));border-radius:18px;background-color:color-mix(in srgb,var(--cn-module-color) 10%,var(--cn-glass-card,var(--cn-surface)));box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 14px 32px rgba(0,0,0,.12)}
#corals-nexus-app.cn-app .cn-accounting-heading h2{margin:.2rem 0}
#corals-nexus-app.cn-app .cn-accounting-heading p{max-width:780px}
#corals-nexus-app.cn-app .cn-accounting-foundation-status{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border:1px solid color-mix(in srgb,var(--cn-module-color) 72%,white 28%);border-radius:999px;background-color:color-mix(in srgb,var(--cn-module-color) 28%,transparent);color:var(--cn-engine-text,var(--cn-text));font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 0 22px color-mix(in srgb,var(--cn-module-color) 25%,transparent)}
#corals-nexus-app.cn-app .cn-accounting-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
#corals-nexus-app.cn-app :is(.cn-accounting-summary article,.cn-accounting-workspaces article,.cn-accounting-next){border:1px solid color-mix(in srgb,var(--cn-module-color) 34%,var(--cn-seam-border,var(--cn-line)));border-radius:17px;background-color:color-mix(in srgb,var(--cn-module-color) 7%,var(--cn-glass-card,var(--cn-surface)));box-shadow:inset 0 1px 0 rgba(255,255,255,.36),0 10px 26px rgba(0,0,0,.1);-webkit-backdrop-filter:blur(18px) saturate(118%);backdrop-filter:blur(18px) saturate(118%)}
#corals-nexus-app.cn-app .cn-accounting-summary article{display:grid;gap:5px;padding:16px}
#corals-nexus-app.cn-app .cn-accounting-summary article>span{color:var(--cn-engine-muted,var(--cn-muted));font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
#corals-nexus-app.cn-app .cn-accounting-summary article>strong{font-size:18px;color:color-mix(in srgb,var(--cn-module-color) 78%,var(--cn-engine-text,var(--cn-text)))}
#corals-nexus-app.cn-app .cn-accounting-summary article>small{color:var(--cn-engine-muted,var(--cn-muted));line-height:1.4}
#corals-nexus-app.cn-app .cn-accounting-workspaces{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#corals-nexus-app.cn-app .cn-accounting-workspaces article{padding:18px}
#corals-nexus-app.cn-app .cn-accounting-workspaces header{display:flex;align-items:center;justify-content:space-between;gap:12px}
#corals-nexus-app.cn-app .cn-accounting-workspaces h3{margin:0;font-size:20px}
#corals-nexus-app.cn-app .cn-accounting-workspaces header span{padding:4px 8px;border-radius:999px;background-color:color-mix(in srgb,var(--cn-module-color) 18%,transparent);color:var(--cn-engine-muted,var(--cn-muted));font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
#corals-nexus-app.cn-app .cn-accounting-workspaces p{margin:12px 0;color:var(--cn-engine-text,var(--cn-text));line-height:1.55}
#corals-nexus-app.cn-app .cn-accounting-workspaces small{color:var(--cn-engine-muted,var(--cn-muted))}
#corals-nexus-app.cn-app .cn-accounting-next{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:24px;padding:20px}
#corals-nexus-app.cn-app .cn-accounting-next h3{margin:5px 0}
#corals-nexus-app.cn-app .cn-accounting-next ol{display:grid;gap:10px;margin:0;padding:0;list-style:none;counter-reset:accounting-step}
#corals-nexus-app.cn-app .cn-accounting-next li{counter-increment:accounting-step;display:grid;grid-template-columns:34px minmax(120px,.42fr) minmax(0,1fr);gap:10px;align-items:start;padding:11px;border:1px solid color-mix(in srgb,var(--cn-module-color) 22%,var(--cn-seam-border,var(--cn-line)));border-radius:12px;background-color:color-mix(in srgb,var(--cn-module-color) 5%,transparent)}
#corals-nexus-app.cn-app .cn-accounting-next li::before{content:counter(accounting-step);display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background-color:var(--cn-module-color);color:#fff;font-weight:900;box-shadow:0 0 15px color-mix(in srgb,var(--cn-module-color) 34%,transparent)}
#corals-nexus-app.cn-app .cn-accounting-next li>strong{padding-top:4px}
#corals-nexus-app.cn-app .cn-accounting-next li>span{padding-top:4px;color:var(--cn-engine-muted,var(--cn-muted));line-height:1.4}

@media(max-width:980px){
  #corals-nexus-app.cn-app .cn-accounting-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  #corals-nexus-app.cn-app .cn-accounting-next{grid-template-columns:1fr}
}

@media(max-width:640px){
  #corals-nexus-app.cn-app :is(.cn-accounting-summary,.cn-accounting-workspaces){grid-template-columns:1fr}
  #corals-nexus-app.cn-app .cn-accounting-next li{grid-template-columns:34px 1fr}
  #corals-nexus-app.cn-app .cn-accounting-next li>span{grid-column:2}
}

@media(prefers-reduced-motion:reduce){
  #corals-nexus-app.cn-app .cn-module-launcher::before,
  #corals-nexus-app.cn-app .cn-module-dialog::before{transition:none!important;animation:none!important}
}

