@charset "ISO-8859-1";

/* =========================================================
   GLOBAL THEME
========================================================= */

:root{
  --primary:#263264;
  --primary-light:#4458a8;
  --bg:#f8faff;
  --text:#1f2937;
  --muted:#6b7280;
  --border:#dbe3f0;
}

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:'Inter',sans-serif;
}

body{
	padding:35px 0;
	margin:0;
  min-height:100vh;
  overflow-x:hidden;
  position:relative;

  background:
    linear-gradient(
      135deg,
      #1f2952 0%,
      #263264 45%,
      #4458a8 100%
    );
}

/* =========================================================
   BACKGROUND SHAPES
========================================================= */

body::before{

  content:'';

  position:fixed;

  width:450px;
  height:450px;

  top:-150px;
  left:-120px;

  transform:rotate(45deg);

  border-radius:40px;

  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,0.08),
      rgba(255,255,255,0.02)
    );

  pointer-events:none;
}

body::after{

  content:'';

  position:fixed;

  width:320px;
  height:320px;

  bottom:-100px;
  right:-80px;

  transform:rotate(45deg);

  border-radius:35px;

  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,0.06),
      rgba(255,255,255,0.01)
    );

  pointer-events:none;
}

/* =========================================================
   MAIN WRAPPER
========================================================= */

.main-wrapper {
	position: relative;
	z-index: 10;
	max-width: 1200px;
	margin: auto;
	padding: 15px;
}

.homemain-wrapper{

  position:relative;

  z-index:10;

}

/* =========================================================
   NAVBAR
========================================================= */
.navbar-custom{
  padding:22px 0;
}

.brand-section{
  display:flex;
  align-items:center;
  gap:14px;
}

.brand-logo{

  width:58px;
  height:58px;

  border-radius:18px;

  background:
    linear-gradient(
      135deg,
      #ffffff,
      #dbe5ff
    );

  display:flex;
  align-items:center;
  justify-content:center;

  color:var(--primary);

  font-size:24px;
  font-weight:800;
}

.brand-title{
  color:#fff;
  font-size:24px;
  font-weight:800;
}

.brand-subtitle{
  color:rgba(255,255,255,0.7);
  font-size:13px;
}

.nav-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

/* =========================================================
   BUTTONS
========================================================= */

.btn-custom{
  height:54px;
  border-radius:16px;
  padding:0 24px;
  font-size:14px;
  font-weight:700;
}

.btn-login{

  border:1px solid rgba(255,255,255,0.2);

  background:rgba(255,255,255,0.08);

  color:#fff;

  backdrop-filter:blur(10px);
}

.btn-login:hover{
  background:rgba(255,255,255,0.14);
  color:#fff;
}

.btn-outline-custom{
  border:1px solid #dbe3f0;
  background:#fff;
  color:#374151;
}

.btn-primary-custom {
	border: none;
	background:linear-gradient(135deg,var(--primary),var(--primary-light));
	color:#fff;
}

/* =========================================================
   HERO SECTION
========================================================= */
.hero-section{
  padding:80px 0 70px;
}

.hero-title{
  font-size:64px;
  font-weight:800;
  line-height:1.15;
  color:#fff;
}

