/* Nexora ERP · Midnight Intelligence portal theme */
:root{
  --nexora-bg:#f3f6fb;--nexora-sidebar:#ffffff;--nexora-card:#ffffff;--nexora-elevated:#eef2f8;
  --nexora-primary:#6366f1;--nexora-cyan:#0891b2;--nexora-text:#111827;--nexora-muted:#64748b;
  --nexora-border:#d8e0ec;--nexora-success:#16a34a;--nexora-warning:#d97706;--nexora-danger:#e11d48;
  --primary:var(--nexora-primary);--primary-hover:#5254db;--accent:var(--nexora-cyan);--success:var(--nexora-success);
  --warning:var(--nexora-warning);--danger:var(--nexora-danger);--bg:var(--nexora-bg);--surface:var(--nexora-card);
  --surface-2:var(--nexora-elevated);--text:var(--nexora-text);--muted:var(--nexora-muted);--border:var(--nexora-border);
  --radius:12px;--shadow:0 18px 60px rgba(15,23,42,.08);--sidebar:264px;--header:72px;
  color-scheme:light;font-family:Inter,"Segoe UI Variable","Segoe UI",system-ui,-apple-system,sans-serif;
  font-feature-settings:"cv01","ss03","tnum" 1;
}
html[data-theme=dark]{
  --nexora-bg:#080b12;--nexora-sidebar:#0d111c;--nexora-card:#131925;--nexora-elevated:#1a2232;
  --nexora-primary:#6366f1;--nexora-cyan:#22d3ee;--nexora-text:#f4f7fb;--nexora-muted:#94a3b8;
  --nexora-border:#263244;--nexora-success:#22c55e;--nexora-warning:#f59e0b;--nexora-danger:#f43f5e;
  --bg:var(--nexora-bg);--surface:var(--nexora-card);--surface-2:var(--nexora-elevated);--text:var(--nexora-text);
  --muted:var(--nexora-muted);--border:var(--nexora-border);--shadow:0 22px 70px rgba(0,0,0,.3);color-scheme:dark;
}
body{background:var(--bg);background-image:radial-gradient(circle at 82% -20%,color-mix(in srgb,var(--nexora-primary) 10%,transparent),transparent 36%),radial-gradient(circle at -10% 110%,color-mix(in srgb,var(--nexora-cyan) 5%,transparent),transparent 32%);color:var(--text);letter-spacing:-.006em}
.topbar{height:var(--header);padding:0 24px;background:color-mix(in srgb,var(--surface) 92%,transparent);border-color:var(--border);backdrop-filter:blur(18px) saturate(130%);box-shadow:0 1px 0 color-mix(in srgb,var(--border) 70%,transparent)}
.nx-topbar-brand{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:58px;height:54px;transform:translate(-50%,-50%);border-radius:12px;text-decoration:none;transition:filter .18s ease,transform .18s ease}.nx-topbar-brand:hover{filter:brightness(1.08);transform:translate(-50%,-50%) scale(1.04)}.nx-topbar-brand img{display:block;width:52px;height:auto;object-fit:contain}.top-actions{gap:14px}.top-actions span{color:var(--muted);font-size:.875rem}.top-actions a{color:var(--text);font-size:.875rem}.top-actions a:hover{color:var(--primary)}
#nav-toggle,#theme-toggle{width:38px;height:38px;display:grid;place-items:center;padding:0;border-radius:9px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 72%,transparent);color:var(--text);transition:.18s ease}
#nav-toggle:hover,#theme-toggle:hover{border-color:color-mix(in srgb,var(--primary) 55%,var(--border));transform:translateY(-1px)}
.sidebar{top:var(--header);height:calc(100vh - var(--header));padding:18px 14px 28px;background:var(--nexora-sidebar);color:var(--text);border-right:1px solid var(--border)}
.sidebar h2{margin:20px 12px 7px;color:var(--muted);font-size:.66rem;font-weight:590;letter-spacing:.14em}.sidebar a{position:relative;min-height:42px;padding:10px 12px;border:1px solid transparent;border-radius:9px;color:var(--muted);font-size:.875rem;font-weight:510;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}
.sidebar a>span{width:20px;text-align:center;color:color-mix(in srgb,var(--muted) 80%,transparent)}.sidebar a:hover{background:color-mix(in srgb,var(--surface-2) 72%,transparent);border-color:var(--border);color:var(--text);transform:translateX(2px)}
.sidebar a.aktiv{background:linear-gradient(100deg,color-mix(in srgb,var(--primary) 20%,var(--surface)),color-mix(in srgb,var(--nexora-cyan) 7%,var(--surface)));border-color:color-mix(in srgb,var(--primary) 42%,var(--border));color:var(--text);box-shadow:inset 3px 0 0 var(--primary)}
.nx-nav-disclosure{margin-top:14px}.nx-nav-disclosure summary{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;margin:0 5px;padding:10px 9px;border:1px solid transparent;border-radius:9px;color:var(--muted);font-size:.66rem;font-weight:650;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;list-style:none;transition:.16s ease}.nx-nav-disclosure summary::-webkit-details-marker{display:none}.nx-nav-disclosure summary:hover{background:color-mix(in srgb,var(--surface-2) 72%,transparent);border-color:var(--border);color:var(--text)}.nx-nav-disclosure summary i{display:grid;place-items:center;width:20px;height:20px;font-size:.9rem;font-style:normal;transition:transform .18s ease}.nx-nav-disclosure[open] summary i{transform:rotate(180deg)}.nx-nav-items{display:grid;gap:2px;margin-top:3px}.nx-erp-tree{position:relative}.nx-erp-modules{position:relative;display:grid;gap:2px;margin:-1px 0 9px 23px;padding:3px 0 3px 13px;border-left:1px solid color-mix(in srgb,var(--primary) 42%,var(--border))}.sidebar .nx-erp-modules a{min-height:36px;padding:7px 10px;font-size:.8rem}.sidebar .nx-erp-modules a>span{width:17px;font-size:.78rem}.nx-erp-tree.hat-aktives-modul>.nx-nav-parent{color:var(--text);background:color-mix(in srgb,var(--primary) 7%,transparent)}
.content{padding:clamp(18px,2.4vw,34px)}.panel,.card{background:color-mix(in srgb,var(--surface) 96%,transparent);border-color:var(--border);border-radius:12px;box-shadow:none;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.panel:hover,.card:hover{border-color:color-mix(in srgb,var(--primary) 28%,var(--border))}
button,.button,input[type=submit]{border-radius:8px;background:var(--primary);border:1px solid color-mix(in srgb,var(--primary) 75%,#fff);color:#fff;font-weight:590;box-shadow:0 8px 26px color-mix(in srgb,var(--primary) 22%,transparent);transition:.16s ease}button:hover,.button:hover,input[type=submit]:hover{transform:translateY(-1px);filter:brightness(1.07)}
input,select,textarea{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text);transition:.16s ease}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}
th{background:var(--surface-2);color:var(--muted);font-size:.7rem;font-weight:590;letter-spacing:.08em}th,td{border-color:var(--border)}tbody tr{transition:background .14s ease}tbody tr:hover{background:color-mix(in srgb,var(--primary) 5%,var(--surface))}
.badge{background:var(--surface-2);border-color:var(--border);font-weight:510}.alert{border-radius:10px}.page-head h1{font-weight:510;letter-spacing:-.035em}
.login-wrap{min-height:100vh;background:var(--bg);background-image:radial-gradient(circle at 50% 18%,color-mix(in srgb,var(--primary) 18%,transparent),transparent 34%),radial-gradient(circle at 72% 74%,color-mix(in srgb,var(--nexora-cyan) 8%,transparent),transparent 28%)}.login-card{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:16px;color:var(--text);box-shadow:0 30px 100px color-mix(in srgb,#000 28%,transparent)}.login-card:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,#6366f1,#22d3ee)}.login-card .muted{color:var(--muted)}
.nexora-portal{display:grid;grid-template-rows:auto minmax(600px,1fr);gap:16px;min-height:calc(100vh - var(--header) - 68px)}
.nexora-commandbar{position:relative;overflow:hidden;display:flex;align-items:center;gap:24px;min-height:98px;padding:18px 22px;background:linear-gradient(115deg,color-mix(in srgb,var(--surface) 98%,transparent),color-mix(in srgb,var(--primary) 8%,var(--surface)));border:1px solid var(--border);border-radius:14px}.nexora-commandbar:after{content:"";position:absolute;right:-80px;top:-120px;width:310px;height:310px;border:1px solid color-mix(in srgb,var(--nexora-cyan) 16%,transparent);border-radius:50%;pointer-events:none}
.nexora-brand{width:min(310px,32vw);height:auto;object-fit:contain}.nexora-commandcopy{min-width:0}.nexora-commandcopy h1{margin:0;font-size:clamp(1.4rem,2.1vw,2.15rem);font-weight:510;letter-spacing:-.045em}.nexora-commandcopy p{margin:5px 0 0;color:var(--muted);font-size:.88rem}.nexora-command-actions{z-index:1;margin-left:auto;display:flex;align-items:center;gap:10px}.nexora-status{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--success) 35%,var(--border));border-radius:999px;color:var(--success);font-size:.75rem;font-weight:590}.nexora-status:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 12px var(--success)}.nexora-open{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:8px;background:var(--primary);color:#fff!important;text-decoration:none;font-size:.8rem;font-weight:590}
.nexora-frame-panel{position:relative;overflow:hidden;min-height:680px;background:#080b12;border:1px solid var(--border);border-radius:14px;box-shadow:0 28px 80px rgba(0,0,0,.24)}.nexora-frame-panel iframe{display:block;width:100%;height:calc(100vh - var(--header) - 210px);min-height:680px;border:0;background:#080b12}
@media(max-width:820px){.nexora-commandbar{align-items:flex-start;flex-wrap:wrap}.nexora-brand{width:min(260px,72vw)}.nexora-command-actions{width:100%;margin-left:0}.nexora-frame-panel,.nexora-frame-panel iframe{min-height:720px}.nexora-frame-panel iframe{height:75vh}}
.nx-theme-logo{display:block;height:auto;object-fit:contain;content:url("/img/nexora/nexora-logo-light.png")}
html[data-theme=dark] .nx-theme-logo{content:url("/img/nexora/nexora-logo-dark.png")}
@media(prefers-color-scheme:dark){html[data-theme=system] .nx-theme-logo{content:url("/img/nexora/nexora-logo-dark.png")}}
.nx-sidebar-logo-link{display:block!important;min-height:0!important;margin:0 7px 13px;padding:9px 8px 14px!important;border:0!important;border-bottom:1px solid var(--border)!important;border-radius:0!important;background:none!important;box-shadow:none!important;transform:none!important}.nx-sidebar-logo{width:100%;max-width:194px;margin:auto}.nx-login-logo{width:min(320px,82vw);margin:0 auto 26px}.login-card h1{margin-top:0}
@media(max-width:800px){.shell{display:block}.sidebar{position:fixed!important;z-index:30;top:var(--header)!important;left:0;width:min(84vw,var(--sidebar));height:calc(100vh - var(--header));box-shadow:var(--shadow)}.sidebar.closed{display:none}.content{width:100%;min-width:0}.nx-sidebar-logo{max-width:184px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.login-card input,.login-card select,.login-card textarea{background:var(--surface-2)!important;color:var(--text)!important;border-color:var(--border)!important;box-shadow:none!important}.login-card input::placeholder{color:var(--muted)!important}.login-card input:focus{border-color:var(--primary)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent),0 0 22px color-mix(in srgb,var(--nexora-cyan) 6%,transparent)!important}
