/* ========================================================================== */
/* School Bus App — Cadastro premium do transportador                         */
/* Tela completa; o ID legado é preservado para compatibilidade funcional       */
/* ========================================================================== */

#transportador-signup-modal{
  --su-orange:#f58220;
  --su-orange-strong:#df6810;
  --su-orange-deep:#a94708;
  --su-orange-soft:#fff4e8;
  --su-ink:#211a15;
  --su-text:#493c32;
  --su-muted:#817267;
  --su-line:rgba(105,72,45,.14);
  --su-surface:#ffffff;
  --su-surface-soft:#fffaf6;
  --su-bg:#f7f3ef;
  --su-green:#159a5b;
  --su-shadow:0 24px 70px rgba(58,37,20,.14);
  --su-shadow-soft:0 14px 34px rgba(58,37,20,.08);
  display:none;
  position:fixed;
  inset:0;
  z-index:99999;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  background:#fff;
  color:var(--su-ink);
  font-family:Inter,Poppins,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  padding:0!important;
  margin:0!important;
  width:100vw!important;
  max-width:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

html.transportador-signup-page-open,
body.transportador-signup-page-open{
  overflow:hidden!important;
  background:#fff!important;
}
body.transportador-signup-page-open #login-wrap{
  display:none!important;
}

#transportador-signup-modal *{box-sizing:border-box}
#transportador-signup-modal button,
#transportador-signup-modal input,
#transportador-signup-modal select,
#transportador-signup-modal textarea{font:inherit}
#transportador-signup-modal svg{display:block}

#transportador-signup-shell{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:100svh;
  width:100%;
  padding-bottom:env(safe-area-inset-bottom);
  background:#fff;
  max-width:none!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}

/* Topbar */
#transportador-signup-modal .tr-iframe-header{
  position:sticky;
  top:0;
  z-index:80;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:74px;
  padding:calc(10px + env(safe-area-inset-top)) clamp(18px,4vw,42px) 10px;
  background:rgba(255,252,249,.91);
  border-bottom:1px solid rgba(115,78,45,.12);
  box-shadow:0 8px 28px rgba(65,42,22,.06);
  backdrop-filter:blur(22px) saturate(145%);
  -webkit-backdrop-filter:blur(22px) saturate(145%);
}

#transportador-signup-modal .signup-header-brand,
#transportador-signup-modal .signup-header-copy,
#transportador-signup-modal .tr-iframe-actions,
#transportador-signup-modal .signup-secure-badge,
#transportador-signup-modal .signup-close-btn{
  display:flex;
  align-items:center;
}

#transportador-signup-modal .signup-header-brand{gap:11px;min-width:0}
#transportador-signup-modal .signup-header-logo{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:15px;
  background:linear-gradient(145deg,#ffac3f 0%,var(--su-orange) 62%,#df6810 100%);
  box-shadow:0 10px 24px rgba(245,130,32,.26),inset 0 1px 0 rgba(255,255,255,.42);
}
#transportador-signup-modal .signup-header-logo img{width:29px;height:29px;object-fit:contain;filter:drop-shadow(0 3px 4px rgba(98,43,3,.16))}
#transportador-signup-modal .signup-header-copy{align-items:flex-start;flex-direction:column;line-height:1.15;min-width:0}
#transportador-signup-modal .signup-header-copy strong{font-size:14px;font-weight:900;letter-spacing:-.02em;color:var(--su-ink)}
#transportador-signup-modal .signup-header-copy small{margin-top:4px;font-size:11px;font-weight:700;color:var(--su-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:55vw}
#transportador-signup-modal .tr-iframe-actions{gap:10px}
#transportador-signup-modal .signup-secure-badge{
  gap:7px;
  min-height:38px;
  padding:0 12px;
  border:1px solid rgba(21,154,91,.15);
  border-radius:13px;
  background:rgba(235,250,242,.8);
  color:#157a4b;
  font-size:11px;
  font-weight:850;
  white-space:nowrap;
}
#transportador-signup-modal .signup-secure-badge svg{width:16px;height:16px}
#transportador-signup-modal .signup-close-btn{
  justify-content:center;
  gap:7px;
  min-height:40px;
  padding:0 13px;
  border:1px solid var(--su-line)!important;
  border-radius:13px!important;
  background:#fff!important;
  color:#65564b!important;
  box-shadow:0 5px 14px rgba(55,37,22,.05)!important;
  font-size:12px!important;
  font-weight:850!important;
}
#transportador-signup-modal .signup-close-btn svg{width:17px;height:17px}
#transportador-signup-modal .signup-close-btn:active{transform:scale(.98)}

/* Shared containers */
#transportador-signup-modal .container-cover,
#transportador-signup-modal .container-wizard{
  flex:none;
  width:100%;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:#fff;
  box-shadow:none;
  overflow:hidden;
}