.hero-highlight{
  background:linear-gradient(90deg,#ffffff,#c7d6ff);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}

.hero-desc{

  margin-top:24px;

  font-size:18px;

  line-height:1.9;

  color:rgba(255,255,255,0.78);

  max-width:680px;
}

.hero-actions{
  display:flex;
  gap:16px;
  margin-top:35px;
  flex-wrap:wrap;
}

.hero-card{

  background:rgba(255,255,255,0.08);

  backdrop-filter:blur(18px);

  border:1px solid rgba(255,255,255,0.1);

  border-radius:30px;

  padding:35px;

  color:#fff;

  box-shadow:
    0 20px 40px rgba(0,0,0,0.18);

}


.login-title {
	font-size: 28px;
	font-weight: 800;
	margin-bottom: 8px;
}

.login-subtitle {
	color: rgba(255, 255, 255, 0.7);
	font-size: 14px;
	margin-bottom: 28px;
}

.login-btn{

  height:56px;

  border:none;

  border-radius:16px;

  width:100%;

  margin-top:12px;

  font-size:15px;

  font-weight:700;

  background:
    linear-gradient(
      135deg,
      #ffffff,
      #dbe5ff
    );

  color:var(--primary);

}

.login-footer {
	margin-top: 18px;
	text-align: center;
	color: rgba(255, 255, 255, 0.7);
	font-size: 13px;
}

.header-actions {
	display: flex;
	align-items: center;
	gap: 10px;
}

.confsection-title {
	font-size: 26px;
	font-weight: 700;
	color: var(- -text);
	margin-bottom: 8px;
}

/* FEATURE SECTION */
.feature-section {
	padding: 40px 0 80px;
}

.section-subtitle {
	text-align: center;
	color: rgba(255, 255, 255, 0.72);
	font-size: 16px;
	max-width: 760px;
	margin: 18px auto 0;
	line-height: 1.8;
}

/* STATS */
.stats-section {
	padding-bottom: 80px;
}

.stats-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 24px;
}

.stat-card {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 28px;
	padding: 30px;
	text-align: center;
	color: #fff;
	backdrop-filter: blur(18px);
}

.stat-value {
	font-size: 42px;
	font-weight: 800;
}

.stat-label {
	margin-top: 12px;
	color: rgba(255, 255, 255, 0.72);
	font-size: 14px;
}

/* =========================================================
   GLASS CARD
========================================================= */
.glass-card {
	background: rgba(255, 255, 255, 0.08);
	backdrop-filter: blur(18px);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 30px;
	padding: 35px;
	color: #fff;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.18);
}

/* =========================================================
   DASHBOARD CARD
========================================================= */
.dashboard-wrapper {
	max-width: 1400px;
	margin: auto;
	padding: 15px;
}

.dashboard-card {
	background: #fff;
	border-radius: 34px;
	overflow: hidden;
	box-shadow: 0 25px 60px rgba(0, 0, 0, 0.18);
}

.main-card {
	background: rgba(255, 255, 255, 0.98);
	backdrop-filter: blur(14px);
	border-radius: 34px;
	overflow: hidden;
	box-shadow: 0 25px 60px rgba(0, 0, 0, 0.18);
}

/* =========================================================
   PAGE HEADER
========================================================= */
.top-header {
	padding: 30px 35px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
	background: linear-gradient(135deg, rgba(38, 50, 100, 0.04),
		rgba(68, 88, 168, 0.08));
	border-bottom: 1px solid #eef2ff;
}

.header-left{
  display:flex;
  align-items:center;
  gap:18px;
}

.logo{

  width:74px;
  height:74px;

  border-radius:24px;

  background:
    linear-gradient(
      135deg,
      var(--primary),
      var(--primary-light)
    );

  display:flex;
  align-items:center;
  justify-content:center;

  color:#fff;

  font-size:30px;
  font-weight:800;
}

.title{
  font-size:30px;
  font-weight:800;
  color:var(--text);
}

.subtitle{
  margin-top:6px;
  color:var(--muted);
  font-size:14px;
}

/* =========================================================
   PAGE BODY
========================================================= */

.page-body{
  padding:35px;
}

/* =========================================================
   SECTION TITLE
========================================================= */

.section-title{
  font-size:22px;
  font-weight:700;
  color:var(--text);
  margin-bottom:6px;
}

.content-title{
  font-size:26px;
  font-weight:700;
  color:var(--text);
  margin-bottom:10px;
}

.content-subtitle{
  color:var(--muted);
  font-size:14px;
  line-height:1.7;
  margin-bottom:28px;
}

/* =========================================================
   FEATURE GRID
========================================================= */

.feature-grid {
	margin-top: 55px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 24px;
}

.feature-card {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 28px;
	padding: 28px;
	backdrop-filter: blur(18px);
	color: #fff;
}

.feature-icon {
	width: 68px;
	height: 68px;
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.14);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 30px;
	margin-bottom: 22px;
}

.feature-title{
  font-size:20px;
  font-weight:700;
  margin-bottom:12px;
}

.feature-desc{
  color:rgba(255,255,255,0.72);
  font-size:14px;
  line-height:1.8;
}

 .config-card {
 	margin-top: 15px;
	background: var(- -bg);
	border: 1px solid #e6ecff;
	border-radius: 24px;
	padding: 25px;
	margin-bottom: 35px;
}

.mini-title {
	color: var(- -primary);
	font-weight: 700;
	margin-bottom: 6px;
	font-size: 15px;
}

.mini-desc {
	color: #6b7280;
	font-size: 13px;
	line-height: 1.6;
}

/* =========================================================
   SUMMARY GRID
========================================================= */
.summary-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:22px;
  margin-bottom: 30px;
}

