/* BOSTOP neumorphism (v3): soft raised / pressed-in surfaces on one base colour. Styling only; no markup or script is touched.
   To undo everywhere: remove the <link> to neumorph-v3.css from the pages. */
body{--n-bg:#e4e8f1;--n-hi:#ffffff;--n-lo:#bcc3d6;--n-acc:#6d5ce8;--n-acc2:#3b82f6;--n-btn:linear-gradient(135deg,#8b5cf6,#3b82f6);
 --n-raise:8px 8px 18px var(--n-lo),-8px -8px 18px var(--n-hi);--n-raise-sm:5px 5px 11px var(--n-lo),-5px -5px 11px var(--n-hi);
 --n-press:inset 5px 5px 10px var(--n-lo),inset -5px -5px 10px var(--n-hi)}
body.dark-mode,html.dark-preload body{--n-bg:#22252e;--n-hi:#2d313c;--n-lo:#15171c;--n-acc:#a78bfa;--page-bg:var(--n-bg);--surface:var(--n-bg);--surface-2:var(--n-bg);--line:rgba(255,255,255,.06)}
body,body.dark-mode,html.dark-preload body{background:var(--n-bg)!important}
body:before,body:after,body.dark-mode:before,body.dark-mode:after{opacity:0!important}
.layout,.main,html.dark-preload .layout,body.dark-mode .layout,body.dark-mode .main{background:transparent!important}

/* raised surfaces */
body .sidebar,body.dark-mode .sidebar{background:var(--n-bg)!important;border:0!important;backdrop-filter:none;box-shadow:10px 0 24px -12px var(--n-lo)}
body .topbar,body.dark-mode .topbar{background:var(--n-bg)!important;border:0!important;backdrop-filter:none;box-shadow:0 8px 18px -12px var(--n-lo)}
body .card,body .h3-stat,body .h3-tile,body .action-tile,body .product-card,body .txn,body .helpbox,body .promo-banner,body .metric,body .workspace,
body.dark-mode .card,body.dark-mode .h3-stat,body.dark-mode .h3-tile,body.dark-mode .action-tile,body.dark-mode .product-card,body.dark-mode .txn,body.dark-mode .helpbox,body.dark-mode .promo-banner,body.dark-mode .metric,body.dark-mode .workspace{
 background:var(--n-bg)!important;background-image:none!important;border:0!important;border-radius:20px;backdrop-filter:none;box-shadow:var(--n-raise)!important}
body .workspace,body.dark-mode .workspace{border-radius:16px;box-shadow:var(--n-press)!important}
body .card:hover,body .h3-tile:hover,body .action-tile:hover,body .product-card:hover,body.dark-mode .card:hover,body.dark-mode .h3-tile:hover,body.dark-mode .action-tile:hover,body.dark-mode .product-card:hover{border:0!important;box-shadow:var(--n-raise-sm)!important;transform:none}
body .h3-tile:active,body .action-tile:active,body .h3-stat:active,body.dark-mode .h3-tile:active,body.dark-mode .action-tile:active,body.dark-mode .h3-stat:active{box-shadow:var(--n-press)!important}

/* navigation */
body .nav,body.dark-mode .nav{background:transparent;color:inherit;border-radius:14px}
body .nav:hover,body.dark-mode .nav:hover{background:var(--n-bg);box-shadow:var(--n-raise-sm);transform:none;color:inherit}
body .nav.active,body.dark-mode .nav.active{background:var(--n-bg);box-shadow:var(--n-press);color:var(--n-acc);font-weight:700}
body .nav.active .ico,body.dark-mode .nav.active .ico{color:var(--n-acc)}
body .nav.active em,body.dark-mode .nav.active em{background:var(--n-acc);color:#fff}
body.dark-mode .navlabel{color:#8a90a2}

/* buttons, inputs, pills */
body .button,body.dark-mode .button{background:var(--n-bg);border:0;border-radius:14px;box-shadow:var(--n-raise-sm);color:inherit}
body .button:hover{transform:none;filter:none;box-shadow:4px 4px 9px var(--n-lo),-4px -4px 9px var(--n-hi)}
body .button:active{box-shadow:var(--n-press)}
body .button.primary,body .button.green,body .button.dark,body.dark-mode .button.primary,body.dark-mode .button.green,body.dark-mode .button.dark,body .h3-banner-btn,body.dark-mode .h3-banner-btn{background:var(--n-btn);color:#fff;border:0;box-shadow:5px 5px 12px var(--n-lo),-4px -4px 10px var(--n-hi)}
body input,body select,body textarea,body.dark-mode input,body.dark-mode select,body.dark-mode textarea{background:var(--n-bg);border:0;border-radius:14px;box-shadow:var(--n-press)}
body input:focus,body select:focus,body textarea:focus,body.dark-mode input:focus,body.dark-mode select:focus,body.dark-mode textarea:focus{outline:none;box-shadow:var(--n-press),0 0 0 2px rgba(109,92,232,.45)}
body .pill,body.dark-mode .pill{background:var(--n-bg);border:0;box-shadow:inset 2px 2px 5px var(--n-lo),inset -2px -2px 5px var(--n-hi)}
body .h3-ico{box-shadow:var(--n-raise-sm)}
body .theme-toggle,body.dark-mode .theme-toggle{background:var(--n-bg);border:0;box-shadow:var(--n-raise-sm)}

/* tables */
body table,body.dark-mode table{background:transparent}
body th,body.dark-mode th{background:transparent;border-bottom:1px solid rgba(128,136,160,.25)}
body td,body.dark-mode td{border-bottom:1px solid rgba(128,136,160,.16)}
body tbody tr:hover td,body.dark-mode tbody tr:hover td{background:rgba(128,136,160,.08)}

/* banner + mobile bar */
body .h3-banner,body.dark-mode .h3-banner{background:var(--n-btn)!important;border:0!important;border-radius:20px;box-shadow:var(--n-raise)!important;color:#fff}
body .mobile-bottom,body.dark-mode .mobile-bottom{background:var(--n-bg)!important;border:0!important;box-shadow:0 -8px 18px -10px var(--n-lo)}
body.dark-mode ::-webkit-scrollbar-thumb{background:var(--n-hi)}

/* ---------- faint colourful light that travels around cards ---------- */
@property --bn-a{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes bnSpin{to{--bn-a:360deg}}
body .card,body .h3-stat,body .h3-tile,body .action-tile,body .metric,body.dark-mode .card,body.dark-mode .h3-stat,body.dark-mode .h3-tile,body.dark-mode .action-tile,body.dark-mode .metric{
 border:1.5px solid transparent!important;
 background:linear-gradient(var(--n-bg),var(--n-bg)) padding-box,conic-gradient(from var(--bn-a),rgba(139,92,246,0) 0deg,rgba(139,92,246,.55) 50deg,rgba(59,130,246,.5) 110deg,rgba(34,211,238,.4) 160deg,rgba(236,72,153,.45) 230deg,rgba(139,92,246,0) 300deg,rgba(139,92,246,0) 360deg) border-box!important;
 animation:bnSpin 9s linear infinite}
body .h3-stat:nth-child(2n),body .h3-tile:nth-child(2n){animation-duration:11s}
@media (prefers-reduced-motion:reduce){body .card,body .h3-stat,body .h3-tile,body .action-tile,body .metric{animation:none!important}}