/* Cover */
#transportador-signup-modal .container-cover{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(430px,.98fr);min-height:calc(100svh - 74px)}
#transportador-signup-modal .signup-cover-hero{
  position:relative;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  min-height:calc(100svh - 74px);
  padding:clamp(34px,5vw,64px);
  overflow:hidden;
  color:#fff;
  background:
    linear-gradient(155deg,rgba(255,178,69,.92) 0%,rgba(245,130,32,.98) 43%,rgba(218,91,7,.99) 100%);
}
#transportador-signup-modal .signup-cover-hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-3;
  background:
    linear-gradient(130deg,rgba(255,255,255,.16) 0%,transparent 35%),
    radial-gradient(circle at 80% 13%,rgba(255,255,255,.23),transparent 29%);
}
#transportador-signup-modal .signup-cover-glow{position:absolute;z-index:-2;border-radius:50%;filter:blur(1px);pointer-events:none}
#transportador-signup-modal .signup-cover-glow-a{width:340px;height:340px;right:-110px;top:-90px;background:rgba(255,226,182,.16)}
#transportador-signup-modal .signup-cover-glow-b{width:260px;height:260px;left:-100px;bottom:90px;background:rgba(133,48,0,.10)}
#transportador-signup-modal .signup-cover-route{position:absolute;z-index:-1;left:-25px;right:-25px;bottom:135px;height:245px;opacity:.48}
#transportador-signup-modal .signup-cover-route svg{width:100%;height:100%}
#transportador-signup-modal .signup-cover-route path{fill:none;stroke:rgba(255,255,255,.68);stroke-width:3;stroke-linecap:round;stroke-dasharray:7 11}
#transportador-signup-modal .signup-cover-brandline{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:900;letter-spacing:.01em}
#transportador-signup-modal .signup-cover-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:15px;background:rgba(255,255,255,.19);border:1px solid rgba(255,255,255,.24);box-shadow:inset 0 1px 0 rgba(255,255,255,.22)}
#transportador-signup-modal .signup-cover-mark img{width:28px;height:28px;object-fit:contain}
#transportador-signup-modal .signup-cover-copy{position:relative;z-index:2;margin-top:clamp(62px,9vh,100px);max-width:560px}
#transportador-signup-modal .signup-eyebrow,
#transportador-signup-modal .signup-section-label{
  display:inline-flex;
  align-items:center;
  width:max-content;
  color:inherit;
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
#transportador-signup-modal .signup-cover-copy .signup-eyebrow{padding:8px 12px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.13)}
#transportador-signup-modal .signup-cover-copy h1{margin:18px 0 0;max-width:9.6ch;color:#fff;font-size:clamp(42px,5.2vw,68px);line-height:.98;letter-spacing:-.065em;font-weight:950;text-wrap:balance}
#transportador-signup-modal .signup-cover-copy p{margin:22px 0 0;max-width:520px;color:rgba(255,255,255,.91);font-size:clamp(14px,1.5vw,18px);line-height:1.55;font-weight:650}
#transportador-signup-modal .signup-cover-trust{position:relative;z-index:2;display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:30px}
#transportador-signup-modal .signup-cover-trust span{display:flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:rgba(110,39,0,.14);border:1px solid rgba(255,255,255,.17);color:rgba(255,255,255,.94);font-size:10px;font-weight:850}
#transportador-signup-modal .signup-cover-trust svg{width:15px;height:15px}

#transportador-signup-modal .signup-cover-content{display:flex;flex-direction:column;padding:clamp(32px,4vw,55px);background:linear-gradient(180deg,#fff 0%,#fffaf6 100%)}
#transportador-signup-modal .signup-cover-intro .signup-section-label,
#transportador-signup-modal .signup-success-card .signup-section-label,
#transportador-signup-modal .signup-contract-modal .signup-section-label{color:var(--su-orange-strong)}
#transportador-signup-modal .signup-cover-intro h2{margin:10px 0 0;color:var(--su-ink);font-size:clamp(28px,3.4vw,42px);line-height:1.04;letter-spacing:-.05em;font-weight:950;text-wrap:balance}
#transportador-signup-modal .signup-cover-intro p{margin:15px 0 0;color:var(--su-muted);font-size:14px;line-height:1.65;font-weight:620}
#transportador-signup-modal .signup-benefits-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:26px}
#transportador-signup-modal .signup-benefit-card{display:flex;align-items:flex-start;gap:12px;min-height:120px;padding:17px;border:1px solid var(--su-line);border-radius:22px;background:#fff;box-shadow:0 10px 26px rgba(58,37,20,.045)}
#transportador-signup-modal .signup-benefit-icon,
#transportador-signup-modal .signup-panel-icon,
#transportador-signup-modal .signup-service-icon{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:15px;background:var(--su-orange-soft);color:var(--su-orange-strong)}
#transportador-signup-modal .signup-benefit-icon svg,
#transportador-signup-modal .signup-panel-icon svg,
#transportador-signup-modal .signup-service-icon svg{width:21px;height:21px}
#transportador-signup-modal .signup-benefit-card div{display:flex;flex-direction:column;gap:6px;min-width:0}
#transportador-signup-modal .signup-benefit-card strong{color:var(--su-ink);font-size:13px;line-height:1.25;font-weight:900}
#transportador-signup-modal .signup-benefit-card span:last-child{color:var(--su-muted);font-size:11px;line-height:1.48;font-weight:620}
#transportador-signup-modal .signup-whatsapp-highlight{display:flex;align-items:center;gap:13px;margin-top:14px;padding:16px 18px;border:1px solid rgba(21,154,91,.18);border-radius:20px;background:linear-gradient(135deg,#effbf5 0%,#f9fffc 100%)}
#transportador-signup-modal .signup-whatsapp-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:15px;background:#dcf7e9;color:#11834e}
#transportador-signup-modal .signup-whatsapp-icon svg{width:22px;height:22px}
#transportador-signup-modal .signup-whatsapp-highlight div{display:flex;flex-direction:column;gap:3px}
#transportador-signup-modal .signup-whatsapp-highlight strong{color:#11633e;font-size:13px;font-weight:900}
#transportador-signup-modal .signup-whatsapp-highlight span:last-child{color:#47705e;font-size:11px;line-height:1.45;font-weight:650}
#transportador-signup-modal .signup-cover-action{display:flex;align-items:center;gap:18px;margin-top:auto;padding-top:28px}
#transportador-signup-modal .signup-cover-time{display:flex;align-items:flex-start;gap:9px;flex:1;color:var(--su-muted);font-size:11px;line-height:1.5;font-weight:650}
#transportador-signup-modal .signup-cover-time svg{flex:0 0 18px;width:18px;height:18px;color:var(--su-orange-strong)}
#transportador-signup-modal .signup-cover-time strong{color:var(--su-text)}