.summary-card{
  background:var(--bg);
  border:1px solid #eef2ff;
  border-radius:24px;
  padding:24px;
}

.summary-title{
  color:var(--primary);
  font-size:14px;
  font-weight:700;
  margin-bottom:10px;
}

.summary-value{
  font-size:34px;
  font-weight:800;
  color:#111827;
}

.summary-desc{
  margin-top:8px;
  color:#6b7280;
  font-size:13px;
}

/* =========================================================
   CHART GRID
========================================================= */

.chart-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:24px;
  margin-top:10px;
}

.chart-card{
  background:var(--bg);
  border:1px solid #eef2ff;
  border-radius:24px;
  padding:25px;
}

.chart-title{
  font-size:17px;
  font-weight:700;
  margin-bottom:22px;
}

.bar-label{

  display:flex;

  justify-content:space-between;

  margin-bottom:8px;

  font-size:14px;

  font-weight:600;

}
/* =========================================================
   PROGRESS BAR
========================================================= */

.progress{
  height:12px;
  border-radius:50px;
  background:#e5e7eb;
  overflow:hidden;
}

.progress-bar{
  height:100%;
  border-radius:50px;

  background:
    linear-gradient(
      90deg,
      var(--primary),
      var(--primary-light)
    );
}

/* =========================================================
   FORMS
========================================================= */

.form-label{
  font-size:14px;
  font-weight:600;
  margin-bottom:8px;
}

.form-control,
.form-select{

  width:100%;

  min-height:56px;

  border-radius:16px;

  border:1px solid #d1d5db;

  padding:12px 16px;

  box-shadow:none !important;
}

textarea.form-control{
  min-height:120px;
  resize:none;
}

.form-control:focus,
.form-select:focus{
  border-color:var(--primary-light);
}

/* EMPLOYEE SECTION */
.employee-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	margin-bottom: 20px;
}

.employee-count {
	background: #eef2ff;
	color: var(- -primary);
	padding: 10px 16px;
	border-radius: 50px;
	font-size: 13px;
	font-weight: 700;
}

.employee-form {
	background: #f8faff;
	border: 1px solid #e6ecff;
	border-radius: 24px;
	padding: 25px;
	margin-bottom: 30px;
}

/* =========================================================
   TABLE
========================================================= */
.table-responsive{
  border-radius:24px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border:1px solid #eef2ff;
}

.table{
  width:100%;
  border-collapse:collapse;
}

.table thead{
  background:#f8faff;
}

.table thead th{
  padding:18px;
  font-size:13px;
  color:#6b7280;
  font-weight:700;
}

.table tbody td{
  padding:18px;
  border-top:1px solid #f1f5f9;
  font-size:14px;
}

/* =========================================================
   SURVEY SECTION
========================================================= */

.survey-box{
  margin-top:40px;
  background:var(--bg);
  border:1px solid #eef2ff;
  border-radius:28px;
  padding:30px;
}

.question-label{
  font-size:22px;
  font-weight:700;
  margin-bottom:25px;
}

.rating-wrapper{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.rating-option{
  flex:1;
}

.rating-option input{
  display:none;
}

.rating-option label{

  width:100%;
  height:58px;

  border-radius:16px;

  border:2px solid var(--border);

  display:flex;
  align-items:center;
  justify-content:center;

  background:#fff;

  cursor:pointer;

  font-size:18px;
  font-weight:700;

  transition:0.3s;
}

.rating-option input:checked + label{

  background:
    linear-gradient(
      135deg,
      var(--primary),
      var(--primary-light)
    );

  color:#fff;

  border-color:var(--primary);

  transform:scale(1.03);
}

/* =========================================================
   FEEDBACK
========================================================= */

.feedback-card{
  background:var(--bg);
  border:1px solid #eef2ff;
  border-radius:24px;
  padding:24px;
  margin-top:20px;
}

.feedback-type{
  display:inline-block;
  padding:7px 14px;
  border-radius:50px;
  font-size:12px;
  font-weight:700;
  margin-bottom:16px;
}

.positive{
  background:#dcfce7;
  color:#166534;
}

.pending{
  background:#fef3c7;
  color:#92400e;
}

.completed{
  background:#dcfce7;
  color:#166534;
}

.status{

  padding:7px 14px;

  border-radius:50px;

  font-size:12px;

  font-weight:700;

}

/* =========================================================
   AI CARD
========================================================= */

.ai-card{

  margin-top:40px;

  border-radius:28px;

  padding:32px;

  color:#fff;

  background:
    linear-gradient(
      135deg,
      #263264,
      #4458a8
    );
}

.ai-title{
  font-size:24px;
  font-weight:800;
  margin-bottom:18px;
}

.ai-list{
  padding-left:18px;
}

.ai-list li{
  margin-bottom:12px;
  line-height:1.7;
}

/* =========================================================
   STATS
========================================================= */

.stats-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:24px;
}

