/* One visual language across existing components. No changes to their event handlers or layout contracts. */
@property --scene-edge-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes scene-edge-orbit{to{--scene-edge-angle:360deg}}
.scene-fx{--fx-gold:#e7bb77;--fx-line:#e7bb7745;--fx-surface:var(--card-bg,var(--card,#171c29));--fx-deep:var(--bg-2,var(--bg2,#0e1421));--fx-text:var(--text,#f1eee9);--fx-halo:rgba(226,177,100,.15)}
.scene-fx.scene-site{--fx-surface:#171c29;--fx-deep:#101521;--fx-text:#f5f1e9}
html.theme-tech .scene-fx{--fx-gold:#80e9dd;--fx-line:#80e9dd45;--fx-halo:#80e9dd15}
html.portal-light .scene-fx{--fx-gold:#977035;--fx-line:#a7814b66;--fx-halo:#9d734e15}
.scene-fx .scene-surface{
  border:1px solid transparent!important;
  background:radial-gradient(ellipse at 0 0,var(--fx-halo),transparent 55%) padding-box,linear-gradient(145deg,var(--fx-surface),var(--fx-deep)) padding-box,linear-gradient(120deg,var(--fx-gold),#b79a7130 25%,#ffffff12 55%,#bca9ea35 85%,#dec39a65) border-box!important;
  box-shadow:inset 0 1px 0 #ffffff06,0 12px 36px #02050c36!important;
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  transition:box-shadow .24s ease,border-color .24s ease;
}
.scene-fx .scene-surface:hover{box-shadow:inset 0 1px 0 #ffffff09,0 14px 40px #02050c40,0 0 22px #d7b37909!important}
.scene-fx :is(.card-header,.modal-header,.modal-hd,.modal-head,.bp-admin-modal-hd){background:linear-gradient(100deg,#d2a9670e,transparent 55%)!important;border-bottom-color:var(--fx-line)!important;letter-spacing:.15px}
.scene-fx :is(.modal-footer,.modal-ft,.bp-admin-modal-ft){background:linear-gradient(100deg,#d2a96708,transparent)!important;border-top-color:var(--fx-line)!important}
.scene-fx .scene-dialog,.scene-fx .scene-modal-surface{--fx-surface:var(--modal-bg,#1c2332);--fx-deep:var(--modal-input,#101725);border-radius:20px!important;box-shadow:0 32px 110px #0009,0 0 60px #c7a16510!important}
.scene-fx :is(.modal-overlay,.modal-bg,.bp-admin-modal){backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.scene-fx .scene-dialog::backdrop{background:#03050dc7;backdrop-filter:blur(12px)}
.scene-fx .scene-dialog-inner{padding:38px 32px 30px;background:radial-gradient(ellipse at 90% 0,#baa0e712,transparent 40%)}
.scene-fx .scene-dialog h2{font-size:26px;font-weight:600;line-height:1.45;margin:15px 0 8px;letter-spacing:-.8px}
.scene-fx .dialog-eyebrow{display:inline-flex;align-items:center;gap:9px}
.scene-fx .dialog-eyebrow:before{content:'';height:5px;width:5px;border-radius:50%;background:#c5a0fa;box-shadow:0 0 14px 3px #af78fa50}
.scene-fx .scene-dialog input[type=text],.scene-fx .scene-dialog input[type=password]{background:linear-gradient(110deg,#222a3a99,#141b2ae8);border-color:#57607566;border-radius:11px;height:50px}
.scene-fx .scene-button{
  border:1px solid var(--fx-line)!important;
  background:linear-gradient(125deg,#ffffff07,transparent 70%),var(--fx-deep)!important;
  box-shadow:inset 0 1px 0 #ffffff07;
  transition:background .2s,border-color .2s,box-shadow .2s,filter .2s;
}
.scene-fx .scene-button:hover:not(:disabled){border-color:var(--fx-gold)!important;box-shadow:inset 0 1px 0 #ffffff15,0 0 20px var(--fx-halo);filter:brightness(1.08)}
.scene-fx .scene-button:active:not(:disabled){filter:brightness(.92)}
.scene-fx .scene-button:focus-visible{outline:2px solid var(--fx-gold);outline-offset:3px}
.scene-fx .scene-primary{
  --scene-edge-angle:0deg;
  border:1px solid transparent!important;
  border-radius:999px!important;
  color:var(--fx-text)!important;
  background:linear-gradient(110deg,var(--fx-surface),var(--fx-deep)) padding-box,conic-gradient(from var(--scene-edge-angle),#be864d33 0deg,#a3794550 70deg,#ffd394 120deg,#b28d5555 160deg,#ffffff15 210deg,#c7955870 270deg,#ffe2b2 315deg,#be864d33 360deg) border-box!important;
  box-shadow:inset 0 0 18px #d8b78006,0 4px 18px #d4a25410;
}
.scene-fx .scene-primary:hover:not(:disabled),.scene-fx .scene-primary:focus-visible{animation:scene-edge-orbit 4s linear infinite;box-shadow:0 0 28px #dcac6540,inset 0 0 16px #e4b47308}
.scene-fx .scene-primary:disabled{opacity:.5;animation:none;cursor:not-allowed}
.scene-fx .submit-login.scene-primary{position:relative;height:54px;text-align:left;padding:0 23px;animation:scene-edge-orbit 8s linear infinite;font-size:14px}
.scene-fx .submit-login.scene-primary:after{content:'↗';position:absolute;right:10px;top:9px;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;border:1px solid #d3aa685c;color:var(--fx-gold);font-size:20px;line-height:1;transition:transform .2s}
.scene-fx .submit-login.scene-primary:hover:after{transform:rotate(-35deg)}
.scene-fx .scene-danger{color:#f5a8a8!important;border-color:#b96b6b66!important;background:linear-gradient(110deg,#542b2c55,#211c29)!important}
.scene-fx .scene-success{color:#a3e8cf!important;border-color:#63a68c66!important;background:linear-gradient(110deg,#25524444,#16272a)!important}
.scene-fx .scene-warning{color:#edc184!important;border-color:#b5945266!important;background:linear-gradient(110deg,#60492344,#27232a)!important}
.scene-fx :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]),select,textarea):focus{border-color:var(--fx-gold)!important;outline:none;box-shadow:0 0 0 3px #d9b77d14,0 0 18px #d4ae6e0d}
.scene-fx :is(.nav-item.active,.sidebar-item.active,.sidebar-subitem.active,.tab-btn.active){background:linear-gradient(110deg,var(--fx-halo),transparent)!important;color:var(--fx-gold)!important;box-shadow:inset 0 -1px 0 var(--fx-line)}
.scene-fx :is(.navbar,.sidebar){backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.scene-fx .navbar{box-shadow:0 8px 26px #02050c22;border-bottom-color:var(--fx-line)}
.scene-fx .navbar-brand{font-weight:500;letter-spacing:-.4px}.scene-fx #navBrandName{white-space:nowrap;font-size:13px}
.scene-fx :is(th,thead){background-color:var(--fx-deep)}
.scene-fx tbody tr:hover{background:var(--fx-halo)}
.scene-fx .item-card-img{background:radial-gradient(ellipse at 50% 65%,#d0ac6b0f,transparent 70%),var(--fx-deep)}
.scene-fx .item-card.selected{box-shadow:0 0 0 1px var(--fx-gold),0 0 20px var(--fx-halo)!important}
.scene-fx :is(.page-title,.modal-title,.modal-header h3){letter-spacing:.2px;text-shadow:0 0 22px #d6b48215}
.scene-fx .scene-primary i{color:var(--fx-gold)}
html.portal-light .scene-fx .scene-modal-surface{--fx-surface:var(--card);--fx-deep:var(--bg);--fx-text:var(--text)}
.scene-console-atmosphere{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 80% 10%,#7d629034,transparent 47%),radial-gradient(ellipse at 10% 80%,#b68d4424,transparent 48%),linear-gradient(140deg,#0d111b,#111823 55%,#12121d)}
.scene-fx:not(.scene-site){isolation:isolate}.scene-fx.animated-bg,.scene-fx .animated-bg{animation:none}
html.portal-light .scene-console-atmosphere{background:radial-gradient(ellipse at 85% 8%,#a68ac535,transparent 48%),radial-gradient(ellipse at 10% 70%,#c29c5730,transparent 50%),var(--bg)}
.scene-fx .item-card{backdrop-filter:none;-webkit-backdrop-filter:none}
.remote-file-row{display:flex;align-items:center;gap:12px;padding:9px 8px;border-bottom:1px solid var(--border);border-radius:8px;transition:background .2s}.remote-file-row:hover{background:var(--fx-halo,#d0aa6610)}.remote-file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.remote-file-name .fa-folder{color:var(--primary)}.remote-file-size{font-size:11px;color:var(--text-muted);min-width:70px;text-align:right}.remote-file-actions{display:flex;gap:6px}.remote-file-actions button:last-child{color:var(--danger)}
@media(max-width:760px){.scene-fx .scene-dialog-inner{padding:32px 24px 25px}.scene-fx .scene-dialog h2{font-size:23px}.scene-fx .scene-surface{backdrop-filter:none}.scene-fx .navbar-brand{max-width:180px}.remote-file-row{gap:6px;padding:8px 2px}.remote-file-actions{gap:2px}.remote-file-actions button{padding:5px 7px}.remote-file-size{min-width:48px}}
@media(prefers-reduced-motion:reduce){.scene-fx .scene-button,.scene-fx .scene-primary,.scene-fx .scene-surface,.scene-fx .scene-primary:after{animation:none!important;transition:none!important}}

/* Warm daylight and flat portal navigation. */
html.theme-light .scene-fx{--fx-gold:#9f702c;--fx-line:#ac813e55;--fx-halo:#e8c78b29;--fx-text:var(--text)}
html.theme-light .scene-console-atmosphere{background:radial-gradient(ellipse at 90% 5%,#e2ba7320,transparent 50%),var(--bg)}
html.theme-light .scene-fx .scene-surface{box-shadow:0 8px 26px #8f6c2110!important}
html.theme-light .scene-fx .scene-danger{color:#a6323c!important;background:#f4ded8!important}
html.theme-light .scene-fx .scene-success{color:#27694d!important;background:#e2eadb!important}
html.theme-light .scene-fx .scene-warning{color:#89581c!important;background:#f2e3c4!important}
.theme-option{width:100%;text-align:left;font:inherit;border:0;background:transparent;color:var(--text);cursor:pointer}
html.portal-light{--primary:#a46e29;--primary-dark:#7f511e;--bg:#f6f0e4;--bg2:#efe6d5;--bg3:#e9ddc6;--card:#faf4e8;--card2:#f0e5d0;--border:#daccb1;--border2:#bb965c66;--text:#352e23;--text2:#70614a;--text3:#8a785d;color-scheme:light}
html.portal-light .scene-fx .scene-surface{background:radial-gradient(ellipse at 0 0,#e8c78b29,transparent 55%),linear-gradient(145deg,var(--card),var(--bg2))!important;border-color:var(--border)!important;box-shadow:0 8px 26px #8f6c2110!important}
html.portal-light .scene-fx .scene-console-atmosphere{background:var(--bg)}
html .scene-fx .home-navbar{background:var(--card);border-bottom:1px solid var(--border);gap:6px;padding:5px 20px;box-shadow:none}
html .scene-fx .nav-item-p,html .scene-fx .sub-tab-btn{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--text2)!important;text-shadow:none!important;padding:14px 13px;transition:color .2s}
html .scene-fx .nav-item-p:hover,html .scene-fx .sub-tab-btn:hover{color:var(--primary)!important;background:transparent!important}
html .scene-fx .nav-item-p.active,html .scene-fx .sub-tab-btn.active{color:var(--primary)!important;background:transparent!important;box-shadow:inset 0 -2px 0 var(--primary)!important}
html .scene-fx .nav-item-p:before{display:none}
html .scene-fx .nav-item-p:focus-visible,html .scene-fx .sub-tab-btn:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}


html.portal-light .scene-fx .home-topbar,html.portal-light .scene-fx .home-navbar,html.portal-light .scene-fx .home-subnav{background:var(--card)!important;border-color:var(--border)!important}