/* Buttons */
#transportador-signup-modal #start-btn,
#transportador-signup-modal #next-btn,
#transportador-signup-modal #success-close-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:56px;
  border:0!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,#ff9d2f 0%,var(--su-orange) 55%,#df6810 100%)!important;
  color:#fff!important;
  box-shadow:0 16px 30px rgba(245,130,32,.28),inset 0 1px 0 rgba(255,255,255,.35)!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:-.01em;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
#transportador-signup-modal #start-btn{min-width:220px;padding:0 22px!important}
#transportador-signup-modal #start-btn svg,
#transportador-signup-modal #next-btn svg,
#transportador-signup-modal #prev-btn svg,
#transportador-signup-modal .btn-preview-minuta svg,
#transportador-signup-modal #add-school-btn svg{width:19px;height:19px;flex:0 0 auto}
#transportador-signup-modal #start-btn:hover,
#transportador-signup-modal #next-btn:hover,
#transportador-signup-modal #success-close-btn:hover{filter:saturate(1.06);box-shadow:0 19px 36px rgba(245,130,32,.34),inset 0 1px 0 rgba(255,255,255,.35)!important;transform:translateY(-1px)}
#transportador-signup-modal #start-btn:active,
#transportador-signup-modal #next-btn:active,
#transportador-signup-modal #success-close-btn:active{transform:translateY(1px) scale(.995)}

/* Wizard hero */
#transportador-signup-modal .container-wizard{background:linear-gradient(180deg,#fff 0%,#fffaf6 100%)}
#transportador-signup-modal .signup-wizard-hero{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:30px;min-height:245px;padding:clamp(32px,5vw,54px) clamp(28px,5vw,58px) 74px;overflow:hidden;color:#fff;background:linear-gradient(145deg,#ff9e2f 0%,var(--su-orange) 47%,#dd650e 100%)}
#transportador-signup-modal .signup-wizard-hero:before{content:"";position:absolute;width:420px;height:420px;right:-150px;top:-180px;border-radius:50%;background:rgba(255,255,255,.13)}
#transportador-signup-modal .signup-wizard-hero:after{content:"";position:absolute;width:250px;height:250px;left:30%;bottom:-210px;border-radius:50%;background:rgba(122,43,0,.12)}
#transportador-signup-modal .signup-wizard-hero-copy{position:relative;z-index:2;max-width:680px}
#transportador-signup-modal .signup-wizard-hero-copy .signup-eyebrow{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2)}
#transportador-signup-modal .signup-wizard-hero h1{margin:13px 0 0;color:#fff;font-size:clamp(34px,5vw,54px);line-height:1;letter-spacing:-.06em;font-weight:950}
#transportador-signup-modal .signup-wizard-hero p{margin:12px 0 0;max-width:620px;color:rgba(255,255,255,.9);font-size:14px;line-height:1.55;font-weight:650}
#transportador-signup-modal .signup-wizard-hero-visual{position:relative;z-index:2;display:grid;place-items:center;flex:0 0 150px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.2);box-shadow:0 30px 55px rgba(109,38,0,.18),inset 0 1px 0 rgba(255,255,255,.22)}
#transportador-signup-modal .signup-wizard-hero-visual img{width:105px;height:105px;object-fit:contain;filter:drop-shadow(0 14px 12px rgba(91,31,0,.2))}
#transportador-signup-modal .signup-wizard-shield{position:absolute;top:-4px;right:-4px;display:grid;place-items:center;width:42px;height:42px;border-radius:15px;background:#fff;color:var(--su-orange-strong);box-shadow:0 12px 24px rgba(97,34,0,.18)}
#transportador-signup-modal .signup-wizard-shield svg{width:21px;height:21px}

/* Progress */
#transportador-signup-modal .signup-progress{position:relative;z-index:8;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:-46px clamp(22px,5vw,58px) 28px;padding:13px;border:1px solid var(--su-line);border-radius:25px;background:rgba(255,255,255,.96);box-shadow:0 18px 44px rgba(62,40,22,.12),inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}
#transportador-signup-modal .signup-progress-step{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;min-height:64px;padding:7px 10px;border-radius:17px;color:var(--su-muted);transition:background .2s ease,color .2s ease}
#transportador-signup-modal .signup-progress-step:not(:last-child):after{content:"";position:absolute;right:-5px;top:50%;width:10px;height:1px;background:var(--su-line)}
#transportador-signup-modal .signup-progress-step>span{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:15px;background:#f4efe9;border:1px solid rgba(104,72,46,.08);color:#8b7a6d;transition:all .2s ease}
#transportador-signup-modal .signup-progress-step svg{width:20px;height:20px}
#transportador-signup-modal .signup-progress-step strong{align-self:end;color:inherit;font-size:11px;line-height:1.1;font-weight:900}
#transportador-signup-modal .signup-progress-step small{align-self:start;margin-top:3px;color:#a0948b;font-size:8.5px;line-height:1.1;font-weight:700}
#transportador-signup-modal .signup-progress-step.is-active{background:var(--su-orange-soft);color:var(--su-orange-deep)}
#transportador-signup-modal .signup-progress-step.is-active>span,
#transportador-signup-modal .signup-progress-step.is-done>span{background:linear-gradient(145deg,#ff9e2f,var(--su-orange));border-color:transparent;color:#fff;box-shadow:0 10px 22px rgba(245,130,32,.24)}
#transportador-signup-modal .signup-progress-step.is-done{color:#b65b17}

