/* NEI Academy — Dark Theme */
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:#0a0f1a;color:#e2e8f0;min-height:100vh}
a{color:#93c5fd;text-decoration:none}a:hover{color:#c9a227}

.app-container{display:flex;min-height:100vh}
.sidebar{width:240px;background:#0f1629;border-right:1px solid #1e293b;padding:20px 0;display:flex;flex-direction:column;position:fixed;height:100vh;overflow-y:auto}
.sidebar-header{padding:0 20px 20px;text-align:center;border-bottom:1px solid #1e293b;margin-bottom:12px}
.sidebar-header h1{font-size:16px;margin-top:6px}.sidebar-header .subtitle{font-size:11px;color:#64748b}
.logo-icon{font-size:28px}
.nav-links{list-style:none;flex:1;padding:0 10px}
.nav-links li a{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:6px;color:#94a3b8;font-size:13px;transition:all .15s}
.nav-links li a:hover,.nav-links li a.active{background:#1a2236;color:#e2e8f0}
.nav-links li a.active{border-left:3px solid #c9a227}
.nav-icon{font-size:16px}
.sidebar-footer{padding:12px 20px;border-top:1px solid #1e293b;font-size:12px}
.user-badge{color:#94a3b8}.logout-link{color:#64748b;margin-left:10px}

.content{margin-left:240px;flex:1;padding:24px 32px;max-width:1100px}
.page-header{display:flex;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.page-header h2{font-size:22px}
.header-actions{margin-left:auto}

.card{background:#1a2236;border:1px solid #2d3748;border-radius:10px;padding:20px;margin-bottom:16px}
.card h3{margin-bottom:12px;font-size:16px;color:#93c5fd}
.form-card{border-left:3px solid #c9a227}

.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px}
.stat-card{background:#1a2236;border:1px solid #2d3748;border-radius:8px;padding:16px;text-align:center}
.stat-value{font-size:28px;font-weight:700;color:#c9a227}.stat-label{font-size:11px;color:#94a3b8;text-transform:uppercase;margin-top:4px}

.data-table{width:100%;border-collapse:collapse}
.data-table th,.data-table td{padding:10px 14px;text-align:left;border-bottom:1px solid #2d3748;font-size:13px}
.data-table th{color:#93c5fd;font-size:11px;text-transform:uppercase}
.product-badge{display:inline-block;font-size:10px;background:#0f172a;border:1px solid #374151;padding:2px 8px;border-radius:4px;color:#93c5fd}
.status-badge{display:inline-block;font-size:10px;padding:3px 8px;border-radius:4px;font-weight:600}
.status-active{background:#065f46;color:#6ee7b7}.status-inactive{background:#374151;color:#9ca3af}

.btn{display:inline-block;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;border:none;text-decoration:none;transition:all .15s}
.btn-primary{background:#c9a227;color:#0a0f1a}.btn-primary:hover{background:#d4af37}
.btn-ghost{background:transparent;border:1px solid #374151;color:#94a3b8}.btn-ghost:hover{border-color:#c9a227;color:#c9a227}
.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover{background:#b91c1c}
.btn-sm{padding:5px 12px;font-size:12px}.btn-xs{padding:3px 8px;font-size:11px}

.form-input,.form-select,.form-textarea{background:#0f172a;border:1px solid #374151;color:#e2e8f0;padding:8px 12px;border-radius:6px;font-size:13px;width:100%}
.form-textarea{font-family:monospace;resize:vertical}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#c9a227;outline:none}
.form-group{margin-bottom:12px}.form-group label{display:block;font-size:11px;color:#94a3b8;margin-bottom:4px;text-transform:uppercase}
.form-row{display:flex;gap:12px;margin-bottom:12px;flex-wrap:wrap}.form-row .form-group{flex:1;min-width:150px}
.form-actions{display:flex;gap:10px;margin-top:16px;align-items:center}
.inline-form{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}
.checkbox-label{display:flex;align-items:center;gap:8px;font-size:13px;color:#e2e8f0;cursor:pointer}
.filter-bar{display:flex;gap:6px;flex-wrap:wrap}

.flash-messages{margin-bottom:16px}.flash{padding:10px 14px;border-radius:6px;font-size:13px;margin-bottom:6px}
.flash-success{background:#065f46;color:#6ee7b7;border:1px solid #047857}
.flash-error{background:#7f1d1d;color:#fca5a5;border:1px solid #991b1b}

.quick-links{display:flex;flex-wrap:wrap;gap:8px}
.qlink{display:inline-block;padding:8px 14px;background:#0f172a;border:1px solid #2d3748;border-radius:6px;font-size:12px;color:#93c5fd}
.qlink:hover{border-color:#c9a227;color:#c9a227}

.code-block{background:#0f172a;padding:14px;border-radius:6px;font-size:12px;color:#a5f3fc;overflow-x:auto;border:1px solid #374151}
.text-muted{color:#64748b}.empty-state{text-align:center;padding:40px;color:#64748b}.empty-icon{font-size:40px;display:block;margin-bottom:12px}
.back-link{display:inline-block;margin-bottom:12px;color:#93c5fd;font-size:13px}

/* Login */
.login-body{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#0a0f1a}
.login-container{width:100%;max-width:380px;padding:20px}
.login-card{background:#1a2236;border:1px solid #2d3748;border-radius:12px;padding:32px}
.login-header{text-align:center;margin-bottom:20px}.login-header h1{font-size:20px;margin-top:8px}.login-header p{color:#64748b;font-size:13px}
.login-icon{font-size:40px}
.login-form .form-section{margin-bottom:16px}.login-form label{display:block;font-size:12px;color:#94a3b8;margin-bottom:6px}
.login-form input{width:100%;padding:10px 14px;background:#0f172a;border:1px solid #374151;border-radius:6px;color:#e2e8f0;font-size:14px}
.btn-login{width:100%;padding:12px;background:#c9a227;color:#0a0f1a;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer}
.btn-login:hover{background:#d4af37}

/* Viewer */
.viewer-body{background:#0a0f1a;padding:20px}
.viewer-container{max-width:800px;margin:0 auto}
.viewer-header{text-align:center;margin-bottom:30px;padding:20px}
.viewer-header h1{font-size:24px;margin-top:8px}.viewer-header p{color:#64748b}
.viewer-product-section{margin-bottom:30px}
.viewer-product-section h2{font-size:18px;margin-bottom:8px;color:#c9a227}
.product-desc{font-size:13px;color:#94a3b8;margin-bottom:12px}
.module-list{display:flex;flex-direction:column;gap:8px}
.module-card{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#1a2236;border:1px solid #2d3748;border-radius:8px;transition:all .15s;text-decoration:none;color:#e2e8f0}
.module-card:hover{border-color:#c9a227;background:#1e293b}
.mc-info strong{display:block;font-size:14px}.mc-summary{font-size:12px;color:#94a3b8}
.mc-meta{text-align:right;flex-shrink:0}.mc-duration{display:block;font-size:11px;color:#c9a227}.mc-category{font-size:10px;color:#64748b;text-transform:uppercase}

/* Module view */
.module-view{padding-top:20px}
.module-nav-top{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.module-article{background:#1a2236;border:1px solid #2d3748;border-radius:12px;padding:30px}
.module-article h1{font-size:22px;margin-bottom:12px}
.module-meta{display:flex;gap:12px;margin-bottom:12px;font-size:11px}
.module-summary{font-size:15px;color:#94a3b8;margin-bottom:16px;line-height:1.5}
.module-body{font-size:14px;line-height:1.8;color:#cbd5e1}
.module-body h2,.module-body h3,.module-body h4{color:#93c5fd;margin:20px 0 8px}
.module-body ul,.module-body ol{padding-left:20px;margin:10px 0}
.module-body li{margin-bottom:6px}
.module-body p{margin-bottom:12px}
.module-body strong{color:#e2e8f0}
.module-body code{background:#0f172a;padding:2px 6px;border-radius:3px;font-size:12px}
.module-audio,.module-video{margin-bottom:16px}
.module-nav-bottom{display:flex;justify-content:space-between;margin-top:20px;padding-top:16px;border-top:1px solid #2d3748}
.nav-prev,.nav-next{font-size:13px;color:#93c5fd}.nav-next{margin-left:auto}
