:root{
  --navy:#073760;
  --navy2:#0b4f7f;
  --text:#183247;
  --muted:#5e7487;
  --line:#d7e2eb;
  --soft:#eef7fc;
  --bg:#f7fafc;
  --white:#fff;
  --accent:#329cc0;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg);line-height:1.5}
.wrap{width:min(1080px,calc(100% - 32px));margin:auto}
.hero{background:linear-gradient(180deg,#f0f8fc 0%,#f7fbfd 100%);border-bottom:1px solid var(--line);padding:48px 0 46px}
.eyebrow{font-size:.78rem;letter-spacing:.08em;font-weight:700;color:var(--navy2);margin-bottom:10px}
h1{font-size:clamp(2rem,4vw,3.1rem);line-height:1.08;margin:0;color:var(--navy)}
.hero p{margin:15px 0 0;color:var(--muted);font-size:1.05rem;max-width:760px}
.main{padding:32px 0 56px}
.privacy-note{border-left:4px solid var(--accent);background:#eaf6fb;padding:14px 16px;border-radius:10px;margin-bottom:20px;font-size:.94rem}
.card{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:28px;margin:18px 0;box-shadow:0 10px 30px rgba(18,55,83,.035)}
.step{display:inline-flex;align-items:center;justify-content:center;min-width:43px;height:43px;padding:0 12px;border-radius:12px;background:#e8f4fb;color:var(--navy2);font-weight:800;font-size:.8rem;margin-bottom:14px}

/* Cabeçalho da etapa 02 e acesso à resolução */
.step-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.step-header .step{margin-bottom:0}
.resolution-btn{display:inline-flex;align-items:center;gap:7px;border:1px solid #b9d4e3;background:#f4fbfe;color:var(--navy2);border-radius:10px;padding:9px 13px;text-decoration:none;font-weight:750;font-size:.86rem;line-height:1.2;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease}
.resolution-btn:hover{background:#e6f4fa;border-color:#7fb8cf;color:var(--navy);transform:translateY(-1px);box-shadow:0 5px 14px rgba(18,55,83,.08)}
.resolution-btn:focus-visible{outline:none;border-color:#68aeca;box-shadow:0 0 0 3px rgba(50,156,192,.14)}
.resolution-btn.is-disabled{background:#f5f7f9;border-color:#d9e1e7;color:#8292a0;cursor:not-allowed;box-shadow:none;transform:none}
.resolution-btn.is-disabled:hover{background:#f5f7f9;border-color:#d9e1e7;color:#8292a0;transform:none;box-shadow:none}
h2{margin:0 0 20px;color:var(--navy);font-size:1.35rem}
h3{font-size:1rem;color:var(--navy);margin:26px 0 10px;padding-top:4px;border-top:1px solid #edf2f5;padding-top:20px}
label{display:block;font-weight:650;color:var(--navy);margin:14px 0 7px;font-size:.93rem}
.req::after{content:" *";color:#b42318}
input,select,textarea{width:100%;border:1px solid #cbd9e4;border-radius:10px;padding:12px 13px;font:inherit;color:var(--text);background:#fff;outline:none;transition:.15s}
input:focus,select:focus,textarea:focus{border-color:#68aeca;box-shadow:0 0 0 3px rgba(50,156,192,.12)}
textarea{min-height:125px;resize:vertical}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.full{grid-column:1/-1}
.inline-options{display:flex;gap:18px;flex-wrap:wrap;padding:6px 0 2px}
.inline-options label{display:flex;gap:8px;align-items:center;margin:0;font-weight:500;color:var(--text)}
.inline-options input{width:auto}
.helper{font-size:.84rem;color:var(--muted);margin-top:6px}
.repeat-box{border:1px solid #e0e8ef;border-radius:12px;padding:16px;margin:12px 0;background:#fbfdfe}
.repeat-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:4px}
.repeat-head strong{color:var(--navy)}
.link-btn{border:0;background:none;color:#9b1c1c;cursor:pointer;font-weight:650}
.add-btn{margin-top:10px;border:1px dashed #89b9cc;background:#f4fbfe;color:var(--navy2);border-radius:10px;padding:10px 14px;cursor:pointer;font-weight:700}
.actions{display:flex;justify-content:flex-end;gap:12px;margin-top:28px;flex-wrap:wrap}
.btn{border:0;border-radius:10px;padding:12px 18px;background:var(--navy);color:white;font-weight:750;cursor:pointer;font-size:.94rem}
.btn:hover{background:#052d4f}
.btn.secondary{background:#edf3f7;color:var(--navy)}
.review{display:grid;gap:10px}
.review-row{display:grid;grid-template-columns:minmax(150px,230px) minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid #edf2f5}
.review-row strong{color:var(--navy)}
.review-row span{
  min-width:0;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.after-note{margin:22px 0 0;color:var(--muted);font-size:.9rem}
.hidden{display:none!important}
.error{border-color:#b42318!important;box-shadow:0 0 0 3px rgba(180,35,24,.08)!important}
.error-msg{color:#b42318;font-size:.82rem;margin-top:4px}
.footer{border-top:1px solid var(--line);padding:22px 0;color:var(--muted);font-size:.86rem;background:white}
@media(max-width:760px){.hero{padding:34px 0}.step-header{align-items:center}.resolution-btn{font-size:.82rem;padding:8px 11px}.main{padding-top:22px}.card{padding:21px;border-radius:14px}.grid,.grid.three{grid-template-columns:1fr}.review-row{grid-template-columns:1fr;gap:3px}.actions .btn{width:100%}}


/* BOTÕES DE REFERÊNCIA DA ETAPA 02 */
.reference-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.calendar-btn{background:#fff;color:var(--navy2)}
.calendar-btn:hover{background:#eef8fc}
@media(max-width:760px){.reference-actions{gap:7px}.reference-actions .resolution-btn{font-size:.79rem;padding:8px 10px}}


/* AUTOCOMPLETE PERSONALIZADO - DOCENTES E DISCIPLINAS */
.autocomplete-field{position:relative}
.autocomplete-menu{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);max-height:260px;overflow-y:auto;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 32px rgba(18,55,83,.13);padding:6px}
.autocomplete-option{width:100%;display:flex;align-items:center;gap:10px;border:0;background:transparent;color:var(--text);border-radius:8px;padding:10px 11px;text-align:left;font:inherit;cursor:pointer;transition:background .14s ease,color .14s ease}
.autocomplete-option:hover,.autocomplete-option.is-active{background:#eaf6fb;color:var(--navy)}
.autocomplete-main{font-weight:650;line-height:1.3}
.autocomplete-code{flex:0 0 auto;display:inline-flex;align-items:center;border-radius:7px;background:#edf5f9;color:var(--navy2);font-size:.76rem;font-weight:800;letter-spacing:.02em;padding:4px 7px}
.autocomplete-code.right{margin-left:auto}
@media(max-width:760px){.autocomplete-menu{max-height:220px}.autocomplete-option{padding:10px 9px;gap:8px}.autocomplete-main{font-size:.9rem}}

/* AJUSTE 05 - FEEDBACK VISUAL PARA ELEMENTOS CLICÁVEIS */
button,
a[href],
select,
input[type="checkbox"],
input[type="radio"],
.autocomplete-option{
  cursor:pointer;
}

button,
a[href],
select,
.inline-options label,
.autocomplete-option{
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease;
}

select:hover{
  border-color:#8eb9cc;
  background-color:#fbfdfe;
}

.inline-options label{
  cursor:pointer;
  border-radius:8px;
  padding:6px 8px;
  margin-left:-8px;
}
.inline-options label:hover{
  background:#f0f8fc;
  color:var(--navy);
}

.add-btn:hover{
  background:#e6f4fa;
  border-color:#68aeca;
  color:var(--navy);
  transform:translateY(-1px);
  box-shadow:0 4px 12px rgba(18,55,83,.07);
}

.link-btn:hover{
  color:#741515;
  text-decoration:underline;
  text-underline-offset:3px;
}

.btn.secondary:hover{
  background:#dfeaf1;
  color:#052d4f;
}

button:focus-visible,
a[href]:focus-visible,
select:focus-visible,
input[type="checkbox"]:focus-visible,
input[type="radio"]:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(50,156,192,.16);
}

/* Campos de data: feedback apenas no controle realmente interativo */
input[type="date"]{
  cursor:pointer;
}
input[type="date"]:hover{
  border-color:#8eb9cc;
  background-color:#fbfdfe;
}
input[type="date"]::-webkit-calendar-picker-indicator{
  cursor:pointer;
}

button:disabled,
select:disabled,
input:disabled,
textarea:disabled,
a.is-disabled{
  cursor:not-allowed;
}

@media (hover:none){
  .inline-options label:hover{background:transparent;color:var(--text)}
  .add-btn:hover{transform:none;box-shadow:none}
}

/* Orientações do requerimento */
.guidance-box{margin-top:8px;padding:14px 16px;background:#f7fafc;border:1px solid var(--line);border-radius:12px}
.guidance-list{margin:0;padding-left:20px;color:var(--muted);font-size:.88rem;line-height:1.6}
.guidance-list li+li{margin-top:4px}