/* Steps */
#transportador-signup-modal .signup-step-area{width:min(1120px,100%);margin:0 auto;padding:0 clamp(22px,5vw,58px)}
#transportador-signup-modal .form-step{display:none;margin:0;padding:0;border:0;background:transparent;box-shadow:none}
#transportador-signup-modal .form-step.active{display:block;animation:signupStepIn .28s ease both}
@keyframes signupStepIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
#transportador-signup-modal .signup-step-heading{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px}
#transportador-signup-modal .signup-step-number{display:grid;place-items:center;flex:0 0 50px;width:50px;height:50px;border-radius:17px;background:var(--su-orange-soft);border:1px solid rgba(245,130,32,.14);color:var(--su-orange-strong);font-size:13px;font-weight:950;letter-spacing:.04em}
#transportador-signup-modal .signup-step-heading>div{min-width:0}
#transportador-signup-modal .step-title{display:block;margin:0;padding:0;border:0;color:var(--su-ink);font-size:clamp(24px,3.2vw,34px);line-height:1.08;letter-spacing:-.045em;font-weight:950}
#transportador-signup-modal .step-title:before,
#transportador-signup-modal .step-title:after{display:none!important}
#transportador-signup-modal .signup-step-heading p{margin:8px 0 0;color:var(--su-muted);font-size:13px;line-height:1.55;font-weight:620}

/* Panels */
#transportador-signup-modal .signup-form-panel,
#transportador-signup-modal .signup-legal-config{margin:0 0 14px;padding:clamp(18px,3vw,25px);border:1px solid var(--su-line);border-radius:25px;background:rgba(255,255,255,.96);box-shadow:var(--su-shadow-soft),inset 0 1px 0 rgba(255,255,255,.9)}
#transportador-signup-modal .signup-form-panel.access-section{background:linear-gradient(145deg,#fffaf5 0%,#fff 100%);border-color:rgba(245,130,32,.17)}
#transportador-signup-modal .signup-panel-heading{display:flex;align-items:center;gap:12px;margin-bottom:19px}
#transportador-signup-modal .signup-panel-heading>div{display:flex;flex-direction:column;gap:3px;min-width:0}
#transportador-signup-modal .signup-panel-heading strong{color:var(--su-ink);font-size:14px;line-height:1.2;font-weight:900;letter-spacing:-.015em}
#transportador-signup-modal .signup-panel-heading small{color:var(--su-muted);font-size:10.5px;line-height:1.35;font-weight:650}
#transportador-signup-modal .signup-panel-icon{width:44px;height:44px;border-radius:16px}
#transportador-signup-modal .signup-whatsapp-panel-icon{background:#e5f8ee;color:#11834e}

/* Bootstrap reset within modal */
#transportador-signup-modal .row{display:flex;flex-wrap:wrap;gap:0;margin-top:calc(-1 * var(--bs-gutter-y,1rem));margin-right:calc(-.5 * var(--bs-gutter-x,1rem));margin-left:calc(-.5 * var(--bs-gutter-x,1rem))}
#transportador-signup-modal .row>*{min-width:0;padding-right:calc(var(--bs-gutter-x,1rem) * .5);padding-left:calc(var(--bs-gutter-x,1rem) * .5);margin-top:var(--bs-gutter-y,1rem)}
#transportador-signup-modal .col-12{width:100%!important}
#transportador-signup-modal .col-md-3{width:25%}
#transportador-signup-modal .col-md-4{width:33.333333%}
#transportador-signup-modal .col-md-5{width:41.666667%}
#transportador-signup-modal .col-md-6{width:50%}
#transportador-signup-modal .col-md-7{width:58.333333%}
#transportador-signup-modal .col-md-8{width:66.666667%}
#transportador-signup-modal .col-md-9{width:75%}

/* Inputs */
#transportador-signup-modal .form-label{display:flex;align-items:center;gap:6px;margin:0 0 7px;color:#514237;font-size:11px;font-weight:850;letter-spacing:.005em}
#transportador-signup-modal .signup-label-hint{padding:3px 6px;border-radius:999px;background:#f1ece7;color:#8b7d72;font-size:8px;font-weight:800}
#transportador-signup-modal .form-control,
#transportador-signup-modal .form-select{
  width:100%;
  min-height:53px;
  padding:0 15px;
  border:1px solid rgba(103,72,47,.16)!important;
  border-radius:17px!important;
  outline:0;
  background:#fffaf6!important;
  color:var(--su-ink)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;
  font-size:12.5px;
  font-weight:680;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
#transportador-signup-modal .form-select{padding-right:40px}
#transportador-signup-modal textarea.form-control{min-height:128px;padding:14px 15px;line-height:1.55;resize:vertical}
#transportador-signup-modal .form-control::placeholder{color:#b0a49a;font-weight:550}
#transportador-signup-modal .form-control:focus,
#transportador-signup-modal .form-select:focus{border-color:rgba(245,130,32,.62)!important;background:#fff!important;box-shadow:0 0 0 4px rgba(245,130,32,.10)!important}
#transportador-signup-modal .form-control:disabled,
#transportador-signup-modal .form-control[readonly]{background:#f2ede8!important;color:#75675d!important;opacity:1}
#transportador-signup-modal .signup-input-suffix,
#transportador-signup-modal .signup-input-prefix{position:relative;display:flex;align-items:center}
#transportador-signup-modal .signup-input-suffix>span{position:absolute;right:13px;color:#93857a;font-size:10px;font-weight:850;pointer-events:none}
#transportador-signup-modal .signup-input-suffix .form-control{padding-right:46px}
#transportador-signup-modal .signup-input-prefix>span{position:absolute;left:13px;color:#93857a;font-size:10px;font-weight:850;pointer-events:none}
#transportador-signup-modal .signup-input-prefix .form-control{padding-left:38px}