.stat-card{

  background:rgba(255,255,255,0.08);

  border:1px solid rgba(255,255,255,0.1);

  border-radius:28px;

  padding:30px;

  text-align:center;

  color:#fff;

  backdrop-filter:blur(18px);
}

.stat-value{
  font-size:42px;
  font-weight:800;
}

.stat-label{
  margin-top:12px;
  color:rgba(255,255,255,0.72);
  font-size:14px;
}

/* =========================================================
   SURVEY WRAPPER
========================================================= */

.survey-wrapper{
  max-width:560px;
  margin:auto;
  padding:15px;
}

.survey-card{
  background:#fff;
  border:none;
  border-radius:28px;
  padding:28px;
  box-shadow:0 10px 40px rgba(0,0,0,0.18);
  overflow:hidden;
}

.survey-logo{
  width:68px;
  height:68px;
  border-radius:18px;

  background:
    linear-gradient(
      135deg,
      var(--primary),
      var(--primary-light)
    );

  display:flex;
  align-items:center;
  justify-content:center;

  color:#fff;

  font-size:28px;
  font-weight:700;

  margin-bottom:20px;
}

.survey-title{
  font-size:28px;
  font-weight:700;
  color:var(--text);
}

.survey-subtitle{
  color:var(--muted);
  font-size:14px;
  margin-top:8px;
  line-height:1.6;
}

/* =========================================================
   STEP HEADER
========================================================= */

.step-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:25px;
}

.step-badge{
  background:#eef2ff;
  color:var(--primary);
  padding:7px 14px;
  border-radius:50px;
  font-size:13px;
  font-weight:600;
}

.question-count{
  font-size:13px;
  font-weight:600;
  color:var(--primary);
  margin-top:10px;
}

/* =========================================================
   QUESTION SECTION
========================================================= */

.question-box{
  margin-top:30px;
}

.comment-box textarea{
  border-radius:16px;
  padding:15px;
  resize:none;
  min-height:120px;
}

.survey-info {
    background: #fff;
    border-radius: 18px;
    padding: 25px;
    margin-bottom: 25px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.06);
}

/* =========================================================
   BUTTON GROUP
========================================================= */

.button-group{
  display:flex;
  gap:12px;
  margin-top:32px;
}

/* =========================================================
   SURVEY FOOTER
========================================================= */

.survey-footer{
  margin-top:25px;
  text-align:center;
  color:#9ca3af;
  font-size:12px;
}

/* =========================================================
   THANK YOU CARD
========================================================= */

.thank-you-card{
  display:none;
  text-align:center;
  padding:15px;
}

.success-icon{
  width:90px;
  height:90px;

  border-radius:50%;

  background:#e7f8ee;

  color:#16a34a;

  font-size:42px;

  display:flex;
  align-items:center;
  justify-content:center;

  margin:0 auto 20px;
}

.thank-title{
  font-size:28px;
  font-weight:700;
  color:#111827;
}

.thank-desc{
  color:#6b7280;
  margin-top:10px;
  line-height:1.7;
}

