/* InfraOne Premium Experience Layer
   Progressive enhancement only: business UI remains usable if this stylesheet is removed. */
:root{
  --nn-bg:#070b16;--nn-glass:rgba(14,22,39,.62);--nn-glass-strong:rgba(17,27,48,.78);
  --nn-line:rgba(148,163,184,.16);--nn-cyan:#32d5ff;--nn-blue:#5b7cff;--nn-violet:#9d5cff;
  --nn-pink:#ff4fd8;--nn-green:#35e6a6;--nn-amber:#ffbd59;--nn-radius:18px;
  --nn-ease:cubic-bezier(.2,.8,.2,1);--nn-sidebar:272px;--nn-sidebar-collapsed:84px;
  --mouse-x:50%;--mouse-y:50%;
}
html{scroll-behavior:smooth;background:var(--nn-bg)}
body{font-family:'Segoe UI Variable','Segoe UI',system-ui,sans-serif;font-optical-sizing:auto;font-variation-settings:'wght' 450,'slnt' 0;background:#070b16;color:#edf6ff;cursor:default}
body.nn-effects-off .nn-fx-layer,body.nn-effects-off #nnParticles{display:none!important}
body.nn-effects-off *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.08s!important}
body.nn-cursor-on,body.nn-cursor-on a,body.nn-cursor-on button,body.nn-cursor-on .nav-item{cursor:none!important}