/* Switches */
#transportador-signup-modal .signup-toggle-card,
#transportador-signup-modal .signup-service-card{display:flex;align-items:center;gap:14px;width:100%;margin:0;padding:15px 16px;border:1px solid var(--su-line);border-radius:19px;background:#fffaf6;cursor:pointer}
#transportador-signup-modal .signup-toggle-copy{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
#transportador-signup-modal .signup-toggle-copy strong{color:var(--su-text);font-size:12px;line-height:1.3;font-weight:900}
#transportador-signup-modal .signup-toggle-copy small{color:var(--su-muted);font-size:10px;line-height:1.42;font-weight:620}
#transportador-signup-modal .signup-toggle-card .form-check,
#transportador-signup-modal .signup-service-card .form-check{flex:0 0 auto;margin:0;padding:0;min-height:0}
#transportador-signup-modal .form-switch .form-check-input{float:none;margin:0;width:48px;height:28px;border:0!important;border-radius:999px!important;background-color:#ded5cd;background-position:left center;box-shadow:inset 0 1px 4px rgba(57,39,24,.12);cursor:pointer}
#transportador-signup-modal .form-switch .form-check-input:checked{background-color:var(--su-orange);box-shadow:0 6px 14px rgba(245,130,32,.25)}
#transportador-signup-modal .form-check-input:focus{box-shadow:0 0 0 4px rgba(245,130,32,.11)!important}
#transportador-signup-modal .signup-conditional-fields{width:100%;margin-top:3px!important;padding:17px!important;border:1px dashed rgba(245,130,32,.23);border-radius:20px;background:#fffaf6}
#transportador-signup-modal #reg-field.signup-conditional-fields{margin-top:13px!important}

/* Schools */
#transportador-signup-modal #add-school-btn{display:flex;align-items:center;justify-content:center;gap:7px;min-height:53px;padding:0 14px;border:1px solid rgba(245,130,32,.2)!important;border-radius:17px!important;background:var(--su-orange-soft)!important;color:var(--su-orange-deep)!important;box-shadow:none!important;font-size:11px;font-weight:900}
#transportador-signup-modal .signup-school-list-shell{margin-top:18px;padding:17px;border:1px solid var(--su-line);border-radius:20px;background:#fbf8f5}
#transportador-signup-modal .signup-school-list-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:11px}
#transportador-signup-modal .signup-school-list-title span{color:var(--su-text);font-size:11px;font-weight:900}
#transportador-signup-modal .signup-school-list-title small{color:var(--su-muted);font-size:9px;font-weight:700}
#transportador-signup-modal #schools-list{display:grid;gap:8px;margin:0!important;padding:0;list-style:none}
#transportador-signup-modal #schools-list .list-group-item{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:12px 13px;border:1px solid rgba(102,72,48,.12);border-radius:15px;background:#fff;color:var(--su-text);font-size:11px;font-weight:820;box-shadow:0 5px 14px rgba(57,37,21,.035)}
#transportador-signup-modal #schools-list .list-group-item:before{content:"";display:block;flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--su-orange);box-shadow:0 0 0 4px var(--su-orange-soft)}
#transportador-signup-modal #schools-list .list-group-item button{display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;padding:0;border:1px solid rgba(196,59,43,.16);border-radius:11px;background:#fff2ef;color:#b73a2c;font-size:11px;font-weight:900}
#transportador-signup-modal .signup-school-empty{display:flex;align-items:center;justify-content:center;gap:8px;min-height:74px;color:#9a8d82;font-size:10px;font-weight:680;text-align:center}
#transportador-signup-modal .signup-school-empty svg{width:21px;height:21px;color:#bdafa4}
#transportador-signup-modal #schools-list:not(:empty)+.signup-school-empty{display:none}
#transportador-signup-modal .signup-information-note{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border:1px solid rgba(64,115,178,.14);border-radius:18px;background:#f3f8ff;color:#526a86;font-size:10.5px;line-height:1.5;font-weight:650}
#transportador-signup-modal .signup-information-note svg{flex:0 0 18px;width:18px;height:18px;color:#4b79ae}

