/* ===== RESEARCH MODULE ===== */
.research-module { max-width: 1200px; margin: 0 auto; }

.research-module-nav {
    display: flex; flex-wrap: wrap; gap: 0.5rem;
    padding: 0.75rem 1rem; margin-bottom: 1rem;
    background: var(--fthl-primary-deep); border-radius: var(--fthl-radius);
}
.research-module-nav a {
    color: rgba(255,255,255,0.8); text-decoration: none;
    padding: 0.35rem 0.7rem; border-radius: 6px; font-size: 0.8rem; font-weight: 500;
}
.research-module-nav a.active, .research-module-nav a:hover { background: rgba(255,255,255,0.15); color: #fff; }
.research-nav-logout { margin-left: auto; background: rgba(179,53,42,0.3) !important; }

.research-dashboard-header { margin-bottom: 1.5rem; }
.research-dashboard-header h2 { font-family: var(--fthl-font-serif); color: var(--fthl-primary-deep); }

.research-stats-grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 1rem; margin-bottom: 1.5rem;
}
.research-stat-card {
    background: #fff; border: 1px solid var(--fthl-border); border-radius: var(--fthl-radius);
    padding: 1.25rem 1rem; text-align: center; box-shadow: var(--fthl-shadow);
}
.research-stat-icon { font-size: 1.5rem; margin-bottom: 0.5rem; }
.research-stat-value { font-size: 1.8rem; font-weight: 800; color: var(--fthl-primary); }
.research-stat-label { font-size: 0.75rem; color: var(--fthl-text-muted); margin-top: 0.25rem; }

.research-section {
    background: #fff; border: 1px solid var(--fthl-border); border-radius: var(--fthl-radius);
    padding: 1.5rem; margin-bottom: 1rem; box-shadow: var(--fthl-shadow);
}
.research-section h2, .research-section h3 { color: var(--fthl-primary-deep); margin-bottom: 0.75rem; }

