:root{--bg:#fff;--surface:#f0f2f5;--surface-secondary:#f9f9f9;--text:#0f172a;--text-secondary:#555;--muted:#6b7280;--accent:#0ea5a4;--primary:#0c2448;--on-primary:#fff;--border:#e5e5e5;--border-light:#eee;--danger:#dc2626;--radius:8px;--spacing:1rem;--header-bg:#fff;--sidebar-bg:#fff;--sidebar-hover:#f3f4f6;--input-bg:#fff;--input-border:#ddd;--overlay:#0006;--shadow:#0000001a;--warning:#f59e0b;--warning-text:#92400e;--warning-surface:#fffbeb;--warning-border:#fde68a;--success:#10b981;--success-text:#065f46;--success-surface:#ecfdf5;--success-border:#a7f3d0;--info:#3b82f6;--info-text:#1e40af;--info-surface:#dbeafe;--info-border:#93c5fd;--danger-text:#991b1b;--danger-surface:#fef2f2;--danger-border:#fecaca;--font-primary:"Montserrat", "Roboto", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Arial;--font-secondary:"Raleway", "Montserrat", ui-sans-serif, system-ui, sans-serif;--font-accent:"Playfair Display", Georgia, serif}.dark{--bg:#0f172a;--surface:#1e293b;--surface-secondary:#334155;--text:#e2e8f0;--text-secondary:#94a3b8;--muted:#64748b;--accent:#14b8a6;--primary:#1cbbc1;--on-primary:#0f172a;--border:#334155;--border-light:#334155;--danger:#ef4444;--header-bg:#1e293b;--sidebar-bg:#1e293b;--sidebar-hover:#334155;--input-bg:#334155;--input-border:#475569;--overlay:#0009;--shadow:#0000004d;--warning:#fbbf24;--warning-text:#fef3c7;--warning-surface:#451a03;--warning-border:#78350f;--success:#34d399;--success-text:#a7f3d0;--success-surface:#064e3b;--success-border:#065f46;--info:#60a5fa;--info-text:#bfdbfe;--info-surface:#1e3a5f;--info-border:#1e40af;--danger-text:#fca5a5;--danger-surface:#450a0a;--danger-border:#7f1d1d}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-primary);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.45}.font-display{font-family:var(--font-accent)}img,svg,video{max-width:100%;height:auto;display:block}a{color:var(--accent);cursor:pointer;text-decoration:none}button{font:inherit;cursor:pointer;border:none;border-radius:9999px;padding:.5rem 1rem}.container{max-width:1100px;margin:0 auto;padding:1rem}.card{background:var(--surface);border-radius:var(--radius);padding:1rem;box-shadow:0 1px 3px #1018280a,0 1px 2px #1018280f}.btn{cursor:pointer;color:var(--on-primary);background:var(--accent);border:none;border-radius:9999px;padding:10px 14px;display:inline-block}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-secondary{background:var(--accent);color:var(--on-primary)}.btn-danger{background:var(--danger);color:var(--on-primary)}.btn-block{width:100%;display:block}.auth-page{background:var(--bg);justify-content:center;align-items:center;min-height:80vh;padding:2rem;display:flex}.auth-card{border-radius:var(--radius);background:var(--surface);width:100%;max-width:420px;padding:2rem;box-shadow:0 6px 20px #02061714}.auth-card h1{margin-top:0}.form-input{border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text);border-radius:6px;margin:10px 0;padding:10px 12px}.form-actions{margin-top:12px}.error{color:var(--danger);margin-top:10px}.auth-link-row{margin-top:12px}.auth-link{color:var(--accent);font-weight:600;text-decoration:none}.auth-link:hover,.auth-link:focus-visible{color:var(--accent);text-decoration:underline}.feedback{border-radius:6px;margin-top:12px;padding:10px 12px;font-size:.95rem}.feedback-success{color:var(--success-text);background:var(--success-surface);border:1px solid var(--success-border)}.feedback-error{color:var(--danger-text);background:var(--danger-surface);border:1px solid var(--danger-border)}.protected-route-loader{min-height:100vh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.protected-route-loader__spinner{border:4px solid #0ea5a42e;border-top-color:var(--accent);border-radius:50%;width:44px;height:44px;animation:.9s linear infinite protected-route-spin}.protected-route-loader__text{font-size:14px;font-weight:600}@keyframes protected-route-spin{to{transform:rotate(360deg)}}.btn-row{align-items:center;gap:8px;display:flex}.btn-row .btn{flex:1}.btn-row .btn--inline{flex:initial}.sidebar{border-right:1px solid var(--border-light);background:var(--sidebar-bg);width:260px;height:100vh;padding:16px;position:sticky;top:0;overflow-y:auto}.nav-item{text-align:left;width:100%;font-family:inherit;font-size:inherit;cursor:pointer;border:1px solid var(--border);color:var(--text);background:0 0;border-radius:8px;margin-bottom:6px;padding:10px;display:block}.nav-item.active{background:var(--sidebar-hover);border-left:3px solid var(--primary);font-weight:700}.mobile-menu-button{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:6px 8px;font-size:14px;line-height:1;display:inline-flex}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}.landing-nav{z-index:1000;background:#0c2448;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 12px #00000026}.landing-nav-inner{justify-content:space-between;align-items:center;max-width:1100px;height:64px;margin:0 auto;padding:0 12px;display:flex}.landing-nav-desktop{align-items:center;gap:32px;display:flex}.landing-nav-mobile-trigger{color:#fff;cursor:pointer;background:0 0;border:none;margin:0;padding:4px;display:none}@media (width<=768px){.landing-nav-desktop{display:none}.landing-nav-mobile-trigger{display:block}.neuris-hero-grid{text-align:center;grid-template-columns:1fr!important}.neuris-hero-grid>div:last-child{order:-1}.neuris-hero-grid img{max-height:40vh!important}}@keyframes slideDownExit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}@keyframes slideDownEnter{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}html,body,#root{max-width:100%;overflow-x:hidden}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skeleton{background:var(--surface-secondary);position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffff59,#0000);animation:1.4s infinite skeleton-shimmer;position:absolute;inset:0;transform:translateZ(0)}@keyframes skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.skeleton:after{animation:none}}