/* Contract */
#transportador-signup-modal .signup-contract-options .card-option{position:relative;height:100%;min-height:230px;border:1px solid var(--su-line)!important;border-radius:23px!important;background:linear-gradient(180deg,#fff 0%,#fffaf6 100%)!important;box-shadow:0 12px 28px rgba(58,37,20,.06)!important;overflow:hidden;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
#transportador-signup-modal .signup-contract-options .card-option:hover{transform:translateY(-2px);border-color:rgba(245,130,32,.38)!important;box-shadow:0 17px 34px rgba(58,37,20,.1)!important}
#transportador-signup-modal .signup-contract-options .card-option.selected{border-color:var(--su-orange)!important;background:linear-gradient(180deg,#fff5e9 0%,#fff 100%)!important;box-shadow:0 18px 38px rgba(245,130,32,.14),inset 0 0 0 1px rgba(245,130,32,.1)!important}
#transportador-signup-modal .signup-contract-options .card-option.selected:after{content:"✓";position:absolute;top:16px;right:16px;display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--su-orange);color:#fff;font-size:13px;font-weight:950;box-shadow:0 8px 17px rgba(245,130,32,.26)}
#transportador-signup-modal .signup-contract-options .card-body{display:flex!important;flex-direction:column!important;align-items:flex-start!important;height:100%;padding:20px!important}
#transportador-signup-modal .signup-contract-card-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:16px;background:var(--su-orange-soft);color:var(--su-orange-strong)}
#transportador-signup-modal .signup-contract-card-icon svg{width:23px;height:23px}
#transportador-signup-modal .signup-contract-tag{margin-top:17px;padding:5px 8px;border-radius:999px;background:#f1ece7;color:#74675d;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
#transportador-signup-modal .signup-contract-options .card-title{margin:10px 0 0;color:var(--su-ink);font-size:17px;line-height:1.15;font-weight:950;letter-spacing:-.025em}
#transportador-signup-modal .signup-contract-options .card-text{margin:9px 0 18px;color:var(--su-muted);font-size:10.5px;line-height:1.52;font-weight:620}
#transportador-signup-modal .signup-contract-select{margin-top:auto;color:var(--su-orange-strong);font-size:10px;font-weight:900}
#transportador-signup-modal .signup-legal-config{margin-top:14px;background:linear-gradient(145deg,#fff9f3 0%,#fff 100%);border-color:rgba(245,130,32,.17)}
#transportador-signup-modal .signup-billing-grid{margin-top:3px!important}
#transportador-signup-modal .billing-help-note{display:flex;align-items:flex-start;gap:9px;padding:13px 14px;border:1px solid rgba(245,130,32,.18);border-radius:16px;background:#fff3e5;color:#76502b;font-size:9.8px;line-height:1.5;font-weight:650}
#transportador-signup-modal .billing-help-note svg{flex:0 0 17px;width:17px;height:17px;color:var(--su-orange-strong)}
#transportador-signup-modal .signup-contract-choice{display:flex;flex-direction:column}
#transportador-signup-modal .signup-contract-card-actions{margin-top:10px}
#transportador-signup-modal .signup-contract-card-actions[hidden]{display:none!important}
#transportador-signup-modal .btn-preview-minuta{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:50px;border:1px solid rgba(245,130,32,.24)!important;border-radius:16px!important;background:#fff7ed!important;color:var(--su-orange-deep)!important;box-shadow:none!important;font-size:11px;font-weight:900}
#transportador-signup-modal .btn-preview-minuta:active{transform:scale(.99)}

/* Services */
#transportador-signup-modal .signup-feature-panel{background:linear-gradient(145deg,#fff 0%,#fffaf6 100%)}
#transportador-signup-modal .signup-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
#transportador-signup-modal .signup-service-card{align-items:flex-start;min-height:142px;padding:16px;background:#fff}
#transportador-signup-modal .signup-service-card .signup-service-icon{width:39px;height:39px;border-radius:14px}
#transportador-signup-modal .signup-service-card .form-check{align-self:center}

/* Errors */
#transportador-signup-modal .signup-error-box{margin-top:12px!important;padding:12px 14px;border:1px solid rgba(192,48,40,.16);border-radius:15px;background:#fff2f1;color:#aa302a!important;font-size:10.5px;font-weight:750}

/* Bottom actions */
#transportador-signup-modal .button-group{position:sticky;bottom:0;z-index:30;display:flex;align-items:center;gap:12px;margin:24px 0 0;padding:16px clamp(22px,5vw,58px) calc(16px + env(safe-area-inset-bottom));border-top:1px solid rgba(110,76,48,.11);background:rgba(255,252,249,.92);box-shadow:0 -12px 34px rgba(58,37,20,.07);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
#transportador-signup-modal #prev-btn{display:flex;align-items:center;justify-content:center;gap:8px;flex:0 0 170px;min-height:54px;border:1px solid var(--su-line)!important;border-radius:17px!important;background:#fff!important;color:#67584d!important;box-shadow:none!important;font-size:11px;font-weight:900}
#transportador-signup-modal #next-btn{flex:1;min-height:54px;padding:0 22px!important}
#transportador-signup-modal .signup-lgpd-note{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 20px 24px;color:#96887e;font-size:9.5px;line-height:1.45;font-weight:680;text-align:center}
#transportador-signup-modal .signup-lgpd-note svg{width:16px;height:16px;flex:0 0 16px;color:#7f7167}

/* Contract modal */
#transportador-signup-modal .signup-contract-modal{z-index:10050}
#transportador-signup-modal .signup-contract-modal .modal-dialog{margin-top:calc(18px + env(safe-area-inset-top));margin-bottom:calc(18px + env(safe-area-inset-bottom))}
#transportador-signup-modal .signup-contract-modal .modal-content{border:1px solid var(--su-line);border-radius:26px;overflow:hidden;background:#fff;box-shadow:0 30px 90px rgba(34,23,15,.3)}
#transportador-signup-modal .signup-contract-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:19px 22px;border:0;background:linear-gradient(145deg,#fff8ef 0%,#fff 100%);color:var(--su-ink)}
#transportador-signup-modal .signup-contract-modal .modal-title{margin:5px 0 0;color:var(--su-ink);font-size:20px;font-weight:950;letter-spacing:-.03em}
#transportador-signup-modal .signup-contract-modal .modal-body{padding:24px;color:#302720;font-family:Georgia,"Times New Roman",serif;font-size:13px;line-height:1.65}
#transportador-signup-modal .signup-contract-modal .modal-footer{padding:14px 20px;border-top:1px solid var(--su-line);background:#fffaf6}
#transportador-signup-modal .signup-contract-modal .modal-footer .btn{min-height:44px;padding:0 17px;border:1px solid var(--su-line)!important;border-radius:14px!important;background:#fff!important;color:#65564b!important;font-size:11px;font-weight:850}