.research-table-wrap { overflow-x: auto; }
.research-table { width: 100%; border-collapse: collapse; font-size: 0.85rem; }
.research-table th { background: var(--fthl-primary-tint); padding: 0.5rem 0.6rem; text-align: left; font-weight: 700; color: var(--fthl-primary-dark); border-bottom: 2px solid var(--fthl-border); }
.research-table td { padding: 0.45rem 0.6rem; border-bottom: 1px solid var(--fthl-border-soft); }
.research-table tbody tr:nth-child(even) { background: #fbfcfd; }

.research-badge { padding: 0.15rem 0.5rem; border-radius: 999px; font-size: 0.7rem; font-weight: 600; }
.research-badge-draft { background: var(--fthl-amber-bg); color: var(--fthl-amber); }
.research-badge-submitted { background: #e3f2fd; color: #1565c0; }
.research-badge-approved { background: var(--fthl-green-bg); color: var(--fthl-green); }
.research-badge-returned, .research-badge-rejected { background: var(--fthl-red-bg); color: var(--fthl-red); }
.research-badge-pending, .research-badge-registered { background: #f5f5f5; color: #757575; }
.research-badge-completed { background: var(--fthl-green-bg); color: var(--fthl-green); }
.research-badge-ongoing { background: var(--fthl-amber-bg); color: var(--fthl-amber); }

.research-code { background: var(--fthl-primary-tint); padding: 0.15rem 0.4rem; border-radius: 4px; font-weight: 700; color: var(--fthl-primary); }

.btn-research-primary {
    background: var(--fthl-primary); color: #fff; border: none;
    padding: 0.5rem 1.25rem; border-radius: 8px; font-weight: 600; cursor: pointer; font-size: 0.85rem;
}
.btn-research-primary:hover { background: var(--fthl-primary-dark); }
.btn-research-secondary {
    background: #fff; color: var(--fthl-primary); border: 1px solid var(--fthl-border);
    padding: 0.5rem 1.25rem; border-radius: 8px; font-weight: 600; cursor: pointer; font-size: 0.85rem;
}
.btn-research-secondary:hover { background: var(--fthl-primary-tint); }
.btn-research-danger {
    background: var(--fthl-red); color: #fff; border: none;
    padding: 0.5rem 1.25rem; border-radius: 8px; font-weight: 600; cursor: pointer; font-size: 0.85rem;
}
.btn-research-sm { padding: 0.2rem 0.5rem; font-size: 0.75rem; border-radius: 6px; border: 1px solid var(--fthl-border); background: #fff; cursor: pointer; }
.btn-research-sm.btn-add { color: var(--fthl-green); border-color: var(--fthl-green); }
.btn-research-sm.btn-remove { color: var(--fthl-red); border-color: var(--fthl-red); }

.research-form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.research-form .form-group { margin-bottom: 0.75rem; }
.research-form .form-group label { display: block; font-weight: 600; font-size: 0.8rem; margin-bottom: 0.25rem; color: var(--fthl-primary-dark); }
.research-form .form-control { width: 100%; padding: 0.45rem 0.6rem; border: 1px solid var(--fthl-border); border-radius: 6px; font-size: 0.85rem; }

.research-checkbox-group { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; }
.research-checkbox { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.85rem; cursor: pointer; }

.research-survey-wrap { max-width: 900px; margin: 0 auto; }
.research-survey-header { text-align: center; margin-bottom: 1.5rem; }
.research-survey-header h2 { font-family: var(--fthl-font-serif); color: var(--fthl-primary-deep); }

.research-progress-bar { margin-bottom: 1.5rem; }
.research-progress-track { height: 6px; background: var(--fthl-border); border-radius: 999px; overflow: hidden; margin-bottom: 0.5rem; }
.research-progress-fill { height: 100%; background: var(--fthl-primary); border-radius: 999px; transition: width 0.3s; }
.research-progress-steps { display: flex; justify-content: space-between; }
.research-step { font-size: 0.75rem; color: var(--fthl-text-muted); cursor: pointer; }
.research-step.active { color: var(--fthl-primary); font-weight: 700; }

.research-survey-step { background: #fff; border: 1px solid var(--fthl-border); border-radius: var(--fthl-radius); padding: 1.5rem; }
.research-survey-step h3 { margin-bottom: 1rem; }
.research-survey-nav { display: flex; gap: 0.5rem; justify-content: flex-end; margin-top: 1.5rem; }

.research-certify { margin: 1.5rem 0; padding: 1rem; background: var(--fthl-primary-tint); border-radius: 8px; border: 1px solid var(--fthl-border); }

.research-login-wrap { max-width: 450px; margin: 3rem auto; }
.research-login-card { background: #fff; border: 1px solid var(--fthl-border); border-radius: var(--fthl-radius); padding: 2rem; box-shadow: var(--fthl-shadow-lg); }
.research-login-header { text-align: center; margin-bottom: 1.5rem; }
.research-login-header h2 { font-family: var(--fthl-font-serif); color: var(--fthl-primary-deep); }
.research-login-tabs { display: flex; gap: 0.5rem; margin-bottom: 1.5rem; }
.research-tab-btn { flex: 1; padding: 0.5rem; border: 1px solid var(--fthl-border); background: #fff; border-radius: 8px; cursor: pointer; font-size: 0.8rem; font-weight: 600; }
.research-tab-btn.active { background: var(--fthl-primary); color: #fff; border-color: var(--fthl-primary); }
.research-login-form .form-group { margin-bottom: 1rem; }
.research-login-form .form-group label { display: block; font-weight: 600; font-size: 0.8rem; margin-bottom: 0.25rem; }
.research-login-form .form-control { width: 100%; padding: 0.5rem 0.7rem; border: 1px solid var(--fthl-border); border-radius: 6px; }
.research-login-hint { text-align: center; margin-top: 1rem; color: var(--fthl-text-muted); }
.research-login-form .btn-research-primary { width: 100%; }

.research-action-buttons { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }

.research-settings-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.research-settings-item { background: var(--fthl-primary-tint); border: 1px solid var(--fthl-border); border-radius: 8px; padding: 1rem; }
.research-settings-item h4 { color: var(--fthl-primary-dark); margin-bottom: 0.5rem; }

@media (max-width: 767px) {
    .research-form-grid, .research-settings-list { grid-template-columns: 1fr; }
    .research-stats-grid { grid-template-columns: repeat(2, 1fr); }
    .research-module-nav { flex-direction: column; }
    .research-nav-logout { margin-left: 0; }
}
