.ct-wrap{
  --ct-bg:#17181a; --ct-panel:#212226; --ct-panel-2:#2a2b30; --ct-line:#3a3b40;
  --ct-text:#eeeeec; --ct-muted:#93969c; --ct-orange:#ff6a35; --ct-yellow:#ffc857;
  --ct-green:#5fd487; --ct-red:#ff5c5c;
  max-width:560px;
  margin:0 auto;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
}
.ct-wrap *{box-sizing:border-box;}
.ct-header{
  display:flex; align-items:center; gap:16px; margin-bottom:20px;
  border-bottom:2px solid var(--ct-line); padding-bottom:16px;
}
.ct-plate{
  font-weight:700; font-size:12px; letter-spacing:2px; color:var(--ct-bg);
  background:var(--ct-yellow); padding:5px 10px; border-radius:3px; transform:rotate(-2deg);
}
.ct-header h2{ font-weight:800; text-transform:uppercase; letter-spacing:1px; font-size:24px; margin:0; color:var(--ct-text); line-height:1.1; }
.ct-header p{ margin:4px 0 0; color:var(--ct-muted); font-size:13.5px; }

.ct-panel{ background:var(--ct-panel); border:1px solid var(--ct-line); border-radius:10px; padding:20px; }
.ct-field{ margin-bottom:14px; position:relative; }
.ct-field label{ display:block; font-size:13px; color:var(--ct-muted); margin-bottom:6px; }
.ct-wrap .ct-field input,
.ct-wrap .ct-field select,
.ct-wrap .ct-field textarea{
  width:100% !important;
  background:var(--ct-panel-2) !important;
  border:1px solid var(--ct-line) !important;
  color:var(--ct-text) !important;
  font-size:15px !important;
  padding:10px 12px !important;
  border-radius:6px !important;
  outline:none !important;
  font-family:inherit !important;
  box-shadow:none !important;
  -webkit-text-fill-color:var(--ct-text);
  appearance:auto;
}
.ct-wrap .ct-field input::placeholder,
.ct-wrap .ct-field textarea::placeholder{
  color:var(--ct-muted) !important;
  opacity:1;
}
.ct-wrap .ct-field select option{
  background:var(--ct-panel-2);
  color:var(--ct-text);
}
/* Evitar que el autocompletado del navegador ponga texto oscuro sobre fondo oscuro */
.ct-wrap .ct-field input:-webkit-autofill,
.ct-wrap .ct-field input:-webkit-autofill:hover,
.ct-wrap .ct-field input:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--ct-text) !important;
  -webkit-box-shadow:0 0 0 1000px var(--ct-panel-2) inset !important;
  caret-color:var(--ct-text);
}
.ct-field input:focus, .ct-field select:focus, .ct-field textarea:focus{ border-color:var(--ct-orange) !important; }
.ct-field select:disabled{ opacity:0.5; cursor:not-allowed; }
.ct-row2{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media (max-width:480px){ .ct-row2{ grid-template-columns:1fr; } }
.ct-field textarea{ resize:vertical; min-height:70px; }

#ct-submit-btn{
  width:100%; margin-top:4px; background:var(--ct-orange); color:#17181a; border:none;
  font-weight:800; text-transform:uppercase; letter-spacing:1px; font-size:15px;
  padding:13px; border-radius:8px; cursor:pointer;
}
#ct-submit-btn:hover{ background:#ff824f; }
#ct-submit-btn:disabled{ opacity:0.5; cursor:not-allowed; }

.ct-msg{ margin-top:14px; padding:11px 13px; border-radius:6px; font-size:14px; display:none; }
.ct-msg.ct-ok{ display:block; background:rgba(95,212,135,0.12); border-left:3px solid var(--ct-green); color:var(--ct-green); }
.ct-msg.ct-err{ display:block; background:rgba(255,92,92,0.12); border-left:3px solid var(--ct-red); color:var(--ct-red); }

.ct-hora-msg{ font-size:12px; margin-top:6px; min-height:14px; }
.ct-hora-msg.ct-hora-cerrado{ color:var(--ct-red); }

.ct-footer{ text-align:center; color:var(--ct-muted); font-size:12px; margin-top:16px; }

/* flatpickr — hacer que su input calce con el resto de los campos */
.ct-wrap .flatpickr-input{
  width:100% !important; background:var(--ct-panel-2) !important; border:1px solid var(--ct-line) !important; color:var(--ct-text) !important;
  font-size:15px !important; padding:10px 12px !important; border-radius:6px !important; outline:none !important; font-family:inherit !important;
  cursor:pointer; -webkit-text-fill-color:var(--ct-text);
}
.ct-wrap .flatpickr-input:focus{ border-color:var(--ct-orange) !important; }