/* Loading and success */
#transportador-signup-modal #loading-overlay,
#transportador-signup-modal #success-overlay{position:fixed!important;inset:0!important;z-index:11000!important;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(34,25,18,.38)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
#transportador-signup-modal .signup-loading-card,
#transportador-signup-modal .signup-success-card{display:flex;flex-direction:column;align-items:center;width:min(430px,100%);padding:36px 28px;border:1px solid rgba(255,255,255,.7);border-radius:29px;background:rgba(255,255,255,.96);box-shadow:0 30px 80px rgba(37,25,17,.25);text-align:center}
#transportador-signup-modal .signup-loading-mark{display:grid;place-items:center;width:66px;height:66px;border-radius:22px;background:linear-gradient(145deg,#ffab3c,var(--su-orange));box-shadow:0 15px 30px rgba(245,130,32,.27)}
#transportador-signup-modal .signup-loading-mark img{width:45px;height:45px;object-fit:contain}
#transportador-signup-modal .signup-loading-spinner{width:34px;height:34px;margin:22px 0 15px;border:3px solid #eee4db;border-top-color:var(--su-orange);border-radius:50%;animation:signupSpin .85s linear infinite}
@keyframes signupSpin{to{transform:rotate(360deg)}}
#transportador-signup-modal .signup-loading-card strong{color:var(--su-ink);font-size:16px;font-weight:950;letter-spacing:-.02em}
#transportador-signup-modal .signup-loading-card span{margin-top:7px;color:var(--su-muted);font-size:10.5px;font-weight:650}
#transportador-signup-modal .signup-success-icon{display:grid;place-items:center;width:70px;height:70px;margin-bottom:18px;border-radius:24px;background:#e5f8ee;color:var(--su-green)}
#transportador-signup-modal .signup-success-icon svg{width:42px;height:42px}
#transportador-signup-modal .signup-success-card h2{margin:10px 0 0;color:var(--su-ink);font-size:30px;line-height:1.05;font-weight:950;letter-spacing:-.045em}
#transportador-signup-modal .signup-success-card p{margin:13px 0 23px;color:var(--su-muted);font-size:12px;line-height:1.6;font-weight:650}
#transportador-signup-modal #success-close-btn{width:100%;min-height:54px}

/* Responsive */
@media (max-width:980px){
  #transportador-signup-modal .container-cover{grid-template-columns:1fr;max-width:none}
  #transportador-signup-modal .signup-cover-hero{min-height:0}
  #transportador-signup-modal .signup-cover-copy{margin-top:52px}
  #transportador-signup-modal .signup-cover-copy h1{max-width:11ch}
}

@media (max-width:760px){
  #transportador-signup-modal .tr-iframe-header{min-height:66px;padding:calc(8px + env(safe-area-inset-top)) 13px 8px}
  #transportador-signup-modal .signup-header-logo{width:39px;height:39px;flex-basis:39px;border-radius:14px}
  #transportador-signup-modal .signup-header-logo img{width:27px;height:27px}
  #transportador-signup-modal .signup-header-copy small{max-width:48vw;font-size:9px}
  #transportador-signup-modal .signup-secure-badge{display:none}
  #transportador-signup-modal .signup-close-btn{width:40px;min-width:40px;padding:0!important}
  #transportador-signup-modal .signup-close-btn span{display:none}

  #transportador-signup-modal .container-cover,
  #transportador-signup-modal .container-wizard{width:100%;margin:0;border-radius:0}
  #transportador-signup-modal .signup-cover-hero{min-height:0;padding:27px 22px 30px}
  #transportador-signup-modal .signup-cover-copy{margin-top:38px}
  #transportador-signup-modal .signup-cover-copy h1{font-size:clamp(38px,11vw,52px);max-width:10ch}
  #transportador-signup-modal .signup-cover-copy p{max-width:100%;font-size:13px}
  #transportador-signup-modal .signup-cover-trust{margin-top:26px;padding-top:0}
  #transportador-signup-modal .signup-cover-content{padding:27px 20px}
  #transportador-signup-modal .signup-cover-intro h2{font-size:31px}
  #transportador-signup-modal .signup-benefits-grid{grid-template-columns:1fr;gap:9px;margin-top:21px}
  #transportador-signup-modal .signup-benefit-card{min-height:auto;padding:14px}
  #transportador-signup-modal .signup-cover-action{align-items:stretch;flex-direction:column;margin-top:22px;padding-top:0}
  #transportador-signup-modal #start-btn{width:100%;min-width:0}

  #transportador-signup-modal .signup-wizard-hero{min-height:220px;padding:27px 22px 64px}
  #transportador-signup-modal .signup-wizard-hero h1{font-size:38px;max-width:9ch}
  #transportador-signup-modal .signup-wizard-hero p{max-width:75%;font-size:11px}
  #transportador-signup-modal .signup-wizard-hero-visual{position:absolute;right:17px;bottom:42px;width:105px;height:105px;flex-basis:105px}
  #transportador-signup-modal .signup-wizard-hero-visual img{width:73px;height:73px}
  #transportador-signup-modal .signup-wizard-shield{width:34px;height:34px;border-radius:12px}
  #transportador-signup-modal .signup-wizard-shield svg{width:17px;height:17px}

  #transportador-signup-modal .signup-progress{margin:-41px 10px 20px;padding:8px;gap:4px;border-radius:21px}
  #transportador-signup-modal .signup-progress-step{display:flex;justify-content:center;min-height:51px;padding:5px;border-radius:15px}
  #transportador-signup-modal .signup-progress-step>span{width:37px;height:37px;border-radius:13px}
  #transportador-signup-modal .signup-progress-step strong,
  #transportador-signup-modal .signup-progress-step small{display:none}
  #transportador-signup-modal .signup-progress-step:not(:last-child):after{right:-3px;width:6px}

  #transportador-signup-modal .signup-step-area{padding:0 12px}
  #transportador-signup-modal .signup-step-heading{gap:11px;margin-bottom:15px;padding:0 3px}
  #transportador-signup-modal .signup-step-number{width:42px;height:42px;flex-basis:42px;border-radius:14px;font-size:11px}
  #transportador-signup-modal .step-title{font-size:25px}
  #transportador-signup-modal .signup-step-heading p{font-size:10.5px}
  #transportador-signup-modal .signup-form-panel,
  #transportador-signup-modal .signup-legal-config{padding:17px 14px;border-radius:22px}
  #transportador-signup-modal .signup-panel-heading{gap:10px;margin-bottom:15px}
  #transportador-signup-modal .signup-panel-icon{width:40px;height:40px;border-radius:14px}
  #transportador-signup-modal .signup-panel-heading strong{font-size:12.5px}
  #transportador-signup-modal .signup-panel-heading small{font-size:9px}
  #transportador-signup-modal .col-md-3,
  #transportador-signup-modal .col-md-4,
  #transportador-signup-modal .col-md-5,
  #transportador-signup-modal .col-md-6,
  #transportador-signup-modal .col-md-7,
  #transportador-signup-modal .col-md-8,
  #transportador-signup-modal .col-md-9{width:100%!important}
  #transportador-signup-modal .form-control,
  #transportador-signup-modal .form-select{min-height:51px;border-radius:16px!important;font-size:12px}
  #transportador-signup-modal textarea.form-control{min-height:136px}
  #transportador-signup-modal .signup-service-grid{grid-template-columns:1fr}
  #transportador-signup-modal .signup-service-card{min-height:auto}
  #transportador-signup-modal .signup-contract-options .card-option{min-height:210px}
  #transportador-signup-modal .signup-school-list-title{align-items:flex-start;flex-direction:column;gap:3px}

  #transportador-signup-modal .button-group{padding:12px 12px calc(12px + env(safe-area-inset-bottom));gap:9px}
  #transportador-signup-modal #prev-btn{flex:0 0 48px;width:48px;padding:0!important}
  #transportador-signup-modal #prev-btn span{display:none}
  #transportador-signup-modal #next-btn{min-width:0;padding:0 13px!important;font-size:11px!important}
  #transportador-signup-modal .signup-lgpd-note{padding:11px 17px 20px;font-size:8.8px}
  #transportador-signup-modal .signup-contract-modal .modal-dialog{margin:8px}
  #transportador-signup-modal .signup-contract-modal .modal-content{border-radius:22px}
  #transportador-signup-modal .signup-contract-modal .modal-body{padding:18px;font-size:12px}
}