/* Aurora / mesh gradient */
.nn-fx-layer{position:fixed;inset:0;pointer-events:none;z-index:-2;overflow:hidden;background:
 radial-gradient(circle at 14% 18%,rgba(50,213,255,.14),transparent 34%),
 radial-gradient(circle at 82% 14%,rgba(157,92,255,.15),transparent 32%),
 radial-gradient(circle at 60% 88%,rgba(255,79,216,.11),transparent 30%),#070b16}
.nn-aurora{position:absolute;filter:blur(70px) saturate(130%);opacity:.72;mix-blend-mode:screen;will-change:transform,border-radius}
.nn-a1{width:48vw;height:48vw;left:-12vw;top:-12vw;background:linear-gradient(135deg,#19d7ff,#5b7cff);animation:nnFloatA 18s var(--nn-ease) infinite alternate,nnMorph 12s ease-in-out infinite}
.nn-a2{width:42vw;height:42vw;right:-9vw;top:8vh;background:linear-gradient(145deg,#895cff,#ff4fd8);animation:nnFloatB 22s var(--nn-ease) infinite alternate-reverse,nnMorph 15s ease-in-out -4s infinite}
.nn-a3{width:36vw;height:36vw;left:38vw;bottom:-16vw;background:linear-gradient(145deg,#00d7a8,#32d5ff);animation:nnFloatC 20s var(--nn-ease) infinite alternate,nnMorph 16s ease-in-out -7s infinite}
@keyframes nnFloatA{to{transform:translate(18vw,12vh) rotate(18deg) scale(1.12)}}
@keyframes nnFloatB{to{transform:translate(-17vw,22vh) rotate(-24deg) scale(.9)}}
@keyframes nnFloatC{to{transform:translate(7vw,-20vh) rotate(28deg) scale(1.15)}}
@keyframes nnMorph{0%,100%{border-radius:44% 56% 61% 39%/48% 39% 61% 52%}33%{border-radius:58% 42% 34% 66%/38% 58% 42% 62%}66%{border-radius:35% 65% 55% 45%/62% 35% 65% 38%}}
#nnParticles{position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.62}
body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E")}

/* Multi-layer glass */
.sidebar,.top-bar,.data-card,.stat-card,.detail-section,.modal-box,.login-box{background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025)),var(--nn-glass)!important;border:1px solid var(--nn-line)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 18px 50px rgba(0,0,0,.25),0 0 0 1px rgba(91,124,255,.025);backdrop-filter:blur(24px) saturate(145%);-webkit-backdrop-filter:blur(24px) saturate(145%)}
.sidebar{width:var(--nn-sidebar);background:linear-gradient(180deg,rgba(8,14,28,.91),rgba(11,17,31,.75))!important;transition:width .45s var(--nn-ease),transform .35s var(--nn-ease);overflow:hidden}
.main-content{margin-left:var(--nn-sidebar);transition:margin-left .45s var(--nn-ease)}
body.nn-sidebar-collapsed .sidebar{width:var(--nn-sidebar-collapsed)}
body.nn-sidebar-collapsed .main-content{margin-left:var(--nn-sidebar-collapsed)}
body.nn-sidebar-collapsed .sidebar-brand h2{font-size:0}body.nn-sidebar-collapsed .sidebar-brand h2 i{font-size:24px}
body.nn-sidebar-collapsed .sidebar-brand small,body.nn-sidebar-collapsed .nav-item{font-size:0}
body.nn-sidebar-collapsed .nav-item{justify-content:center;padding:13px 10px}body.nn-sidebar-collapsed .nav-item i{font-size:20px;margin:0}
body.nn-sidebar-collapsed .nav-badge{position:absolute;right:7px;font-size:9px;padding:1px 5px}
body.nn-sidebar-collapsed .user-info>div:not(.user-avatar),body.nn-sidebar-collapsed .sidebar-footer button{display:none}
body.nn-sidebar-collapsed .user-info{justify-content:center}.sidebar-brand{white-space:nowrap}.nav-item{position:relative;white-space:nowrap;overflow:hidden}

/* Neon glow + color bleeding */
.sidebar-brand h2,.login-box .logo h1,#pageTitle{background:linear-gradient(105deg,#eaf8ff 4%,#73e2ff 38%,#9d7dff 66%,#ff74dc 96%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent;animation:nnTextFlow 9s linear infinite;text-shadow:0 0 30px rgba(50,213,255,.16)}
@keyframes nnTextFlow{to{background-position:200% 0}}
.live-dot{box-shadow:0 0 8px var(--accent-green),0 0 22px rgba(16,185,129,.65)}
.nav-item.active{background:linear-gradient(105deg,rgba(52,140,255,.78),rgba(127,83,255,.72))!important;box-shadow:0 7px 22px rgba(74,116,255,.28),inset 0 1px 0 rgba(255,255,255,.15)!important}
.btn-primary-custom,.btn-login{background:linear-gradient(110deg,#287cff,#725bff,#aa53ff)!important;background-size:180% 100%;box-shadow:0 8px 26px rgba(75,105,255,.22)}
.btn-primary-custom:hover,.btn-login:hover{background-position:100% 0;box-shadow:0 10px 32px rgba(75,105,255,.42),0 0 24px rgba(50,213,255,.15)}

/* Premium stat cards, liquid borders, holographic shimmer */
.stats-grid{perspective:1100px}.stat-card,.data-card,.detail-section{border-radius:var(--nn-radius)!important;transform-style:preserve-3d;will-change:transform}
.stat-card{min-height:138px;isolation:isolate;overflow:hidden;background:linear-gradient(155deg,rgba(27,39,67,.72),rgba(13,20,38,.52))!important;transition:transform .22s var(--nn-ease),box-shadow .28s ease,border-color .28s ease}
.stat-card:after{content:"";position:absolute;inset:-70%;z-index:-1;background:conic-gradient(from 0deg,transparent 0 35%,rgba(50,213,255,.35) 43%,rgba(157,92,255,.38) 51%,rgba(255,79,216,.28) 58%,transparent 66%);animation:nnLiquidSpin 8s linear infinite;opacity:.38}
.stat-card:before{height:1px!important;background:linear-gradient(90deg,transparent,#6ce4ff,#a873ff,#ff73dd,transparent)!important;box-shadow:0 0 16px rgba(90,211,255,.65)}
.stat-card:hover{box-shadow:0 22px 58px rgba(0,0,0,.32),0 0 34px rgba(79,115,255,.12)!important;border-color:rgba(105,207,255,.28)!important}
.stat-card .stat-value{font-variation-settings:'wght' 790;font-size:34px;letter-spacing:-1.4px;text-shadow:0 0 24px rgba(110,185,255,.13)}
.stat-card .stat-label{letter-spacing:.03em}.stat-icon{box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 28px rgba(0,0,0,.18)}
@keyframes nnLiquidSpin{to{transform:rotate(360deg)}}
.nn-holographic:before{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(112deg,transparent 22%,rgba(255,255,255,.04) 35%,rgba(89,222,255,.13) 43%,rgba(199,118,255,.13) 52%,rgba(255,112,220,.11) 60%,transparent 74%);background-size:250% 100%;animation:nnShimmer 6s ease-in-out infinite;mix-blend-mode:screen}
@keyframes nnShimmer{0%,24%{background-position:170% 0}65%,100%{background-position:-80% 0}}

/* Typography + controls */
h1,h2,h3,h4,h5,h6,strong,.stat-value{font-variation-settings:'wght' 680;letter-spacing:-.02em}
.top-bar{min-height:68px;background:linear-gradient(90deg,rgba(9,16,31,.78),rgba(18,26,46,.63))!important}
#clock{font-variant-numeric:tabular-nums;font-variation-settings:'wght' 570;padding:7px 11px;border:1px solid rgba(148,163,184,.13);border-radius:10px;background:rgba(255,255,255,.035)}
.search-box,.form-control,select.search-box,textarea.search-box{background:rgba(7,12,24,.58)!important;border:1px solid rgba(148,163,184,.16)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.03);transition:border .2s,box-shadow .2s,transform .2s}
.search-box:focus,.form-control:focus{border-color:rgba(76,192,255,.58)!important;box-shadow:0 0 0 3px rgba(50,213,255,.09),0 0 24px rgba(50,213,255,.08)!important;transform:translateY(-1px)}
.btn-action,.btn-login,.nav-item{position:relative;overflow:hidden;transition:transform .2s var(--nn-ease),background .25s,border-color .25s,box-shadow .25s}
.btn-action:hover,.nav-item:hover{transform:translateY(-1px)}.btn-action:active,.nav-item:active{transform:scale(.97)}
.nn-ripple{position:absolute;border-radius:999px;transform:translate(-50%,-50%) scale(0);background:rgba(255,255,255,.28);pointer-events:none;animation:nnRipple .7s ease-out forwards;z-index:20}
@keyframes nnRipple{to{transform:translate(-50%,-50%) scale(6);opacity:0}}

/* scroll/stagger */
.nn-reveal{opacity:0;transform:translateY(18px) scale(.985);filter:blur(5px)}
.nn-reveal.nn-visible{opacity:1;transform:none;filter:none;transition:opacity .65s var(--nn-ease),transform .7s var(--nn-ease),filter .55s ease;transition-delay:var(--nn-delay,0ms)}

/* Sidebar collapse + topbar micro controls */
.nn-top-actions{display:flex;gap:8px;align-items:center}.nn-icon-btn{width:36px;height:36px;border:1px solid rgba(148,163,184,.15);border-radius:11px;background:rgba(255,255,255,.035);color:#cbd8ea;display:grid;place-items:center;transition:.22s var(--nn-ease)}
.nn-icon-btn:hover{color:white;border-color:rgba(50,213,255,.32);background:rgba(50,213,255,.08);box-shadow:0 0 20px rgba(50,213,255,.11);transform:translateY(-1px)}
.nn-keycap{font-size:10px;padding:2px 5px;border:1px solid rgba(148,163,184,.18);border-radius:5px;background:rgba(0,0,0,.15);margin-left:4px}

/* optional cursor */
#nnCursor,#nnCursorDot{position:fixed;pointer-events:none;z-index:10000;border-radius:50%;display:none;transform:translate(-50%,-50%)}
body.nn-cursor-on #nnCursor,body.nn-cursor-on #nnCursorDot{display:block}#nnCursor{width:30px;height:30px;border:1px solid rgba(92,220,255,.68);box-shadow:0 0 20px rgba(73,195,255,.18);transition:width .14s,height .14s,border-color .14s}#nnCursorDot{width:5px;height:5px;background:#dff9ff;box-shadow:0 0 10px #64ddff}.nn-cursor-hover #nnCursor{width:45px;height:45px;border-color:rgba(180,122,255,.8)}

/* animated SVG chart treatment */
#perfChart{background:linear-gradient(180deg,rgba(10,18,34,.72),rgba(6,11,23,.62))!important;border:1px solid rgba(148,163,184,.11);filter:drop-shadow(0 12px 30px rgba(0,0,0,.15))}
#perfChart polyline{filter:drop-shadow(0 0 5px rgba(95,180,255,.28));stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1800;animation:nnDrawChart 1.1s var(--nn-ease) both}
@keyframes nnDrawChart{from{stroke-dashoffset:1800}to{stroke-dashoffset:0}}

/* login */
.login-container{background:transparent!important}.login-box{position:relative;overflow:hidden}.login-box:before{content:"";position:absolute;inset:-2px;z-index:-1;border-radius:22px;background:conic-gradient(from var(--nn-angle,0deg),transparent 10%,#39dbff 25%,#8667ff 44%,#ff58db 61%,transparent 76%);filter:blur(8px);opacity:.34;animation:nnLiquidSpin 9s linear infinite}

/* responsive */
@media(max-width:768px){.sidebar{width:272px}.main-content,body.nn-sidebar-collapsed .main-content{margin-left:0}.top-bar{padding:12px 16px}.page-content{padding:20px 14px}.nn-desktop-only{display:none!important}.stats-grid{gap:14px}.data-card{border-radius:14px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.nn-aurora,.stat-card:after,.nn-holographic:before,#perfChart polyline,#pageTitle,.sidebar-brand h2{animation:none!important}.nn-reveal{opacity:1!important;transform:none!important;filter:none!important}.stat-card{transform:none!important}.nn-fx-layer{opacity:.4}}


/* Balanced Performance Mode: premium görünüm korunur, sürekli GPU yükü azaltılır. */
body.nn-performance-mode #nnParticles{display:none!important}
body.nn-performance-mode .nn-aurora{animation:none!important;filter:blur(46px) saturate(112%)!important;opacity:.38!important}
body.nn-performance-mode .sidebar,
body.nn-performance-mode .top-bar,
body.nn-performance-mode .data-card,
body.nn-performance-mode .stat-card,
body.nn-performance-mode .detail-section,
body.nn-performance-mode .modal-box,
body.nn-performance-mode .login-box{
  backdrop-filter:blur(10px) saturate(118%)!important;
  -webkit-backdrop-filter:blur(10px) saturate(118%)!important;
}
body.nn-performance-mode .nn-holographic:before,
body.nn-performance-mode .stat-card:after{animation:none!important;opacity:.12!important}
body.nn-performance-mode #perfChart polyline,
body.nn-performance-mode #pageTitle,
body.nn-performance-mode .sidebar-brand h2{animation:none!important}
body.nn-performance-mode .nn-reveal{filter:none!important}
body.nn-performance-mode .data-card,
body.nn-performance-mode .stat-card,
body.nn-performance-mode .detail-section{transform:none!important}

/* Sade/kategorili sidebar */
.nn-nav-group{margin:4px 0}
.nn-nav-group-title{width:100%;border:0;background:transparent;color:var(--text-secondary);display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:10px;cursor:pointer;font:inherit;font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:none}
.nn-nav-group-title>span{display:flex;align-items:center;gap:10px}
.nn-nav-group-title:hover{background:rgba(255,255,255,.045);color:var(--text-primary)}
.nn-nav-group-title>i:last-child{transition:transform .18s ease;font-size:11px}
.nn-nav-group.open .nn-nav-group-title>i:last-child{transform:rotate(180deg)}
.nn-nav-group-items{display:none;padding:1px 0 5px}
.nn-nav-group.open .nn-nav-group-items{display:block}
.nn-nav-group-items .nav-item{padding-left:16px;margin:2px 0;min-height:39px}
.nn-simple-nav{padding-top:7px!important}


/* InfraOne Light Enterprise default */
body.nn-light-theme{
 --bg-base:#f4f7fb!important;--bg-panel:rgba(255,255,255,.88)!important;--bg-elevated:#ffffff!important;
 --border:#dfe6ef!important;--text-primary:#162033!important;--text-secondary:#5f6c80!important;--text-muted:#8792a8!important;
 --accent:#2563eb!important;--accent-2:#7c3aed!important;--status-ok:#16a34a!important;--status-warn:#d97706!important;
 background:
   radial-gradient(circle at 18% 8%,rgba(37,99,235,.08),transparent 30%),
   radial-gradient(circle at 88% 6%,rgba(124,58,237,.07),transparent 26%),
   #f4f7fb!important;color:var(--text-primary)!important;
}
body.nn-light-theme:before{opacity:.025!important}
body.nn-light-theme .sidebar,
body.nn-light-theme .top-bar,
body.nn-light-theme .data-card,
body.nn-light-theme .stat-card,
body.nn-light-theme .detail-section,
body.nn-light-theme .modal-box,
body.nn-light-theme .login-box{
 background:rgba(255,255,255,.88)!important;border-color:#dfe6ef!important;
 box-shadow:0 8px 28px rgba(25,45,80,.07)!important;
 backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;
}
body.nn-light-theme .sidebar{background:#fff!important}
body.nn-light-theme .nav-item{color:#546176!important}
body.nn-light-theme .nav-item:hover{background:#f1f5fb!important;color:#1f2b3d!important}
body.nn-light-theme .nav-item.active{background:linear-gradient(135deg,#2563eb,#6d5dfc)!important;color:#fff!important;box-shadow:0 7px 18px rgba(37,99,235,.18)!important}
body.nn-light-theme input,body.nn-light-theme select,body.nn-light-theme textarea{
 background:#fff!important;color:#1f2937!important;border:1px solid #dbe3ed!important;
}
body.nn-light-theme table{color:#263449!important}
body.nn-light-theme th{background:#f7f9fc!important;color:#607087!important}
body.nn-light-theme td{border-color:#edf1f6!important}
body.nn-light-theme #remoteFrameWrap,body.nn-light-theme .terminal-output{background:#eef3f8!important}
body.nn-light-theme .nn-aurora{display:none!important}
body.nn-light-theme #nnParticles{display:none!important}
body.nn-light-theme .nn-holographic:before,body.nn-light-theme .stat-card:after{display:none!important}
body.nn-light-theme .data-card,body.nn-light-theme .stat-card,body.nn-light-theme .detail-section{transform:none!important}
body.nn-light-theme *{scroll-behavior:auto}
body.nn-light-theme .nn-reveal,body.nn-light-theme .stagger-item{animation-duration:.16s!important;transition-duration:.16s!important}
body.nn-light-theme .sidebar-brand h2,body.nn-light-theme #pageTitle{animation:none!important;text-shadow:none!important}

.inventory-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
.inventory-check-grid label{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;color:#334155}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;align-items:center}

/* Asset Identity / reporting UX */
.device-subline{font-size:11px;color:#8a96a8;margin-top:2px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.device-detail-hostname{font-size:12px;color:#8290a3;margin-top:3px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.asset-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid #dfe6ef;border-radius:999px;background:#fff;color:#4b5b70;font-size:11px;margin-left:5px}
.report-profile-bar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto auto;gap:10px;margin-bottom:16px}
.result-cell{max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}
@media(max-width:900px){.report-profile-bar{grid-template-columns:1fr}}

.device-pager{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 14px;border-top:1px solid #e8edf4;background:#fff}
.device-pager span{font-size:12px;color:#64748b;min-width:160px;text-align:center}

.report-job-status{display:grid;gap:8px}
.report-job-row{display:grid;grid-template-columns:minmax(180px,2fr) minmax(120px,1fr) minmax(130px,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border:1px solid #e8edf4;border-radius:12px;background:#fff}
.report-job-row small{display:block;color:#64748b;margin-top:2px}
.report-job-progress{height:7px;background:#eef2f7;border-radius:999px;overflow:hidden}
.report-job-progress span{display:block;height:100%;background:linear-gradient(90deg,#2563eb,#06b6d4);border-radius:999px;transition:width .2s ease}
@media(max-width:900px){.report-job-row{grid-template-columns:1fr}}
