/* ETEA ND3 · Premium experience polish
   One visual system applied to the approved ND2 composition.
   Presentation only: no election, API, identity or nomination logic changed. */
:root {
  --nd3-mint:#68ffca;
  --nd3-mint-dark:#12dba4;
  --nd3-cyan:#66dfff;
  --nd3-ink:#031728;
  --nd3-glass:rgba(7,45,66,.94);
  --nd3-border:rgba(105,234,235,.43);
  --nd3-soft:rgba(184,237,245,.76);
}
/* The stage remains hero-first, but feels like a finished product shell. */
body.neon-dashboard .etea-experience {
  background:
    radial-gradient(ellipse 54% 34% at 49% 41%,rgba(12,147,175,.22),transparent 83%),
    radial-gradient(ellipse 35% 24% at 15% 86%,rgba(12,200,154,.07),transparent 90%),
    linear-gradient(180deg,#041726 0%,#042135 49%,#031724 100%)!important;
}
body.neon-dashboard .hero>.nav {
  border-bottom-color:rgba(103,236,227,.32)!important;
  box-shadow:0 13px 36px rgba(0,5,19,.28),inset 0 -1px 0 rgba(123,255,219,.1)!important;
}
body.neon-dashboard .nav .logo {
  position:relative;
  box-shadow:inset 0 2px 6px rgba(255,255,255,.36),0 0 25px rgba(0,245,186,.24),0 8px 23px rgba(0,12,26,.32)!important;
}
body.neon-dashboard .nav .brand:focus-visible,
body.neon-dashboard .nav button:focus-visible,
body.neon-dashboard .nd2-bottom-item:focus-visible,
body.neon-dashboard .nd2-directory-person:focus-visible {
  outline:2px solid var(--nd3-mint)!important;outline-offset:3px!important;
}
body.neon-dashboard .neon-nav-links { border-color:rgba(91,217,231,.38)!important; }
body.neon-dashboard .neon-nav-links button.nd2-nav-button {
  transition:background-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease;
}
body.neon-dashboard .neon-nav-links button.nd2-nav-button:hover { transform:translateY(-1px); }
body.neon-dashboard .nav button.ghost {
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
body.neon-dashboard .nav button.ghost:hover {
  border-color:rgba(120,255,221,.9)!important;
  box-shadow:0 0 25px rgba(5,202,174,.16),inset 0 0 20px rgba(78,197,245,.1)!important;
}
/* Cinematic image stays authentic. Only framing, reflective edge and depth are refined. */
body.neon-dashboard[data-etea-screen='welcome'] .hero>.hero-story {
  border-color:rgba(98,245,231,.67)!important;
  box-shadow:inset 0 0 0 1px rgba(216,255,251,.09),0 26px 76px rgba(0,5,18,.64),0 0 57px rgba(7,225,190,.13)!important;
}
body.neon-dashboard[data-etea-screen='welcome'] .hero-story::after {
  height:2px!important;left:7%!important;right:7%!important;
  background:linear-gradient(90deg,transparent 0%,rgba(111,255,204,.85) 29%,#66dfff 55%,transparent 100%)!important;
  box-shadow:0 0 19px rgba(41,255,209,.47)!important;
}
body.neon-dashboard[data-etea-screen='welcome'] .hero-copy h1 { text-shadow:0 4px 25px rgba(0,0,0,.57),0 0 44px rgba(34,158,192,.13)!important; }
body.neon-dashboard[data-etea-screen='welcome'] .hero-copy h1 em { filter:drop-shadow(0 0 22px rgba(37,255,187,.19)); }
body.neon-dashboard[data-etea-screen='welcome'] .hero-copy #heroStatus {
  border-color:rgba(86,241,182,.54)!important;
  box-shadow:0 0 21px rgba(30,229,168,.1),inset 0 1px 0 rgba(181,255,232,.08)!important;
}
/* Welcome console: one coherent glass panel, not loose fields. */
body.neon-dashboard[data-etea-screen='welcome'] #memberCard {
  position:relative!important;isolation:isolate;
  background:linear-gradient(139deg,rgba(7,63,81,.97),rgba(2,29,48,.98))!important;
  border:1px solid rgba(91,235,216,.63)!important;
  box-shadow:inset 0 1px 0 rgba(203,255,247,.16),0 28px 72px rgba(0,8,23,.51),0 0 42px rgba(0,208,180,.07)!important;
}
body.neon-dashboard[data-etea-screen='welcome'] #memberCard::after {
  content:'';position:absolute;pointer-events:none;inset:0;
  background:linear-gradient(130deg,rgba(161,255,236,.045),transparent 30%,transparent 73%,rgba(36,165,242,.035));
  border-radius:inherit;z-index:-1;
}
body.neon-dashboard[data-etea-screen='welcome'] .neon-panel-kicker { color:#8affdf!important; }
body.neon-dashboard[data-etea-screen='welcome'] #memberCard h2 { text-shadow:0 7px 27px rgba(0,11,19,.29)!important; }
body.neon-dashboard #memberCard .field,
body.neon-dashboard #ballotCard .field,
body.neon-dashboard #adminCard .field {
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease!important;
}
body.neon-dashboard #memberCard .field:hover,
body.neon-dashboard #ballotCard .field:hover {
  border-color:rgba(119,243,247,.86)!important;
}
body.neon-dashboard #memberCard .field:focus-visible,
body.neon-dashboard #ballotCard .field:focus-visible,
body.neon-dashboard #adminCard .field:focus-visible,
body.neon-dashboard #nd2DirectoryQuery:focus-visible {
  outline:none!important;border-color:#76ffda!important;
  box-shadow:0 0 0 3px rgba(64,251,197,.13),0 0 30px rgba(13,221,183,.14),inset 0 1px 7px rgba(0,0,0,.26)!important;
}
body.neon-dashboard .neon-rule { transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease; }
body.neon-dashboard .neon-rule:hover {
  border-color:rgba(83,233,213,.65)!important;
  box-shadow:inset 0 1px 0 rgba(166,255,229,.12),0 5px 25px rgba(9,186,164,.1)!important;
}
body.neon-dashboard .neon-rule .symbol { color:#7cffdb!important; }
/* Nomination / review / completion pages share the same premium material treatment. */
body.neon-dashboard[data-etea-screen]:not([data-etea-screen='welcome']) #ballotCard,
body.neon-dashboard[data-etea-screen]:not([data-etea-screen='welcome']) #reviewCard,
body.neon-dashboard[data-etea-screen]:not([data-etea-screen='welcome']) #doneCard,
body.neon-dashboard[data-etea-screen]:not([data-etea-screen='welcome']) #waitingCard,
body.neon-dashboard[data-etea-screen]:not([data-etea-screen='welcome']) #loadingCard {
  position:relative!important;overflow:hidden!important;
  border:1px solid rgba(103,230,235,.61)!important;
  background:
    radial-gradient(ellipse 85% 50% at 50% 0%,rgba(18,145,177,.16),transparent 80%),
    linear-gradient(150deg,rgba(9,62,82,.98),rgba(3,30,49,.98))!important;
  box-shadow:0 27px 82px rgba(0,8,24,.53),inset 0 1px 0 rgba(226,255,251,.12),0 0 44px rgba(14,181,173,.06)!important;
}
body.neon-dashboard[data-etea-screen]:not([data-etea-screen='welcome']) #ballotCard::before,
body.neon-dashboard[data-etea-screen]:not([data-etea-screen='welcome']) #reviewCard::before,
body.neon-dashboard[data-etea-screen]:not([data-etea-screen='welcome']) #doneCard::before {
  content:'';position:absolute;top:0;left:16%;right:16%;height:2px;pointer-events:none;
  background:linear-gradient(90deg,transparent,#75ffdc,#58d8ff,transparent);
  box-shadow:0 0 17px rgba(42,249,196,.53);
}
body.neon-dashboard[data-etea-screen='vote'] #ballotCard,
body.neon-dashboard[data-etea-screen='review'] #reviewCard {
  border-radius:26px!important;
}
body.neon-dashboard #ballotCard .step,
body.neon-dashboard #reviewCard .step,
body.neon-dashboard #doneCard .step {
  color:#8dffdb!important;font-weight:850!important;letter-spacing:.18em!important;text-transform:uppercase;
}
body.neon-dashboard #ballotCard h2,
body.neon-dashboard #reviewCard h2,
body.neon-dashboard #doneCard h2 { color:#f6ffff!important;letter-spacing:-.045em!important;text-shadow:0 3px 23px rgba(0,7,22,.34)!important; }
body.neon-dashboard #ballotCard p.muted,
body.neon-dashboard #reviewCard p.muted,
body.neon-dashboard #doneCard p.muted { color:#bfdde6!important;line-height:1.65!important; }
body.neon-dashboard #ballotCard #selectedCount {
  border:1px solid rgba(68,255,191,.76)!important;
  background:rgba(5,104,94,.7)!important;color:#9effdf!important;
  box-shadow:0 0 22px rgba(28,231,171,.16),inset 0 1px 0 rgba(153,255,216,.15)!important;
}
body.neon-dashboard #ballotCard .field {
  min-height:58px!important;border:1px solid rgba(103,209,239,.69)!important;
  background:linear-gradient(150deg,rgba(4,34,55,.98),rgba(5,25,44,.97))!important;
  color:#f1ffff!important;border-radius:15px!important;
  box-shadow:inset 0 3px 11px rgba(0,7,23,.28)!important;
}
body.neon-dashboard #ballotCard .field::placeholder { color:#aacbd9!important;opacity:1; }
body.neon-dashboard #ballotCard .list,
body.neon-dashboard #memberCard .list {
  border-color:rgba(101,218,239,.44)!important;background:#031e33!important;border-radius:15px!important;
  box-shadow:0 8px 23px rgba(0,9,26,.14)!important;
}
body.neon-dashboard #ballotCard .list .person,
body.neon-dashboard #memberCard .list .person {
  background:transparent!important;color:#f1ffff!important;border-color:rgba(87,208,225,.18)!important;
  min-height:48px!important;
}
body.neon-dashboard #ballotCard .list .person:hover,
body.neon-dashboard #memberCard .list .person:hover { background:rgba(14,94,111,.59)!important; }
body.neon-dashboard #ballotCard .chips { justify-content:center!important;gap:9px!important; }
body.neon-dashboard #ballotCard .chip {
  background:linear-gradient(140deg,rgba(9,117,96,.92),rgba(4,72,76,.96))!important;
  color:#defff1!important;border:1px solid rgba(95,255,205,.78)!important;
  border-radius:999px!important;box-shadow:0 6px 19px rgba(0,8,23,.22),inset 0 1px 0 rgba(191,255,234,.12)!important;
}
body.neon-dashboard #ballotCard .btnrow,
body.neon-dashboard #reviewCard .btnrow {justify-content:center!important;gap:12px!important;}
body.neon-dashboard .btn:not(.warn) {
  border-radius:14px!important;min-height:50px;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease!important;
}
body.neon-dashboard .btn:not(.secondary):not(.warn) {
  background:linear-gradient(118deg,#53f9bc,#09be9e 66%,#0b91a9)!important;
  color:#03293a!important;border:1px solid rgba(150,255,212,.84)!important;
  box-shadow:0 10px 27px rgba(4,173,144,.23),inset 0 1px 0 rgba(240,255,254,.45)!important;
}
body.neon-dashboard .btn.secondary {
  background:linear-gradient(140deg,#184e68,#0c344e)!important;
  border:1px solid rgba(117,203,227,.66)!important;color:#f4fbff!important;
  box-shadow:inset 0 1px 0 rgba(229,255,255,.1)!important;
}
body.neon-dashboard .btn:not(:disabled):hover {filter:brightness(1.09);transform:translateY(-2px);}
body.neon-dashboard .btn:not(:disabled):active {transform:translateY(0)}
body.neon-dashboard .btn:disabled {opacity:.48!important;filter:saturate(.65)!important;box-shadow:none!important;cursor:not-allowed!important;}
body.neon-dashboard .btn:focus-visible {outline:2px solid #a0ffe5!important;outline-offset:3px!important;}
body.neon-dashboard #reviewNames {display:grid;gap:10px;}
body.neon-dashboard #reviewNames .notice,
body.neon-dashboard #reviewNames>.chip {
  background:linear-gradient(140deg,rgba(8,69,87,.96),rgba(5,35,57,.97))!important;
  border:1px solid rgba(99,216,224,.53)!important;
  color:#f4fbff!important;padding:14px 18px!important;border-radius:15px!important;
  box-shadow:inset 0 1px 0 rgba(203,255,251,.07)!important;
}
body.neon-dashboard .ballot-lock-ack {
  display:flex!important;align-items:center!important;gap:12px!important;padding:16px!important;
  border:1px solid rgba(105,217,220,.41)!important;border-radius:15px!important;
  background:rgba(4,42,63,.65)!important;text-align:left!important;
  color:#ddf7fd!important;
}
body.neon-dashboard .ballot-lock-ack input {width:20px;height:20px;accent-color:#3be7aa;flex:none;}
body.neon-dashboard #doneCard .success .check {
  width:84px;height:84px;display:grid;place-items:center;margin:4px auto 22px;border-radius:25px;
  border:1px solid rgba(125,255,207,.78);background:rgba(15,116,98,.3);
  color:#83ffd6!important;font-size:52px!important;
  box-shadow:0 0 32px rgba(32,214,159,.15),inset 0 1px 0 rgba(208,255,229,.19);
}
/* Administrator command center: rich but restrained, no changes to controls. */
body.neon-dashboard #adminCard { border-radius:26px!important; }
body.neon-dashboard #adminCard .adminpanel {
  background:linear-gradient(147deg,#0a4157,#04263f 68%,#032236)!important;
  border-radius:22px!important;border:1px solid rgba(109,229,228,.38)!important;
  box-shadow:inset 0 1px 0 rgba(195,255,250,.09)!important;
}
body.neon-dashboard #adminCard .adminpanel h2 { letter-spacing:-.04em!important; }
body.neon-dashboard #adminCard .metrics {gap:12px!important;}
body.neon-dashboard #adminCard .metric {
  background:linear-gradient(145deg,rgba(17,81,104,.78),rgba(4,42,67,.95))!important;
  border:1px solid rgba(97,213,228,.41)!important;
  border-radius:15px!important;
  box-shadow:inset 0 1px 0 rgba(230,255,255,.11)!important;
}
body.neon-dashboard #adminCard .metric b {color:#e7fff7!important;}
body.neon-dashboard #adminCard .adminpanel .field {border-radius:12px!important;}
body.neon-dashboard #adminCard .adminpanel .scroll {scrollbar-color:#317b88 #0b2b3e;}
/* A beautiful useful full-name browser, not a bare scrolling menu. */
body.neon-dashboard .nd2-directory-sheet {
  border:1px solid rgba(111,240,229,.76)!important;border-radius:25px!important;
  background:radial-gradient(ellipse 85% 35% at 45% 0%,rgba(19,121,145,.16),transparent),linear-gradient(147deg,#0a344c,#032037 79%)!important;
  box-shadow:0 28px 95px rgba(0,6,20,.8),inset 0 1px 0 rgba(228,255,251,.14),0 0 55px rgba(0,219,191,.1)!important;
}
body.neon-dashboard .nd2-directory-person { transition:background-color .14s ease; }
body.neon-dashboard .nd2-directory-person .nd2-person-avatar {border:1px solid rgba(92,237,205,.28);}
body.neon-dashboard .nd2-directory-caption {letter-spacing:.1em;}
/* Mobile/tab dock: native-feeling translucent surface with safe-area support. */
@media(max-width:1023px){
 body.neon-dashboard .nd2-bottom-nav {
  background:linear-gradient(140deg,rgba(5,43,62,.95),rgba(4,26,44,.97))!important;
  border:1px solid rgba(98,237,225,.71)!important;
  box-shadow:0 16px 45px rgba(0,6,19,.65),inset 0 1px 0 rgba(204,255,250,.12),0 0 25px rgba(2,223,180,.09)!important;
 }
 body.neon-dashboard .nd2-bottom-item {transition:background-color .18s ease,color .18s ease,box-shadow .18s ease!important;}
 body.neon-dashboard .nd2-bottom-item.is-active {
  color:#8cffda!important;box-shadow:inset 0 -2px 0 #4effcb,0 0 18px rgba(13,217,160,.17)!important;
 }
 body.neon-dashboard .nd2-directory-sheet {max-height:min(88svh,790px)!important;}
 body.neon-dashboard[data-etea-screen]:not([data-etea-screen='welcome']) #ballotCard,
 body.neon-dashboard[data-etea-screen]:not([data-etea-screen='welcome']) #reviewCard,
 body.neon-dashboard[data-etea-screen]:not([data-etea-screen='welcome']) #doneCard {
  margin-bottom:10px!important;
 }
}
@media(max-width:620px){
 body.neon-dashboard[data-etea-screen='welcome'] #memberCard {box-shadow:inset 0 1px 0 rgba(195,255,244,.18),0 18px 45px rgba(0,8,22,.45)!important;}
 body.neon-dashboard .nd2-bottom-item {min-height:58px!important;}
 body.neon-dashboard #ballotCard .grid {gap:12px!important;}
 body.neon-dashboard #ballotCard .field {min-height:55px!important;font-size:15px!important;}
 body.neon-dashboard #ballotCard .btnrow {gap:10px!important;}
 body.neon-dashboard .ballot-lock-ack {padding:14px!important;font-size:13px!important;}
 body.neon-dashboard #adminCard .adminpanel {padding:14px!important;}
 body.neon-dashboard #adminCard .metrics {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(prefers-reduced-motion:reduce){
 body.neon-dashboard .btn,body.neon-dashboard .field,body.neon-dashboard .neon-rule,
 body.neon-dashboard .nd2-bottom-item,body.neon-dashboard .nd2-nav-button,
 body.neon-dashboard .nd2-directory-person{transition:none!important;transform:none!important;}
}
/* Fix inherited entrance animation replacing the desktop vertical-centring transform.
   The text must stay within the hero, above the layered access console. */
@media(min-width:1024px){
 body.neon-dashboard[data-etea-screen='welcome'] .hero-story>.hero-copy{
   animation:none!important;transform:translateY(-48%)!important;
 }
}
/* On desktop, the focused voting/review card is vertically balanced within the
   application window instead of floating at the top of a large empty canvas. */
@media(min-width:1024px){
 body.neon-dashboard[data-etea-screen='vote'] main#mainContent,
 body.neon-dashboard[data-etea-screen='review'] main#mainContent,
 body.neon-dashboard[data-etea-screen='complete'] main#mainContent,
 body.neon-dashboard[data-etea-screen='unavailable'] main#mainContent {
   display:flex!important;flex-direction:column!important;justify-content:center!important;
   min-height:calc(100svh - 102px)!important;
   margin:0 auto!important;padding:30px 0!important;
 }
 body.neon-dashboard[data-etea-screen='vote'] main#mainContent>.card,
 body.neon-dashboard[data-etea-screen='review'] main#mainContent>.card,
 body.neon-dashboard[data-etea-screen='complete'] main#mainContent>.card,
 body.neon-dashboard[data-etea-screen='unavailable'] main#mainContent>.card {width:100%!important;flex:none!important;}
}