@media (max-width:390px){
  #transportador-signup-modal .signup-header-copy strong{font-size:12px}
  #transportador-signup-modal .signup-cover-hero{min-height:0}
  #transportador-signup-modal .signup-cover-copy h1{font-size:36px}
  #transportador-signup-modal .signup-wizard-hero h1{font-size:34px}
  #transportador-signup-modal .signup-wizard-hero p{max-width:70%}
}

@media (prefers-reduced-motion:reduce){
  #transportador-signup-modal *,
  #transportador-signup-modal *:before,
  #transportador-signup-modal *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* ========================================================================== */
/* Correção 1.0.110 — cadastro como página real, nunca como modal             */
/* ========================================================================== */
html.transportador-signup-page-open,
body.transportador-signup-page-open{
  width:100%!important;
  min-width:100%!important;
  max-width:none!important;
  min-height:100%!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  background:#fff!important;
  overscroll-behavior-y:auto!important;
  -webkit-overflow-scrolling:touch;
}

/* Enquanto o cadastro está aberto, ele substitui integralmente a tela anterior. */
body.transportador-signup-page-open > :not(#transportador-signup-modal):not(script){
  display:none!important;
}

body.transportador-signup-page-open > #transportador-signup-modal{
  display:block!important;
}

#transportador-signup-modal{
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  width:100%!important;
  min-width:100%!important;
  max-width:none!important;
  min-height:100svh!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  overscroll-behavior:auto!important;
  background:#fff!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  transform:none!important;
  -webkit-transform:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

#transportador-signup-modal #transportador-signup-shell,
#transportador-signup-modal .container-cover,
#transportador-signup-modal .container-wizard{
  position:relative!important;
  width:100%!important;
  min-width:100%!important;
  max-width:none!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  transform:none!important;
  -webkit-transform:none!important;
}

#transportador-signup-modal #transportador-signup-shell{
  min-height:100svh!important;
  overflow:visible!important;
  background:#fff!important;
}

#transportador-signup-modal .container-cover,
#transportador-signup-modal .container-wizard{
  padding:0!important;
  overflow:hidden!important;
}

/* Evita que regras globais de modal/sheet ou do shell do app reduzam a página. */
body.transportador-signup-page-open #transportador-signup-modal,
body.transportador-signup-page-open #transportador-signup-shell,
body.transportador-signup-page-open #transportador-signup-modal .container-cover,
body.transportador-signup-page-open #transportador-signup-modal .container-wizard{
  flex-basis:auto!important;
  align-self:stretch!important;
  justify-self:stretch!important;
}

@supports (height:100dvh){
  #transportador-signup-modal,
  #transportador-signup-modal #transportador-signup-shell{
    min-height:100dvh!important;
  }
}
