/* ── Intered Brand Variables ── */
:root {
  --primary:    #006496;
  --primary-dk: #023049;
  --accent:     #006496;
  --highlight:  #eaf3f8;
  --danger:     #cd1a1a;
  --bg:         #f7f7f7;
  --card-bg:    #FFFFFF;
  --text:       #333333;
  --text-light: #666666;
  --border:     #D0D7DE;
  --radius:     10px;
  --shadow:     0 2px 12px rgba(0,0,0,0.08);
}

*{box-sizing:border-box;}
body{font-family:'Segoe UI',Arial,sans-serif;background:var(--bg);margin:0;padding:20px;color:var(--text);}

/* ── Form container ── */
.form-container{max-width:580px;margin:24px auto;background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;}
.form-header{background:var(--primary);color:#fff;padding:28px 32px;text-align:center;}
.form-header h1{margin:0 0 6px;font-size:24px;}
.form-header p{margin:0;opacity:.85;font-size:14px;}
.form-body{padding:28px 32px;}

/* ── Fields ── */
.field-group{margin-bottom:16px;}
.field-group label{display:block;font-size:13px;font-weight:600;margin-bottom:5px;color:#444;}
.field-group label .req{color:var(--danger);}
.field-group input,.field-group select,.field-group textarea{width:100%;padding:11px 13px;border:1.5px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit;transition:border-color .2s;}
.field-group input:focus,.field-group select:focus,.field-group textarea:focus{outline:none;border-color:var(--accent);}
.field-group textarea{resize:vertical;min-height:90px;}
.field-row{display:flex;gap:14px;}
.field-row .field-group{flex:1;}

/* ── Checkboxes / radios ── */
.options-group{display:flex;flex-direction:column;gap:8px;}
.options-group label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;font-weight:400;padding:10px 14px;border:1.5px solid var(--border);border-radius:8px;transition:border-color .2s,background .2s;}
.options-group label:hover{border-color:var(--accent);background:var(--highlight);}
.options-group label input{width:18px;height:18px;flex-shrink:0;}
.options-group.horizontal{flex-direction:row;flex-wrap:wrap;}
.options-group.horizontal label{flex:0 0 auto;}

/* ── GDPR box ── */
.gdpr-box{background:#f0f4ff;border:1px solid #c5cae9;border-radius:8px;padding:14px;margin-top:4px;}
.gdpr-box label{display:flex;gap:10px;align-items:flex-start;cursor:pointer;font-size:12px;line-height:1.5;font-weight:400;}
.gdpr-box input[type="checkbox"]{width:18px;height:18px;flex-shrink:0;margin-top:2px;}

/* ── Wizard progress bar ── */
.wizard-progress{display:flex;gap:8px;margin-bottom:24px;}
.wizard-step{flex:1;height:6px;border-radius:3px;background:var(--border);}
.wizard-step.active{background:var(--accent);}
.wizard-step.done{background:var(--primary);}
.wizard-section.hidden{display:none;}
.step-subtitle{color:var(--text-light);font-size:13px;margin:-8px 0 16px;}

/* ── MCQ ── */
.mcq-question{margin-bottom:18px;padding:14px 16px;border:1.5px solid var(--border);border-radius:var(--radius);}
.mcq-question.answered{border-color:var(--accent);}
.question-text{margin:0 0 10px;font-size:14px;font-weight:600;}
.radio-opt{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:6px;cursor:pointer;font-size:13px;}
.radio-opt:hover{background:#f5f5f5;}
.radio-opt input{width:16px;height:16px;flex-shrink:0;}

/* ── Buttons ── */
.btn-submit,.btn-next,.btn-prev{padding:13px 24px;border:none;border-radius:8px;font-size:15px;font-weight:700;cursor:pointer;transition:background .2s,opacity .2s;}
.btn-submit,.btn-next{background:var(--primary);color:#fff;width:100%;margin-top:8px;}
.btn-submit:hover,.btn-next:hover{background:#023049;}
.btn-submit:disabled{opacity:.55;cursor:not-allowed;}
.btn-prev{background:transparent;color:var(--primary);border:1.5px solid var(--primary);margin-top:8px;}
.btn-prev:hover{background:#f0f4ff;}

/* ── Success box ── */
.success-box{text-align:center;padding:32px 20px;}
.success-box h2{color:var(--accent);font-size:26px;margin-bottom:12px;}
.success-box p{color:var(--text-light);font-size:15px;line-height:1.6;}

/* ── Stars rating ── */
.stars{display:flex;gap:6px;font-size:28px;cursor:pointer;}
.stars .star{color:var(--border);transition:color .15s;}
.stars .star.on{color:var(--highlight);}

/* ── Admin tables ── */
.admin-table{width:100%;border-collapse:collapse;font-size:13px;}
.admin-table th,.admin-table td{padding:8px 12px;border:1px solid var(--border);text-align:left;}
.admin-table th{background:var(--primary);color:#fff;}
.admin-table tr:nth-child(even){background:#f8f9fa;}
