/* D'Genius Assessment — Candidate Frontend Styles */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

.dgas-wrap *{ box-sizing:border-box; }
.dgas-wrap{
  font-family:'Plus Jakarta Sans',sans-serif;
  color:#0f172a;font-size:15px;line-height:1.6;
  max-width:760px;margin:0 auto;padding:0 16px 120px;
}

.dgas-screen{ display:none; }
.dgas-screen.active{ display:block; }

/* ── Intro ── */
.dgas-intro-header{ background:#0d1117;border-radius:14px;padding:36px 32px;margin-bottom:24px;color:white;text-align:center; }
.dgas-brand{ font-size:12px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:10px; }
.dgas-role{ font-size:26px;font-weight:800;margin:0 0 10px;letter-spacing:-0.5px; }
.dgas-role-summary{ color:rgba(255,255,255,.6);font-size:14px;max-width:500px;margin:0 auto 20px; }
.dgas-meta-pills{ display:flex;flex-wrap:wrap;justify-content:center;gap:8px; }
.dgas-meta-pills span{ background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.7);padding:4px 14px;border-radius:20px;font-size:12px;font-weight:600; }

/* ── Card ── */
.dgas-card{ background:white;border:1px solid #e2e8f0;border-radius:12px;padding:22px;margin-bottom:18px; }
.dgas-card-title{ font-size:16px;font-weight:700;margin:0 0 18px; }

/* ── Form fields ── */
.dgas-fields-grid{ display:grid;grid-template-columns:1fr 1fr;gap:14px; }
.dgas-field{ display:flex;flex-direction:column;gap:5px; }
.dgas-field label{ font-size:12px;font-weight:700;color:#374151;letter-spacing:.2px; }
.dgas-field label span{ color:#e94560; }
.dgas-field input,.dgas-field select,.dgas-field textarea{ display:block;padding:12px 14px;border:1.5px solid #cbd5e1;border-radius:10px;font-size:14px;font-family:inherit;outline:none;width:100%;min-height:52px;background:#fff;color:#0f172a; }
.dgas-field input:focus,.dgas-field select:focus,.dgas-field textarea:focus{ border-color:#0f3460; }
.dgas-field input[type=file]{ min-height:52px;border-style:dashed;padding:8px;color:#64748b;background:#fff; }
.dgas-field-full{ grid-column:1 / -1; }
.dgas-form-section{ grid-column:1 / -1; margin:8px 0 2px; padding-top:8px; border-top:1px solid #e2e8f0; }
.dgas-form-section h4{ margin:0; font-size:15px; font-weight:800; color:#0f172a; }
.dgas-form-static{ grid-column:1 / -1; background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:12px 14px; color:#334155; font-size:13px; }

/* ── Buttons ── */
.dgas-btn{ display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 26px;border-radius:9px;font-size:14px;font-weight:700;cursor:pointer;border:none;font-family:inherit;transition:all .15s; }
.dgas-btn-primary{ background:#e94560;color:white; }
.dgas-btn-primary:hover{ background:#d63850; }
.dgas-btn-ghost{ background:transparent;border:1.5px solid #e2e8f0;color:#64748b; }
.dgas-btn-ghost:hover{ border-color:#0f3460;color:#0f3460; }
.dgas-btn-lg{ padding:14px 36px;font-size:15px;width:100%;margin-top:8px; }

/* ── Part label ── */
.dgas-part-label{ font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#e94560;margin-bottom:6px; }

/* ── Psychometric ── */
.dgas-psych-wrap{ padding:0; }
.dgas-psych-card{ background:white;border:1px solid #e2e8f0;border-radius:12px;padding:30px;margin-bottom:0;animation:dgas-up .25s ease; }
@keyframes dgas-up{ from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)} }
.dgas-psych-q-text{ font-size:17px;font-weight:700;line-height:1.5;margin-bottom:24px;letter-spacing:-.3px; }
.dgas-opts{ display:flex;flex-direction:column;gap:10px; }
.dgas-opt{ display:flex;align-items:flex-start;gap:14px;padding:14px 16px;border:1.5px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:all .15s; }
.dgas-opt:hover{ border-color:#93c5fd;background:#f0f9ff; }
.dgas-opt.selected{ border-color:#e94560;background:rgba(233,69,96,.04); }
.dgas-opt-bubble{ width:20px;height:20px;border:2px solid #cbd5e1;border-radius:50%;flex-shrink:0;margin-top:1px;display:flex;align-items:center;justify-content:center;transition:all .15s; }
.dgas-opt.selected .dgas-opt-bubble{ background:#e94560;border-color:#e94560; }
.dgas-opt.selected .dgas-opt-bubble::after{ content:'';width:7px;height:7px;background:white;border-radius:50%;display:block; }
.dgas-opt-key{ font-weight:800;color:#94a3b8;font-size:12px;flex-shrink:0;margin-top:1px; }
.dgas-opt-text{ font-size:14px;line-height:1.55; }
.dgas-psych-nav{ display:flex;justify-content:space-between;align-items:center;margin-top:22px;padding:18px 0 0;border-top:1px solid #f1f5f9; }
.dgas-psych-counter{ font-size:13px;color:#64748b;font-weight:600; }

/* ── Test ── */
.dgas-test-wrap{ padding:0; }
.dgas-test-header{ display:flex;justify-content:space-between;align-items:center;margin-bottom:16px; }
.dgas-timer{ font-size:13px;font-weight:700;background:#0d1117;color:white;padding:6px 14px;border-radius:20px; }
.dgas-notice{ background:#fff7ed;border-left:3px solid #f59e0b;padding:11px 14px;border-radius:0 8px 8px 0;font-size:13px;margin-bottom:20px; }
.dgas-section-head{ background:#0d1117;color:white;padding:10px 18px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;margin-top:24px; }
.dgas-section-head:first-of-type{ margin-top:0; }
.dgas-section-head h3{ font-size:12px;font-weight:700;margin:0; }
.dgas-section-head span{ background:#e94560;padding:2px 10px;border-radius:20px;font-size:11px;font-weight:700; }

/* ── MCQ ── */
.dgas-mcq{ background:white;border:1px solid #e2e8f0;border-radius:10px;padding:18px;margin-bottom:12px; }
.dgas-q-text{ font-size:14px;font-weight:600;line-height:1.6;margin-bottom:13px; }
.dgas-q-num{ display:inline-flex;align-items:center;justify-content:center;background:#0f3460;color:white;width:23px;height:23px;border-radius:50%;font-size:10px;font-weight:800;margin-right:8px;flex-shrink:0;vertical-align:middle; }
.dgas-mcq-opts{ display:grid;grid-template-columns:1fr 1fr;gap:8px; }
.dgas-mcq-opt{ display:flex;align-items:center;gap:9px;padding:10px 13px;border:1.5px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:13px;transition:all .15s; }
.dgas-mcq-opt:hover{ border-color:#93c5fd;background:#f0f9ff; }
.dgas-mcq-opt.selected{ border-color:#e94560;background:rgba(233,69,96,.04);font-weight:600; }
.dgas-radio{ width:16px;height:16px;border:2px solid #cbd5e1;border-radius:50%;flex-shrink:0;transition:all .15s; }
.dgas-mcq-opt.selected .dgas-radio{ background:#e94560;border-color:#e94560;box-shadow:inset 0 0 0 3px white; }

/* ── Short Answer ── */
.dgas-sa{ background:white;border:1px solid #e2e8f0;border-radius:10px;padding:18px;margin-bottom:12px; }
.dgas-sa-input{ width:100%;padding:14px;border:1.5px solid #cbd5e1;border-radius:10px;font-size:14px;font-family:inherit;resize:vertical;outline:none;line-height:1.6;color:#0f172a;background:#fff;margin-top:4px; }
.dgas-sa-input:focus{ border-color:#0f3460; }

/* ── Long Answer ── */
.dgas-la{ background:white;border:1px solid #e2e8f0;border-radius:10px;padding:18px;margin-bottom:12px; }
.dgas-la-hint{ font-size:12px;color:#64748b;margin-bottom:8px; }
.dgas-la-input{ width:100%;padding:14px;border:1.5px solid #cbd5e1;border-radius:10px;font-size:14px;font-family:inherit;resize:vertical;outline:none;line-height:1.7;color:#0f172a;background:#fff; }
.dgas-la-input:focus{ border-color:#0f3460; }
.dgas-word-count{ font-size:11px;color:#94a3b8;margin-top:5px;text-align:right;font-weight:600; }

/* ── Submit bar ── */
.dgas-submit-bar{ position:fixed;bottom:0;left:0;right:0;background:white;border-top:1px solid #e2e8f0;padding:14px 20px;display:flex;justify-content:center;z-index:50;box-shadow:0 -4px 16px rgba(0,0,0,.06); }
.dgas-submit-bar .dgas-btn{ max-width:340px;width:100%; }

/* ── Result screen ── */
.dgas-result-wrap{ display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:40px 20px; }
.dgas-result-icon{ width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#10b981,#059669);display:flex;align-items:center;justify-content:center;font-size:30px;margin:0 auto 24px;box-shadow:0 0 30px rgba(16,185,129,.25); }
.dgas-result-wrap h2{ font-size:24px;font-weight:800;margin:0 0 10px;letter-spacing:-.3px; }
.dgas-result-score-card{ background:white;border:1px solid #e2e8f0;border-radius:12px;padding:28px 36px;margin:20px 0;display:inline-block; }
.dgas-score-label{ font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#64748b;margin-bottom:8px; }
.dgas-score-big{ font-size:52px;font-weight:800;letter-spacing:-2px;color:#0f172a;line-height:1; }
.dgas-score-out-of{ font-size:20px;font-weight:600;color:#94a3b8; }
.dgas-score-pct{ font-size:16px;font-weight:700;color:#10b981;margin-top:6px; }
.dgas-result-wrap p{ color:#64748b;max-width:420px;font-size:14px;line-height:1.7; }

/* ── Loading overlay ── */
.dgas-loading-overlay{ position:fixed;inset:0;background:rgba(13,17,23,.8);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:999;color:white;gap:14px; }
.dgas-spinner{ width:40px;height:40px;border:3px solid rgba(255,255,255,.15);border-top-color:#e94560;border-radius:50%;animation:dgas-spin .8s linear infinite; }
@keyframes dgas-spin{ to{transform:rotate(360deg)} }
.dgas-loading-text{ font-size:13px;color:rgba(255,255,255,.6);font-weight:600; }

@media(max-width:600px){
  .dgas-fields-grid,.dgas-mcq-opts{ grid-template-columns:1fr; }
  .dgas-psych-card{ padding:20px; }
}


/* ── Hard override against theme/global form styles ── */
.dgas-wrap input,
.dgas-wrap select,
.dgas-wrap textarea,
.dgas-wrap option{
  background:#ffffff !important;
  background-color:#ffffff !important;
  color:#0f172a !important;
  -webkit-text-fill-color:#0f172a !important;
  border:1.5px solid #cbd5e1 !important;
  box-shadow:none !important;
  opacity:1 !important;
  caret-color:#0f172a !important;
}
.dgas-wrap input::placeholder,
.dgas-wrap textarea::placeholder{
  color:#94a3b8 !important;
  opacity:1 !important;
}
.dgas-wrap input:focus,
.dgas-wrap select:focus,
.dgas-wrap textarea:focus{
  background:#ffffff !important;
  color:#0f172a !important;
  -webkit-text-fill-color:#0f172a !important;
  border-color:#e94560 !important;
  outline:none !important;
  box-shadow:0 0 0 3px rgba(233,69,96,.12) !important;
}
.dgas-wrap select{
  appearance:none !important;
  -webkit-appearance:none !important;
  -moz-appearance:none !important;
  background-image:linear-gradient(45deg, transparent 50%, #64748b 50%), linear-gradient(135deg, #64748b 50%, transparent 50%) !important;
  background-position:calc(100% - 18px) calc(50% - 3px), calc(100% - 12px) calc(50% - 3px) !important;
  background-size:6px 6px, 6px 6px !important;
  background-repeat:no-repeat !important;
  padding-right:38px !important;
}
.dgas-wrap input[type=file]{
  padding:10px 12px !important;
  line-height:1.4 !important;
  cursor:pointer;
}
.dgas-wrap input[type=file]::file-selector-button{
  background:#f8fafc;
  color:#0f172a;
  border:1px solid #cbd5e1;
  border-radius:8px;
  padding:9px 14px;
  margin-right:12px;
  font:inherit;
  font-weight:600;
  cursor:pointer;
}
.dgas-wrap input[type=file]::-webkit-file-upload-button{
  background:#f8fafc;
  color:#0f172a;
  border:1px solid #cbd5e1;
  border-radius:8px;
  padding:9px 14px;
  margin-right:12px;
  font:inherit;
  font-weight:600;
  cursor:pointer;
}
.dgas-wrap input:-webkit-autofill,
.dgas-wrap input:-webkit-autofill:hover,
.dgas-wrap input:-webkit-autofill:focus,
.dgas-wrap textarea:-webkit-autofill,
.dgas-wrap select:-webkit-autofill{
  -webkit-text-fill-color:#0f172a !important;
  -webkit-box-shadow:0 0 0px 1000px #ffffff inset !important;
  transition:background-color 9999s ease-in-out 0s;
}
