:root{
  --iet-purple:#7A1F7E;
  --iet-purple-dark:#65186A;
  --iet-teal:#075B70;
  --iet-ink:#183247;
  --iet-muted:#5F7284;
  --iet-bg:#F2F7FA;
  --iet-line:#D6E2EA;
  --iet-white:#fff;
  --iet-danger:#A82845;
  --iet-danger-bg:#FDEFF2;
  --iet-ok:#2F7E65;
}

.iet-wrap{max-width:1180px;margin:0 auto;background:var(--iet-bg);border-radius:18px;overflow:hidden;color:var(--iet-ink);font-family:inherit;box-sizing:border-box}
.iet-wrap *{box-sizing:border-box}
.iet-hero{padding:28px 34px 30px;background:linear-gradient(115deg,#075B70 0%,#155F7F 42%,#7A1F7E 100%);color:#fff}
.iet-kicker{font-size:12px;letter-spacing:.12em;font-weight:700;color:#f3b9dc;margin-bottom:7px}
.iet-hero h1{margin:0 0 7px;font-size:clamp(30px,4vw,46px);line-height:1.08;color:#fff}
.iet-hero p{margin:0;font-size:17px;color:#fff}
.iet-scope-note{margin:20px 22px 0;padding:14px 16px;border-left:4px solid var(--iet-purple);background:#fff;border-radius:8px;color:var(--iet-muted)}
.iet-scope-note strong{color:var(--iet-ink)}

.iet-progress{display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin:22px;background:#fff;border:1px solid var(--iet-line);border-radius:12px;overflow:hidden}
.iet-progress button{appearance:none;border:0;border-right:1px solid var(--iet-line);background:#fff;padding:12px 8px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--iet-muted);cursor:pointer;font:inherit}
.iet-progress button:last-child{border-right:0}
.iet-progress button span{display:inline-flex;width:28px;height:28px;border-radius:50%;align-items:center;justify-content:center;background:#e7eef3;color:var(--iet-muted);font-weight:800}
.iet-progress button em{font-style:normal;font-size:13px;font-weight:700}
.iet-progress button.active{background:#faf5fb;color:var(--iet-purple)}
.iet-progress button.active span{background:var(--iet-purple);color:#fff}
.iet-progress button.complete{color:var(--iet-teal)}
.iet-progress button.complete span{background:var(--iet-teal);color:#fff}
.iet-mobile-progress{display:none;margin:18px 18px 0;font-weight:800;color:var(--iet-purple)}
.iet-savebar{margin:0 22px;display:flex;justify-content:flex-end;gap:12px;align-items:center;color:var(--iet-muted);font-size:13px}
.iet-link-button{appearance:none;border:0;background:transparent;color:var(--iet-purple);font:inherit;font-weight:800;cursor:pointer;text-decoration:underline}

.iet-card{margin:18px 22px 0;background:#fff;border:1px solid var(--iet-line);border-radius:14px;padding:24px;box-shadow:0 4px 14px rgba(24,50,71,.055)}
.iet-card h2{margin:0 0 6px;color:var(--iet-purple);font-size:26px}
.iet-card h3{margin:0 0 6px;color:var(--iet-ink);font-size:18px}
.iet-step-label{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--iet-teal);margin-bottom:5px}
.iet-section-head,.iet-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.iet-grid{display:grid;gap:16px;margin-top:18px}
.iet-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.iet-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.iet-wrap label,.iet-wrap legend{font-weight:700;font-size:14px;color:var(--iet-ink)}
.iet-wrap label{display:flex;flex-direction:column;gap:7px}
.iet-wrap fieldset{margin:0;padding:0;border:0;min-width:0}
.iet-wrap legend{margin-bottom:9px}
.iet-wrap input[type="text"],.iet-wrap input[type="tel"],.iet-wrap input[type="date"],.iet-wrap input[type="time"],.iet-wrap input[type="number"],.iet-wrap textarea{
  width:100%;border:1px solid #bfd0dc;border-radius:8px;background:#fff;color:var(--iet-ink);padding:10px 11px;font:inherit;outline:none
}
.iet-wrap input[type="text"],.iet-wrap input[type="tel"],.iet-wrap input[type="date"],.iet-wrap input[type="time"],.iet-wrap input[type="number"]{min-height:46px}
.iet-wrap textarea{resize:vertical;min-height:84px}
.iet-wrap input:focus,.iet-wrap textarea:focus{border-color:var(--iet-purple);box-shadow:0 0 0 3px rgba(122,31,126,.10)}
.iet-options{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.iet-options label{display:inline-flex;flex-direction:row;align-items:center;gap:6px;font-weight:600}
.iet-options input[type="radio"],.iet-options input[type="checkbox"]{width:18px;height:18px;accent-color:var(--iet-purple)}
.iet-options-wide{gap:18px}
.iet-options-wrap{gap:12px 20px}
.iet-inline-number{width:78px!important;min-height:38px!important}
.iet-question-block{margin-top:18px;padding:16px;border:1px solid var(--iet-line);border-radius:10px;background:#fbfdfe}
.iet-question-title{font-size:14px;font-weight:800;margin-bottom:10px}
.iet-full{margin-top:18px}
.iet-conditional[hidden]{display:none!important}

.iet-alert{margin:18px 0;padding:16px 18px;border:1px solid #e4a7b4;border-left:5px solid var(--iet-danger);border-radius:10px;background:var(--iet-danger-bg)}
.iet-alert strong{display:block;color:var(--iet-danger);font-size:18px}
.iet-alert p{margin:4px 0 8px;color:var(--iet-ink)}
.iet-alert ul{margin:0;padding-left:20px}
.iet-redflag-checks{margin-top:20px;padding:18px;border:2px solid rgba(168,40,69,.22);border-radius:12px;background:#fffafb}
.iet-redflag-checks p{margin:0;color:var(--iet-muted)}

.iet-navigation{margin:20px 22px 0;padding-bottom:4px;display:flex;justify-content:space-between;gap:12px}
.iet-nav-right{display:flex;gap:12px}
.iet-primary,.iet-secondary,.iet-danger-outline{appearance:none;min-height:44px;padding:10px 18px;border-radius:8px;font:inherit;font-weight:800;cursor:pointer}
.iet-primary{border:1px solid var(--iet-purple);background:var(--iet-purple);color:#fff}
.iet-primary:hover{background:var(--iet-purple-dark)}
.iet-secondary{border:1.5px solid var(--iet-purple);background:#fff;color:var(--iet-purple)}
.iet-secondary:hover{background:#faf4fb}
.iet-danger-outline{border:1.5px solid var(--iet-danger);background:#fff;color:var(--iet-danger)}

.iet-summary-card{padding-bottom:26px}
.iet-local-badge{display:inline-flex;align-items:center;padding:8px 11px;border-radius:999px;background:#eef8f4;color:var(--iet-ok);font-weight:800;font-size:12px}
.iet-summary-section{margin-top:18px;border:1px solid var(--iet-line);border-radius:10px;overflow:hidden}
.iet-summary-section header{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 14px;background:#f6f9fb;border-bottom:1px solid var(--iet-line)}
.iet-summary-section h3{margin:0;color:var(--iet-purple);font-size:17px}
.iet-edit-step{border:0;background:transparent;color:var(--iet-purple);font-weight:800;cursor:pointer}
.iet-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.iet-summary-item{padding:10px 14px;border-bottom:1px solid #e8eef2}
.iet-summary-item:nth-last-child(-n+2){border-bottom:0}
.iet-summary-item strong{display:block;font-size:12px;color:var(--iet-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}
.iet-summary-item span{display:block;white-space:pre-wrap}
.iet-summary-item.iet-summary-wide{grid-column:1/-1}
.iet-export-note{margin-top:18px;padding:14px 16px;border-left:4px solid var(--iet-teal);background:#f4fafb;color:var(--iet-muted)}
.iet-export-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}

.iet-privacy-note{margin:18px 22px 24px;padding:14px 16px;border:1px dashed #b9cad5;border-radius:10px;color:var(--iet-muted);font-size:13px}
.iet-privacy-note strong{color:var(--iet-ink)}

@media(max-width:900px){
  .iet-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .iet-progress em{display:none}
}
@media(max-width:620px){
  .iet-wrap{border-radius:0}
  .iet-hero{padding:24px 20px}
  .iet-progress{display:none}
  .iet-mobile-progress{display:block}
  .iet-savebar{margin:10px 14px 0}
  .iet-card,.iet-scope-note,.iet-privacy-note{margin-left:12px;margin-right:12px}
  .iet-card{padding:18px}
  .iet-grid-4,.iet-grid-2,.iet-summary-grid{grid-template-columns:1fr}
  .iet-summary-item{border-bottom:1px solid #e8eef2!important}
  .iet-navigation{margin:16px 12px 0;flex-direction:column}
  .iet-nav-right{flex-direction:column}
  .iet-navigation button{width:100%}
  .iet-summary-head{flex-direction:column}
}
@media print{
  body *{visibility:hidden!important}
  .iet-wrap,.iet-wrap *{visibility:visible!important}
  .iet-wrap{position:absolute;left:0;top:0;width:100%;max-width:none;background:#fff}
  .iet-hero,.iet-progress,.iet-mobile-progress,.iet-savebar,.iet-navigation,.iet-privacy-note,.iet-export-actions,.iet-edit-step{display:none!important}
  .iet-step{display:none!important}
  .iet-step[data-step="6"]{display:block!important}
  .iet-card{margin:0;border:0;box-shadow:none;padding:0}
  .iet-summary-section{break-inside:avoid}
  .iet-export-note{display:none!important}
}


/* v0.1.1 visual / UX refinement */
.iet-hero h1{
  font-size:clamp(28px,3.35vw,42px);
  max-width:1000px;
}
.iet-progress{
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
}
.iet-progress button{
  min-width:0 !important;
  width:auto !important;
  max-width:none !important;
  white-space:nowrap;
  padding:11px 6px;
  line-height:1.1;
}
.iet-progress button span{
  width:26px;
  height:26px;
  flex:0 0 26px;
}
.iet-progress button em{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.iet-savebar{
  min-height:22px;
}
.iet-patient-rows{
  margin-top:18px;
  display:flex;
  flex-direction:column;
  gap:18px;
}
.iet-patient-row{
  display:grid;
  gap:18px;
  align-items:start;
}
.iet-patient-row-4{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.iet-patient-row fieldset{
  min-height:73px;
}
.iet-patient-row fieldset .iet-options{
  min-height:46px;
  align-content:center;
}
.iet-options input[type="radio"]{
  -webkit-appearance:none;
  appearance:none;
  width:18px;
  height:18px;
  border:1.5px solid #8093a2;
  border-radius:50%;
  background:#fff;
  position:relative;
  flex:0 0 18px;
  cursor:pointer;
}
.iet-options input[type="radio"]:checked{
  border-color:var(--iet-purple);
}
.iet-options input[type="radio"]:checked::after{
  content:"";
  position:absolute;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--iet-purple);
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
}
.iet-options input[type="radio"]:focus-visible{
  outline:3px solid rgba(122,31,126,.18);
  outline-offset:2px;
}
.iet-navigation{
  align-items:center;
}
.iet-nav-right{
  margin-left:auto;
}
#iet-next{
  min-width:112px;
  padding-left:26px;
  padding-right:26px;
}
#iet-save-page{
  min-width:132px;
}

@media(max-width:900px){
  .iet-progress button em{
    display:block;
    font-size:11px;
  }
  .iet-patient-row-4{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:620px){
  .iet-patient-row-4{
    grid-template-columns:1fr;
  }
}


/* v0.1.2 immediate escalation layout */
.iet-redflag-checks{
  padding:20px;
}
.iet-redflag-head{
  margin-bottom:14px;
}
.iet-redflag-head h3{
  margin:0 0 4px;
  color:var(--iet-danger);
  text-transform:uppercase;
  letter-spacing:.02em;
}
.iet-redflag-head p{
  margin:0;
}
.iet-redflag-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 14px;
}
.iet-redflag-option{
  display:flex !important;
  flex-direction:row !important;
  align-items:flex-start !important;
  gap:10px !important;
  min-height:58px;
  padding:12px 14px;
  border:1px solid #efc6cf;
  border-radius:9px;
  background:#fff;
  font-weight:700 !important;
  cursor:pointer;
}
.iet-redflag-option input[type="checkbox"]{
  width:18px;
  height:18px;
  margin:1px 0 0;
  flex:0 0 18px;
  accent-color:var(--iet-danger);
}
.iet-redflag-option span{
  line-height:1.35;
}
.iet-redflag-option:has(input:checked){
  border-color:var(--iet-danger);
  background:#fff3f6;
}
@media(max-width:700px){
  .iet-redflag-options{
    grid-template-columns:1fr;
  }
}


/* v0.1.3 visible "Where?" fields */
.iet-where-field{
  margin-top:12px;
}
.iet-where-field input:disabled{
  background:#f1f4f6;
  color:#8a98a4;
  border-color:#d7e0e6;
  cursor:not-allowed;
}
.iet-where-field input:not(:disabled){
  background:#fff;
}


/* v0.1.4 escalation box layout correction */
.iet-redflag-options{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:12px !important;
  width:100% !important;
}
.iet-redflag-option{
  flex:1 1 calc(50% - 6px) !important;
  width:calc(50% - 6px) !important;
  max-width:none !important;
  min-width:280px !important;
  margin:0 !important;
}
@media(max-width:700px){
  .iet-redflag-option{
    flex-basis:100% !important;
    width:100% !important;
    min-width:0 !important;
  }
}
