*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Segoe UI,Arial,sans-serif;color:#263449}body{background:#eef4fa;padding:28px}a{color:inherit}button,input{font:inherit}[hidden]{display:none!important}.access-shell{position:relative;max-width:1440px;min-height:790px;margin:auto;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 20px 70px #15365615}.wordmark{position:absolute;z-index:5;left:40px;top:32px;display:flex;gap:12px;align-items:center;text-decoration:none;color:white;transition:color .65s}.sun-mark{font-size:42px;color:#ffd278}.wordmark>span:last-child{font-size:19px;letter-spacing:2px;font-weight:800}.wordmark b{display:block;font-size:12px;letter-spacing:4px;margin-top:3px}.wordmark small{display:block;font-size:8px;letter-spacing:2px;margin-top:9px;opacity:.75}.form-track{position:relative;min-height:790px}.form-panel{width:50%;padding:155px 7% 100px;position:relative;margin-left:50%;animation:appear .6s ease both}.form-panel h1{font-size:36px;letter-spacing:-1.2px;margin:9px 0 12px;outline:none}.eyebrow{color:#3189e8;font-weight:700;letter-spacing:2px;font-size:10px}.intro{font-size:14px;color:#8190a3;line-height:1.7;margin:0 0 30px}label{display:block;font-size:12px;font-weight:600;margin:18px 4px 8px}.field{display:flex;align-items:center;gap:10px;border:1px solid #edf0f4;border-radius:28px;background:#f4f6f8;padding:0 18px;min-height:53px}.field:focus-within{border-color:#3297f7;box-shadow:0 0 0 3px #3297f71a}.field>span{color:#9ba8b7;font-weight:700}input{border:0;outline:0;background:transparent;min-width:0;width:100%;padding:14px 0;font-size:13px;color:#28384d}input::placeholder{color:#9ca6b3}.reveal{background:none;border:0;color:#386eaa;cursor:pointer;font-size:11px;padding:8px}.primary{display:flex;justify-content:center;gap:20px;border:0;border-radius:28px;background:#318df0;color:white;padding:17px 22px;min-width:195px;margin:27px auto 0;font-size:11px;font-weight:700;letter-spacing:.6px;cursor:pointer;box-shadow:0 8px 18px #318df02b;transition:background .2s,transform .2s}.primary:hover{background:#1874d6;transform:translateY(-2px)}.primary:disabled{opacity:.65}.help{font-size:12px;color:#7a8b9e;text-align:center;line-height:1.7;margin:24px 0}.help summary{cursor:pointer}.secure{color:#a4afbd;font-size:10px;text-align:center;margin-top:34px}.welcome-panel{position:absolute;left:0;top:0;width:50%;height:100%;background:linear-gradient(135deg,#2587ed,#179ef5);color:white;border-radius:0 0 95% 0 / 0 0 70% 0;transform:translateX(0);transition:transform .85s cubic-bezier(.65,0,.25,1),border-radius .85s;display:flex;flex-direction:column;align-items:center;padding:168px 35px 65px;overflow:hidden}.welcome-copy{text-align:center;z-index:1;animation:appear .55s ease both}.pill{font-size:9px;font-weight:600;letter-spacing:2px;color:#d3eeff}.welcome-copy h2{font-size:26px;margin:20px 0 12px}.welcome-copy p{font-size:13px;line-height:1.9;color:#e9f5ff}.outline{display:inline-block;padding:12px 28px;margin-top:10px;border:1px solid #ffffffc9;border-radius:24px;color:white;text-decoration:none;font-size:10px;font-weight:700;transition:background .2s}.outline:hover{background:#ffffff24}.welcome-foot{position:absolute;bottom:76px;font-size:8px;letter-spacing:2px;opacity:.7}.is-register .welcome-panel{transform:translateX(100%);border-radius:0 0 0 95% / 0 0 0 70%}.is-register .wordmark{color:#263c59}.register-panel{margin-left:0;padding-top:153px}.register-panel .intro{margin-bottom:12px}.register-panel label{margin-top:13px}.register-panel .primary{margin-top:20px}.approval{font-size:11px;line-height:1.6;color:#8594a7;text-align:center}form>small{font-size:10px;color:#8b98a8;display:block;margin:8px 6px}.message{padding:12px 15px;border-radius:12px;font-size:12px;line-height:1.6;background:#eaf3ff;margin-bottom:14px}.error{background:#fff0ef;color:#a62c30}.success{background:#e9f7f1;color:#24684b}footer{position:absolute;bottom:24px;left:32px;right:32px;z-index:3;font-size:9px;color:#5f7a98;display:flex;justify-content:space-between}footer span{color:#98a7b8}.mobile-switch{display:none}.illustration{position:relative;width:300px;height:215px;margin:38px 0 0;flex-shrink:0}.screen{position:absolute;left:65px;top:42px;width:190px;height:125px;border:9px solid #234677;background:#f5faff;border-radius:10px;transform:rotate(-4deg);box-shadow:10px 10px 0 #176cc52a}.screen-head{height:15px;background:#e4eaf5;display:flex;gap:4px;align-items:center;padding-left:6px}.screen-head b{height:4px;width:4px;background:#9eadd0;border-radius:50%}.screen-content{display:flex;align-items:center;justify-content:space-evenly;height:72px}.check{border:5px solid #349afb;border-radius:50%;color:#349afb;font-size:24px;width:45px;height:45px;text-align:center}.chart{display:flex;align-items:end;gap:7px;height:45px}.chart i{width:11px;background:#88bdf8;border-radius:3px;height:24px}.chart i:nth-child(2){height:36px}.chart i:nth-child(3){height:30px}.chart i:nth-child(4){height:45px;background:#ffbb62}.screen-line{width:100px;height:4px;background:#dbe4f2;margin:auto}.stand{position:absolute;left:140px;top:163px;width:35px;height:25px;background:#224a7c}.desk{position:absolute;left:36px;top:187px;width:244px;height:8px;background:#d0e7ff;border-radius:5px}.floating-doc{position:absolute;top:18px;left:22px;background:white;width:64px;height:81px;border-radius:8px;z-index:2;transform:rotate(-12deg);box-shadow:0 10px 25px #1264ad30;padding:12px}.floating-doc span{display:block;color:#3697ef}.floating-doc i{display:block;height:3px;background:#cbdcf0;margin-top:8px}.floating-badge{position:absolute;bottom:4px;right:0;background:#fff;border-radius:25px;color:#3091db;padding:12px;font-size:13px;box-shadow:0 8px 25px #166dc032}.floating-badge span{font-size:9px;color:#497093;margin-left:5px}.orbit{position:absolute;border:1px solid #ffffff25;border-radius:50%;width:210px;height:210px;left:43px;top:0}.orbit-two{width:260px;height:260px;left:18px;top:-25px}.is-register .screen{transform:rotate(4deg);transition:transform .8s}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ffbf62;outline-offset:4px}@keyframes appear{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@media(min-width:1450px){body{padding-top:5vh}}@media(max-width:850px){body{padding:0}.access-shell{border-radius:0;min-height:100vh}.wordmark{left:25px;top:25px}.wordmark>span:last-child{font-size:16px}.welcome-panel{padding-left:18px;padding-right:18px}.welcome-copy h2{font-size:22px}.welcome-copy p{font-size:12px}.form-panel{padding-left:5%;padding-right:5%}.illustration{transform:scale(.85)}}
@media(max-width:620px){.access-shell{padding-bottom:55px}.wordmark{position:relative;top:auto;left:auto;margin:25px;color:#263c59}.form-track{min-height:0}.form-panel,.register-panel{width:100%;margin:0;padding:38px 30px 35px}.form-panel h1{font-size:32px}.welcome-panel{display:none}.mobile-switch{display:block;text-align:center;font-size:13px;margin-top:25px;color:#227ddd}.secure{margin-top:20px}footer{position:relative;left:auto;right:auto;bottom:auto;margin:15px 25px 0;gap:10px;flex-wrap:wrap}.form-panel{animation-duration:.4s}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.wide-register{width:min(720px,94vw)} .wide-register form{max-height:65vh;overflow:auto;padding-right:8px} .registration-grid small{font-size:11px;color:#74829a}


/* V7.3 - supplier self-registration call to action */
.supplier-register-box{margin:26px 0 0;border:1px solid #dce9f7;background:linear-gradient(135deg,#f8fbff,#eef7ff);border-radius:18px;padding:17px 18px;display:grid;grid-template-columns:40px 1fr;gap:10px 13px;align-items:center;box-shadow:0 10px 28px #2f8ef012}
.supplier-register-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#e0f0ff;color:#2085e8;font-size:20px;font-weight:800}
.supplier-register-copy{min-width:0}.supplier-register-copy strong{display:block;color:#26384d;font-size:13px;margin-bottom:5px}.supplier-register-copy span{display:block;color:#71839a;font-size:11px;line-height:1.55}
.supplier-register-cta{grid-column:1/-1;text-decoration:none;display:flex;align-items:center;justify-content:center;min-height:43px;border-radius:12px;background:#173e5c;color:#fff!important;font-size:10px;font-weight:800;letter-spacing:.6px;box-shadow:0 7px 16px #173e5c20;transition:transform .18s,background .18s}
.supplier-register-cta:hover{background:#0f6fb8;transform:translateY(-1px)}
.admin-register-link{text-align:center;color:#8b98a8;font-size:10px;margin-top:14px}.admin-register-link a{color:#4c739c}
.welcome-register-cta{margin-top:20px;background:#ffffff12}.welcome-register-cta:hover{background:#ffffff2b}
@media(max-width:620px){.supplier-register-box{margin-top:20px;padding:15px}.supplier-register-copy strong{font-size:12px}.supplier-register-copy span{font-size:10px}}

/* V7.4 - FIX registro de proveedor visible en panel derecho */
.register-panel{
  margin-left:50%;
  width:50%;
  padding:92px 5% 70px;
  min-height:790px;
  max-height:790px;
  overflow-y:auto;
  background:#fff;
}
.wide-register{
  width:50%!important;
  max-width:none!important;
}
.wide-register form{
  max-height:none;
  overflow:visible;
  padding-right:0;
}
.registration-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px 16px;
  margin-top:10px;
}
.registration-grid label{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin:0;
  font-size:11px;
  color:#34475e;
  font-weight:700;
}
.registration-grid .full{grid-column:1/-1}
.registration-grid input,
.registration-grid select{
  display:block;
  width:100%;
  min-height:44px;
  border:1px solid #d5dfeb;
  border-radius:10px;
  padding:10px 12px;
  background:#fff;
  color:#26384d;
  outline:none;
  font-size:12px;
}
.registration-grid select[multiple]{
  min-height:148px;
  padding:7px;
}
.registration-grid input:focus,
.registration-grid select:focus{
  border-color:#318df0;
  box-shadow:0 0 0 3px #318df01a;
}
.registration-grid small{
  display:block;
  font-size:10px;
  color:#74829a;
  line-height:1.45;
  font-weight:400;
}
.register-panel .primary{margin-top:22px}
.register-panel .help{margin:18px 0 0}
.register-panel h1{margin-top:8px}
.register-panel .intro{margin-bottom:18px}
@media(max-width:900px){
  .registration-grid{grid-template-columns:1fr}
  .registration-grid .full{grid-column:auto}
}
@media(max-width:620px){
  .register-panel,.wide-register{
    margin-left:0!important;
    width:100%!important;
    min-height:auto;
    max-height:none;
    overflow:visible;
    padding:34px 28px 40px;
  }
}
