/* NEXUS 20 v2.9.0 — Cream & Coffee authentication + intro */
:root{
  --nx20-carbon:#241812;
  --nx20-graphite:#2f211a;
  --nx20-graphite-2:#3b2a21;
  --nx20-purple:#9e6745;
  --nx20-purple-strong:#7d4f35;
  --nx20-purple-soft:#efe0d1;
  --nx20-porcelain:#f4ece2;
  --nx20-porcelain-2:#fffaf4;
  --nx20-paper:#fffdf9;
  --nx20-titanium:#b08a6f;
  --nx20-titanium-soft:#e6d7ca;
  --nx20-ink:#34261f;
  --nx20-muted:#88776c;
  --nx20-line:#dfd1c4;
  --nx20-jade:#9e6745;
  --nx20-jade-strong:#7d4f35;
  --nx20-jade-soft:#efe0d1;
  --nx20-obsidian:#241812;
  --nx20-obsidian-2:#2f211a;
  --nx20-ivory:#f4ece2;
  --nx20-ivory-2:#fffaf4;
  --nx20-copper:#bd8157;
  --nx20-copper-soft:#ead3bd;
  --nx20-font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}
::selection{background:rgba(166,109,72,.18)!important;color:#2e211a!important}
html{background:#241812!important}
.nx20-auth-body{background:#241812!important;color:#33251e!important}
.nx20-auth-shell{background:#f4ece2!important}

/* Brand */
.nx20-brandmark{
  background:radial-gradient(circle at 28% 18%,rgba(255,255,255,.13),transparent 34%),linear-gradient(145deg,#4b3428 0%,#2b1e18 58%,#1d1410 100%)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.09),0 15px 34px rgba(44,27,18,.26)!important;
}
.nx20-brandmark:before{border-color:rgba(224,181,143,.22)!important}
.nx20-brandmark:after{background:linear-gradient(135deg,#fff7ee 0%,#e7c6a8 58%,#bc7f55 100%)!important;filter:drop-shadow(0 0 12px rgba(188,127,85,.18))!important}
.nx20-brandmark>b{background:linear-gradient(145deg,#bd8055,#8a573a)!important;box-shadow:0 7px 16px rgba(112,66,39,.31),inset 0 0 0 1px rgba(255,255,255,.17)!important}
.nx20-brand--inverse .nx20-brandmark{background:radial-gradient(circle at 28% 18%,rgba(255,255,255,.12),transparent 34%),linear-gradient(145deg,rgba(255,245,235,.12),rgba(255,255,255,.035))!important}
.nx20-brand--inverse .nx20-brandmark:before{border-color:rgba(232,192,157,.20)!important}
.nx20-brand--inverse .nx20-brandmark:after{background:linear-gradient(135deg,#fff,#edcfb3)!important}

/* Login stage */
.nx20-auth-stage{
  background:
    radial-gradient(circle at 80% 12%,rgba(193,130,86,.26),transparent 30%),
    radial-gradient(circle at 12% 86%,rgba(230,202,177,.10),transparent 28%),
    linear-gradient(145deg,#1c130f 0%,#2b1d17 48%,#3d291f 100%)!important;
}
.nx20-auth-stage__grid{opacity:.16!important;background-image:linear-gradient(rgba(255,245,235,.034) 1px,transparent 1px),linear-gradient(90deg,rgba(255,245,235,.034) 1px,transparent 1px)!important}
.nx20-auth-stage__glow--a{background:radial-gradient(circle,rgba(190,126,82,.24),transparent 68%)!important}
.nx20-auth-stage__glow--b{background:radial-gradient(circle,rgba(241,218,196,.10),transparent 69%)!important}
.nx20-release-chip{border-color:rgba(242,220,199,.13)!important;background:rgba(255,247,238,.045)!important;color:rgba(255,239,226,.58)!important}
.nx20-release-chip i{background:#c18a60!important;box-shadow:0 0 0 4px rgba(193,138,96,.12)!important}
.nx20-release-chip b{border-left-color:rgba(242,220,199,.13)!important;color:#ddc4ae!important}
.nx20-auth-kicker{border-color:rgba(215,164,122,.18)!important;background:rgba(168,105,65,.12)!important;color:#e5c3a6!important}
.nx20-auth-kicker i{color:#d8aa83!important}
.nx20-auth-stage h1{font-family:"Playfair Display",Georgia,serif!important;font-weight:700!important;letter-spacing:-.055em!important}
.nx20-auth-stage h1 em{color:#d4a178!important;font-weight:700!important}
.nx20-auth-stage__content>p{color:rgba(255,244,235,.60)!important}
.nx20-capability-grid article{border-color:rgba(255,238,224,.085)!important;background:rgba(255,248,241,.042)!important}
.nx20-capability-grid article:hover{border-color:rgba(211,158,115,.21)!important;background:rgba(255,248,241,.065)!important}
.nx20-capability-icon{background:rgba(184,119,76,.17)!important;color:#e6bf9e!important}
.nx20-capability-grid article:nth-child(2n) .nx20-capability-icon{background:rgba(239,211,187,.10)!important;color:#e1c9b4!important}
.nx20-capability-grid small{color:rgba(255,239,226,.44)!important}
.nx20-system-state>i{background:#c28a5f!important;box-shadow:0 0 0 5px rgba(194,138,95,.11)!important}
.nx20-auth-stage__signature{color:rgba(255,236,220,.30)!important}

/* Access panel */
.nx20-auth-access{
  background:
    radial-gradient(circle at 100% 0,rgba(187,126,84,.10),transparent 30%),
    radial-gradient(circle at 0 100%,rgba(222,192,164,.12),transparent 28%),
    linear-gradient(160deg,#fffaf4 0%,#f4ebdf 100%)!important;
}
.nx20-auth-access:before{background:rgba(88,57,39,.11)!important}
.nx20-access-state{border-color:rgba(93,61,43,.10)!important;background:rgba(255,252,247,.72)!important;color:#806f64!important}
.nx20-access-state i{background:#b77a51!important;box-shadow:0 0 0 4px rgba(183,122,81,.10)!important}
.nx20-auth-access__eyebrow{color:#98613f!important}
.nx20-auth-access__head h2{font-family:"Playfair Display",Georgia,serif!important;color:#33251e!important;font-weight:700!important}
.nx20-auth-access__head p{color:#827269!important}
.nx20-access-notice{border-color:#e5d7ca!important;background:#faf3eb!important;color:#67554a!important}
.nx20-access-notice.is-policy{border-color:#dfc9b6!important;background:#f6e8db!important;color:#744f38!important}
.nx20-inline-alert.is-success,.nx20-login-feedback.is-success{border-color:#dec7b4!important;background:#f7eadf!important;color:#704b34!important}
.nx20-login-feedback.is-info{border-color:#dfcbb9!important;background:#f8ede2!important;color:#765139!important}
.nx20-field label{color:#604e43!important}
.nx20-field__control{border-color:#dccdc1!important;background:rgba(255,253,249,.86)!important}
.nx20-field__control:focus-within{border-color:rgba(164,105,68,.48)!important;background:#fffdf9!important;box-shadow:0 0 0 4px rgba(164,105,68,.09),0 10px 28px rgba(77,48,31,.055)!important}
.nx20-field__icon{color:#9a897d!important}.nx20-field__control:focus-within .nx20-field__icon{color:#9e6745!important}
.nx20-password-toggle:hover,.nx20-password-toggle:focus-visible{color:#9e6745!important}
.nx20-check__box{border-color:#d8c6b8!important}.nx20-check input:checked + .nx20-check__box{background:#9e6745!important;border-color:#9e6745!important}
.nx20-security-note i{color:#9e6745!important}
.nx20-login-submit{background:linear-gradient(145deg,#3a2921,#241812)!important;box-shadow:0 16px 36px rgba(65,40,25,.18)!important}
.nx20-login-submit:hover:not(:disabled){background:linear-gradient(145deg,#4b3428,#2d1f18)!important;box-shadow:0 20px 44px rgba(65,40,25,.23)!important}
.nx20-login-submit:focus-visible{box-shadow:0 0 0 4px rgba(173,113,73,.14),0 20px 42px rgba(65,40,25,.20)!important}
.nx20-login-submit.is-success{background:linear-gradient(145deg,#a96f49,#805137)!important;box-shadow:0 18px 36px rgba(137,84,50,.22)!important}

/* Intro animation */
.nx20-intro{
  background:
    radial-gradient(circle at 50% 48%,rgba(180,116,74,.08),transparent 29%),
    radial-gradient(circle at 16% 12%,rgba(226,190,158,.06),transparent 22%),
    linear-gradient(145deg,#140d0a 0%,#241712 46%,#2e1e17 100%)!important;
}
.nx20-intro__grid{opacity:.14!important;background-image:linear-gradient(rgba(255,239,224,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,239,224,.03) 1px,transparent 1px)!important}
.nx20-intro__beam--a{background:linear-gradient(90deg,transparent,rgba(195,132,88,.42),transparent)!important}
.nx20-intro__beam--b{background:linear-gradient(90deg,transparent,rgba(235,207,182,.28),transparent)!important}
.nx20-intro__orb{background:radial-gradient(circle,rgba(177,112,69,.12),transparent 70%)!important;filter:blur(2px)}
.nx20-intro__release{border-color:rgba(242,219,198,.11)!important;background:rgba(255,247,239,.04)!important;color:rgba(255,236,219,.50)!important}
.nx20-intro__ring{border-color:rgba(244,218,195,.10)!important}
.nx20-intro__ring--outer{border-color:rgba(210,158,114,.20)!important}
.nx20-intro__ring--outer:before,.nx20-intro__ring--middle:before{background:#c3885e!important;box-shadow:0 0 0 4px rgba(195,136,94,.11),0 0 18px rgba(195,136,94,.22)!important}
.nx20-intro__ring--outer:after,.nx20-intro__ring--middle:after{background:#ead0b8!important;box-shadow:0 0 0 4px rgba(234,208,184,.08)!important}
.nx20-intro__engine-core{background:radial-gradient(circle at 30% 20%,rgba(255,247,238,.14),transparent 38%),linear-gradient(145deg,rgba(255,236,218,.10),rgba(255,255,255,.025))!important;box-shadow:0 28px 72px rgba(0,0,0,.42),inset 0 0 0 1px rgba(255,230,207,.08),0 0 52px rgba(174,108,67,.11)!important}
.nx20-intro__engine-core:before{background:linear-gradient(135deg,#fff8f0 0%,#e7c7a9 54%,#ba7c52 100%)!important;filter:drop-shadow(0 0 16px rgba(183,116,73,.24))!important}
.nx20-intro__engine-core>b{background:linear-gradient(145deg,#bd8056,#815037)!important;box-shadow:0 13px 28px rgba(111,64,37,.35),inset 0 0 0 1px rgba(255,255,255,.16)!important}
.nx20-intro__title>span{color:#d7bdab!important}
.nx20-intro__title strong{font-family:"Playfair Display",Georgia,serif!important;color:#fff8f1!important;font-weight:700!important}
.nx20-intro__title small{color:rgba(255,235,218,.45)!important}
.nx20-intro__progress{background:rgba(255,237,220,.085)!important}
.nx20-intro__progress span{background:linear-gradient(90deg,#805037 0%,#c58b61 60%,#ead2bd 100%)!important}
.nx20-intro__steps span{color:rgba(255,229,207,.30)!important}.nx20-intro__steps span.is-active{color:#f5e4d5!important}
.nx20-intro__skip{border-color:rgba(243,219,198,.11)!important;background:rgba(255,246,237,.035)!important;color:rgba(255,235,218,.50)!important}.nx20-intro__skip:hover{background:rgba(255,246,237,.08)!important;color:#fff8f1!important}

/* subtle coffee-pulse around the engine */
.nx20-intro__engine:after{content:"";position:absolute;inset:24px;border-radius:50%;border:1px solid rgba(206,147,101,.10);box-shadow:0 0 0 18px rgba(206,147,101,.025),0 0 0 42px rgba(206,147,101,.012);animation:n20CoffeePulse 2.4s ease-in-out infinite;pointer-events:none}
@keyframes n20CoffeePulse{0%,100%{transform:scale(.96);opacity:.42}50%{transform:scale(1.06);opacity:.78}}

@media(max-width:860px){
  .nx20-auth-access{background:radial-gradient(circle at 100% 0,rgba(187,126,84,.11),transparent 28%),linear-gradient(160deg,#fffaf4,#f3e8dc)!important}
  .nx20-mobile-brand .nx20-brandcopy strong{color:#33251e!important}.nx20-mobile-brand .nx20-brandcopy small{color:#8a796d!important}
}
@media(prefers-reduced-motion:reduce){.nx20-intro__engine:after{animation:none!important}}