.create-survey-card {
    background: linear-gradient(135deg, #f8fbff, #eef5ff);
    border-radius: 20px;
    padding: 28px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    border: 1px solid #dbe7ff;
}

.create-badge {
    display: inline-block;
    background: #263264;
    color: #fff;
    font-size: 12px;
    padding: 6px 12px;
    border-radius: 30px;
    margin-bottom: 14px;
    font-weight: 600;
}

.flow-steps {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 10px;
}

.flow-step {
    background: #fff;
    border-radius: 12px;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid #e2e8f0;
    font-size: 14px;
    font-weight: 500;
}

.step-no {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #263264;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
}

.create-right {
    display: flex;
    flex-direction: column;
    gap: 14px;
}


/* ===========================
   ANSWER CARDS
=========================== */

.answer-section{
	margin-top: 10px;
}

.answer-card{
	background: white;
	border-radius: 24px;
	padding: 28px;
	margin-bottom: 24px;
	border-left: 8px solid #3f51b5;
	box-shadow: 0 4px 12px rgba(0,0,0,0.04);
	transition: 0.3s ease;
}

.answer-card:hover{
	transform: translateY(-3px);
	box-shadow: 0 10px 25px rgba(0,0,0,0.08);
}

.question-title{
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 18px;
	color: #0f172a;
}

.answer-label{
	font-size: 14px;
	font-weight: 600;
	color: #64748b;
	margin-bottom: 8px;
}

.answer-text{
	background: #f8fafc;
	padding: 18px;
	border-radius: 16px;
	font-size: 16px;
	color: #334155;
	line-height: 1.7;
	margin-bottom: 18px;
}

.answer-meta{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
}

.meta-badge{
	background: #eef2ff;
	color: #3f51b5;
	padding: 10px 16px;
	border-radius: 30px;
	font-size: 14px;
	font-weight: 600;
}

.question-nav-container{
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 999;
}

.question-nav-btn{
    width: 55px;
    height: 55px;
    border-radius: 50%;
    border: none;
    background: #0d6efd;
    color: #fff;
    font-size: 24px;
    cursor: pointer;
    box-shadow: 0px 4px 10px rgba(0,0,0,0.2);
}

.question-number{
    width: 40px;
    height: 40px;
    margin: 5px;
    border: 1px solid #ddd;
    border-radius: 50%;
    background: #f8f9fa;
    cursor: pointer;
}

.question-number.active{
    background: #0d6efd;
    color: white;
    border-color: #0d6efd;
}

.legend-item{
    display:flex;
    align-items:center;
    margin-bottom:6px;
    font-size:13px;
}

.legend-circle{
    width:14px;
    height:14px;
    border-radius:50%;
    display:inline-block;
    margin-right:8px;
}

.legend-circle.submitted{
    background:#28a745;
}

.legend-circle.current{
    background:#007bff;
}

.legend-circle.pending{
    background:#d6d6d6;
}


/* Question Numbers */
.question-number{
    width:40px;
    height:40px;
    border:none;
    border-radius:50%;
    margin:5px;
    cursor:pointer;
    background:#d6d6d6;
    color:#333;
    font-weight:600;
}

/* Current Question */
.question-number.current{
    background:#007bff;
    color:#fff;
}

/* Submitted Question */
.question-number.submitted{
    background:#28a745;
    color:#fff;
}

/* Pending Question */
.question-number.pending{
    background:#d6d6d6;
    color:#333;
}

.question-navigator{
    width:260px;
    background:#fff;
    border-radius:12px;
    box-shadow:0 5px 20px rgba(0,0,0,.15);
    overflow:hidden;
}

.question-nav-info{
    padding:15px;
    border-bottom:1px solid #eee;
}

#questionNumberContainer{
    padding:15px;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.basic-info-card{
    background:#fff;
    border-radius:12px;
    padding:20px;
    margin-bottom:20px;
    box-shadow:0 2px 8px rgba(0,0,0,.08);
}

.basic-info-card th{
    background:#f8f9fa;
}

.pagination-container .page-btn {
    margin: 0 4px;
    padding: 6px 12px;
    border: 1px solid #ddd;
    background: #fff;
    cursor: pointer;
    border-radius: 5px;
}

.pagination-container .page-btn.active {
    background: #263264;
    color: #fff;
    border-color: #263264;
}

.pagination-container .page-btn:hover {
    background: #f5f5f5;
}

.active>.page-link, .page-link.active:hover {
  background-color: var(--primary);
  color: #f5f5f5;
}

.active>.page-link, .page-link.active {
  background-color: var(--primary);
  color: #f5f5f5;
}

/* =========================================================
   MOBILE
========================================================= */

@media(max-width:576px){

  .survey-card{
    padding:22px;
  }

  .question-label{
    font-size:18px;
  }

  .rating-option label{
    height:52px;
    font-size:16px;
  }

  .button-group{
    flex-direction:column;
  }

}

/* =========================================================
   FOOTER
========================================================= */

.footer{
  text-align:center;
  color:rgba(255,255,255,0.55);
  font-size:13px;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:992px){

  .hero-title{
    font-size:48px;
  }

}

@media(max-width:768px){

  .hero-title{
    font-size:38px;
  }

  .hero-section{
    padding:50px 0;
  }

  .nav-actions{
    margin-top:18px;
  }

  .hero-actions{
    flex-direction:column;
  }

  .top-header{
    padding:24px;
  }

  .page-body{
    padding:24px;
  }

  .title{
    font-size:24px;
  }

}
