
:root{
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:#173447;background:#edf3f6;
}
*{box-sizing:border-box}
body{margin:0;min-height:100vh}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
.shell{width:min(100%,760px);margin:auto;padding:16px}
.hero{
  min-height:420px;border-radius:24px;padding:28px;
  display:flex;flex-direction:column;justify-content:flex-end;
  color:white;background:
  linear-gradient(180deg,rgba(5,37,58,.12),rgba(5,37,58,.9)),
  url("/assets/hero-car.svg") center/cover no-repeat;
  box-shadow:0 18px 50px rgba(20,56,77,.15)
}
.hero h1{font-size:42px;line-height:1.03;margin:10px 0}
.hero p{font-size:18px;max-width:560px;margin:0 0 20px}
.brand{font-weight:900;letter-spacing:.08em;font-size:12px}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.btn{display:block;border:0;border-radius:14px;padding:15px;text-align:center;font-weight:900;cursor:pointer}
.btn-primary{background:#10b85a;color:white}
.btn-light{background:white;color:#15394f}
.btn-secondary{background:#dfe9ee;color:#1b4157}
.btn-danger{background:#ffe3df;color:#9b3026}
.card{background:white;border:1px solid #dce6eb;border-radius:18px;padding:20px;margin:15px 0;box-shadow:0 8px 25px rgba(22,58,79,.05)}
.card h2,.card h3{margin-top:0}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.full{grid-column:1/-1}
label{font-size:14px;font-weight:800;display:flex;flex-direction:column;gap:6px}
input,select,textarea{width:100%;border:1px solid #cbd8df;border-radius:11px;padding:13px;background:white}
textarea{min-height:120px;resize:vertical}
.message{text-align:center;font-weight:800}
.muted{color:#657985}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px}
.app-header{background:linear-gradient(135deg,#074669,#0876ad);color:white;border-radius:20px;padding:20px;margin-bottom:14px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.stat{background:white;border-radius:14px;padding:15px;border:1px solid #dce6eb}
.stat span{display:block;color:#687d88;font-size:13px}.stat strong{font-size:24px}
.action-card{display:flex;align-items:center;justify-content:space-between;gap:16px}
.item{border:1px solid #dce6eb;border-radius:14px;padding:14px;margin:10px 0}
.status{display:inline-block;border-radius:999px;padding:5px 9px;background:#e6f2f8;font-size:12px;font-weight:900}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.vehicle{border:1px solid #dce6eb;border-radius:15px;margin:10px 0;overflow:hidden}
.vehicle summary{list-style:none;cursor:pointer;padding:13px;display:flex;gap:12px;align-items:center}
.vehicle summary::-webkit-details-marker{display:none}
.vehicle-img{width:74px;height:55px;border-radius:10px;background:#e5f0f5;display:flex;align-items:center;justify-content:center;font-size:31px;overflow:hidden}
.vehicle-img img{width:100%;height:100%;object-fit:cover}
.vehicle-body{padding:14px;border-top:1px solid #e3ebef;background:#f9fbfc}
.hidden{display:none!important}
.news{background:linear-gradient(145deg,#f9fcfd,#e7f4fa)}
.small{font-size:12px}
@media(max-width:620px){
  .shell{padding:10px}.hero{min-height:520px;padding:22px}
  .hero h1{font-size:36px}.choice-grid,.form-grid,.stats{grid-template-columns:1fr}
  .full{grid-column:1}.action-card,.topbar{align-items:flex-start;flex-direction:column}
}



/* PORTADA MOVIL V0.0.14 */
.welcome-body{
  min-height:100svh;
  margin:0;
  background:#06182c;
  color:#fff;
  overflow-x:hidden;
}
.mobile-welcome{
  width:100%;
  max-width:430px;
  min-height:100svh;
  margin:0 auto;
  background:#06182c;
  box-shadow:0 0 50px rgba(0,0,0,.42);
}
.welcome-visual{
  position:relative;
  min-height:76svh;
  padding:calc(18px + env(safe-area-inset-top)) 18px 18px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 39%,rgba(0,105,255,.33),transparent 34%),
    linear-gradient(180deg,#020c1b 0%,#051c36 53%,#08294a 100%);
}
.welcome-visual::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 50%,rgba(1,12,25,.12) 72%,rgba(1,11,23,.72) 100%);
}
.welcome-glow{
  position:absolute;
  border-radius:50%;
  filter:blur(55px);
  pointer-events:none;
}
.welcome-glow-one{
  width:210px;height:210px;
  top:19%;left:-90px;
  background:rgba(0,87,255,.24);
}
.welcome-glow-two{
  width:240px;height:240px;
  right:-110px;top:43%;
  background:rgba(0,159,255,.22);
}
.welcome-logo{
  position:relative;
  z-index:2;
  display:block;
  width:148px;
  height:148px;
  margin:0 auto -18px;
  object-fit:contain;
  border-radius:20px;
  mix-blend-mode:screen;
}
.welcome-copy{
  position:relative;
  z-index:3;
  text-align:center;
  margin:0 auto;
}
.welcome-copy h1{
  margin:0;
  font-size:clamp(39px,11.2vw,52px);
  line-height:.94;
  letter-spacing:-.045em;
  color:#fff;
}
.welcome-copy h1 span{color:#0967ff}
.welcome-line{
  width:125px;height:4px;
  margin:14px auto 13px;
  border-radius:99px;
  background:linear-gradient(90deg,transparent,#0967ff 20%,#0967ff 80%,transparent);
}
.welcome-copy p{
  max-width:330px;
  margin:0 auto;
  font-size:17px;
  line-height:1.38;
  color:rgba(255,255,255,.84);
}
.vehicles-frame{
  position:relative;
  z-index:2;
  height:315px;
  margin:6px -18px -5px;
  overflow:hidden;
}
.vehicles-frame::before{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,#06182c 0%,transparent 15%,transparent 78%,#04152a 100%),
    radial-gradient(ellipse at center,transparent 30%,rgba(2,13,28,.44) 100%);
}
.vehicles-frame img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center 69%;
  filter:saturate(1.13) contrast(1.06) brightness(.88);
}
.benefits{
  position:relative;
  z-index:4;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin:-25px 0 0;
  padding:16px 7px 14px;
  border:1px solid rgba(106,164,222,.38);
  border-radius:22px;
  background:rgba(3,20,40,.92);
  box-shadow:0 15px 35px rgba(0,0,0,.38);
  backdrop-filter:blur(13px);
}
.benefits article{
  min-width:0;
  padding:0 8px;
  text-align:center;
}
.benefits article+article{border-left:1px solid rgba(151,184,218,.30)}
.benefit-icon{
  width:36px;height:36px;
  margin:0 auto 7px;
  display:grid;place-items:center;
  border:2px solid #0b6cff;
  border-radius:50%;
  color:#0b6cff;
  font-size:19px;
  font-weight:900;
}
.benefits strong{
  display:block;
  font-size:14px;
  line-height:1.08;
  color:#fff;
}
.benefits small{
  display:block;
  margin-top:7px;
  font-size:10.5px;
  line-height:1.25;
  color:rgba(255,255,255,.68);
}
.welcome-actions{
  position:relative;
  z-index:5;
  margin-top:-1px;
  padding:24px 20px calc(18px + env(safe-area-inset-bottom));
  border-radius:25px 25px 0 0;
  background:#fff;
  color:#163c60;
}
.welcome-button{
  width:100%;
  min-height:64px;
  display:grid;
  grid-template-columns:48px 1fr 36px;
  align-items:center;
  gap:7px;
  margin-bottom:12px;
  padding:8px 14px;
  border-radius:32px;
  font-size:20px;
  font-weight:900;
}
.welcome-button-primary{
  color:#fff;
  background:linear-gradient(135deg,#075de6,#006dfc);
  box-shadow:0 12px 24px rgba(0,103,247,.24);
}
.welcome-button-outline{
  color:#075bd5;
  border:2px solid #0868ed;
  background:#fff;
}
.button-symbol{
  width:43px;height:43px;
  display:grid;place-items:center;
  border-radius:50%;
  font-size:25px;
  background:#fff;
  color:#0864e5;
}
.welcome-button-outline .button-symbol{background:#eaf2ff}
.button-arrow{font-size:32px;font-weight:400;text-align:right}
.security-note{
  margin:19px 0 0;
  text-align:center;
  font-size:13px;
  color:#68727e;
}
.security-note strong{color:#0864e5}
@media(min-width:431px){
  .welcome-body{padding:18px 0}
  .mobile-welcome{min-height:auto;border-radius:28px;overflow:hidden}
}
@media(max-width:360px){
  .welcome-copy h1{font-size:38px}
  .vehicles-frame{height:285px}
  .welcome-button{font-size:18px}
  .benefits article{padding:0 5px}
  .benefits strong{font-size:12px}
  .benefits small{font-size:9.5px}
}


/* ==========================================================
   IDENTIDAD VISUAL UNIFICADA DEL CLIENTE — v0.0.15
   ========================================================== */
:root{
  --sp-navy:#03162b;
  --sp-navy-2:#062544;
  --sp-blue:#0868f4;
  --sp-blue-dark:#0755c6;
  --sp-blue-soft:#eaf2ff;
  --sp-white:#ffffff;
  --sp-text:#14334c;
  --sp-muted:#697d8d;
  --sp-border:#d9e5ed;
  --sp-bg:#edf3f7;
  --sp-success:#10b85a;
}

.client-page{
  min-height:100svh;
  background:
    radial-gradient(circle at 105% -5%,rgba(8,104,244,.22),transparent 31%),
    linear-gradient(180deg,var(--sp-navy) 0 290px,var(--sp-bg) 290px 100%);
  color:var(--sp-text);
}

.client-shell{
  width:100%;
  max-width:430px;
  min-height:100svh;
  margin:0 auto;
  padding:calc(14px + env(safe-area-inset-top)) 14px calc(24px + env(safe-area-inset-bottom));
}

.brand-page-header{
  position:relative;
  min-height:88px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.brand-page-header img{
  width:min(250px,68vw);
  max-height:84px;
  object-fit:contain;
}

.brand-back{
  position:absolute;
  left:0;
  top:22px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.18);
  border-radius:13px;
  background:rgba(255,255,255,.09);
  color:#fff;
  font-size:23px;
  font-weight:800;
  backdrop-filter:blur(8px);
}

.auth-intro{
  color:#fff;
  text-align:center;
  padding:8px 9px 13px;
}

.auth-intro h1{
  margin:4px 0 7px;
  font-size:32px;
  line-height:1.05;
  letter-spacing:-.035em;
}

.auth-intro p{
  max-width:330px;
  margin:0 auto;
  color:rgba(255,255,255,.76);
  font-size:15px;
  line-height:1.4;
}

.page-kicker{
  display:inline-block;
  color:var(--sp-blue);
  font-size:11px;
  font-weight:950;
  letter-spacing:.12em;
}

.page-kicker-light{color:#8fc0ff}

.branded-card{
  margin-top:8px;
  padding:20px;
  border:0;
  border-radius:23px;
  box-shadow:0 18px 45px rgba(0,21,44,.20);
}

.branded-card label{color:#214157}

.branded-card input,
.branded-card select,
.branded-card textarea{
  min-height:49px;
  border:1px solid var(--sp-border);
  border-radius:14px;
  background:#f9fbfc;
  outline:none;
  transition:border-color .18s,box-shadow .18s,background .18s;
}

.branded-card input:focus,
.branded-card select:focus,
.branded-card textarea:focus{
  border-color:var(--sp-blue);
  background:#fff;
  box-shadow:0 0 0 4px rgba(8,104,244,.12);
}

.btn-primary{
  color:#fff;
  background:linear-gradient(135deg,var(--sp-blue),#075be0);
  box-shadow:0 10px 22px rgba(8,104,244,.22);
}

.btn-primary:hover{background:linear-gradient(135deg,#1376ff,var(--sp-blue-dark))}

.btn-secondary{
  color:var(--sp-blue-dark);
  background:var(--sp-blue-soft);
}

.btn-whatsapp{
  color:#fff;
  background:#16b862;
  box-shadow:0 10px 22px rgba(22,184,98,.20);
}

.text-link{
  display:block;
  padding:6px;
  text-align:center;
  color:var(--sp-blue-dark);
  font-weight:850;
}

.auth-footer-card{
  display:flex;
  justify-content:center;
  gap:6px;
  padding:10px;
  color:#fff;
  font-size:14px;
}

.auth-footer-card a{
  color:#70aaff;
  font-weight:900;
}

.recovery-note{
  margin:12px auto;
  max-width:340px;
  text-align:center;
  color:rgba(255,255,255,.75);
  font-size:12px;
  line-height:1.5;
}

.username-status{
  min-height:18px;
  margin:-5px 0 0;
  font-weight:800;
}

/* Panel privado */
.panel-page{
  background:
    radial-gradient(circle at 100% 0,rgba(8,104,244,.23),transparent 28%),
    var(--sp-bg);
}

.panel-shell{padding-top:0}

.app-header{
  position:relative;
  margin:0 -14px 15px;
  padding:calc(16px + env(safe-area-inset-top)) 18px 24px;
  border-radius:0 0 27px 27px;
  color:#fff;
  background:
    radial-gradient(circle at 85% 0,rgba(25,122,255,.38),transparent 36%),
    linear-gradient(145deg,var(--sp-navy),var(--sp-navy-2));
  box-shadow:0 14px 30px rgba(3,22,43,.18);
}

.panel-brand-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.panel-logo{
  width:188px;
  height:63px;
  object-fit:contain;
  object-position:left center;
}

.panel-logout{
  min-width:58px;
  padding:10px 13px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:12px;
  color:#fff;
  background:rgba(255,255,255,.10);
  font-weight:850;
  cursor:pointer;
}

.panel-user-row{
  display:flex;
  align-items:center;
  gap:13px;
  margin-top:15px;
}

.panel-user-row h1{
  margin:2px 0 3px;
  font-size:25px;
  line-height:1.05;
}

.panel-user-row p{
  max-width:285px;
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:12px;
  overflow-wrap:anywhere;
}

.panel-avatar{
  width:49px;
  height:49px;
  flex:0 0 49px;
  display:grid;
  place-items:center;
  border:2px solid rgba(255,255,255,.36);
  border-radius:50%;
  color:#77adff;
  background:rgba(8,104,244,.19);
  font-size:19px;
}

.panel-page .card,
.panel-page .stat{
  border:1px solid var(--sp-border);
  box-shadow:0 8px 23px rgba(24,62,86,.055);
}

.panel-page .card{border-radius:18px}

.panel-page .stat strong{color:var(--sp-navy-2)}

.panel-page .status{
  color:var(--sp-blue-dark);
  background:var(--sp-blue-soft);
}

.panel-page .vehicle{
  border-color:var(--sp-border);
  background:#fff;
}

.panel-page .vehicle-body{
  background:#f7fafc;
}

.panel-page .news{
  border:1px solid #cfe1ef;
  background:linear-gradient(145deg,#fff,#eaf4fb);
}

@media(min-width:431px){
  .client-page{padding:20px 0}
  .client-shell{
    min-height:auto;
    border-radius:28px;
  }
  .panel-shell{overflow:hidden}
  .app-header{margin-top:-20px}
}

@media(max-width:360px){
  .brand-page-header img{width:220px}
  .auth-intro h1{font-size:29px}
  .branded-card{padding:17px}
  .panel-logo{width:165px}
}


/* IDENTIDAD MOVIL CORREGIDA v0.0.16 */
:root{
  --sp-navy:#03162b;
  --sp-navy-light:#082d50;
  --sp-blue:#0868f4;
  --sp-blue-dark:#0755c6;
  --sp-white:#ffffff;
  --sp-bg:#edf3f7;
  --sp-text:#17364d;
  --sp-muted:#6d7e8a;
  --sp-border:#d8e3ea;
}

.auth-page{
  min-height:100svh;
  margin:0;
  padding:0;
  background:
    radial-gradient(circle at 50% 5%,rgba(18,105,245,.24),transparent 32%),
    linear-gradient(180deg,#020b18,#041c35);
}

.mobile-app-screen{
  width:100%;
  max-width:430px;
  min-height:100svh;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 85% 2%,rgba(9,105,244,.26),transparent 31%),
    linear-gradient(180deg,var(--sp-navy),#08233e 43%,#eaf1f5 43%);
  box-shadow:0 0 55px rgba(0,0,0,.28);
}

.mobile-brand-header{
  position:relative;
  min-height:112px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:calc(18px + env(safe-area-inset-top)) 22px 4px;
}

.mobile-brand-header img{
  display:block;
  width:260px;
  max-width:73vw;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 8px 22px rgba(0,0,0,.24));
}

.mobile-back{
  position:absolute;
  left:18px;
  top:calc(24px + env(safe-area-inset-top));
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.17);
  border-radius:14px;
  color:#fff;
  background:rgba(255,255,255,.08);
  font-size:24px;
  font-weight:800;
  backdrop-filter:blur(10px);
}

.auth-heading{
  padding:7px 25px 24px;
  text-align:center;
}

.auth-heading span{
  display:inline-block;
  margin-bottom:5px;
  color:#2f80ff;
  font-size:11px;
  font-weight:950;
  letter-spacing:.13em;
}

.auth-heading h1{
  margin:0 0 7px;
  color:#fff;
  font-size:34px;
  line-height:1.05;
  letter-spacing:-.04em;
}

.auth-heading p{
  max-width:330px;
  margin:0 auto;
  color:rgba(255,255,255,.72);
  font-size:14px;
  line-height:1.42;
}

.auth-heading-compact{
  padding-bottom:17px;
}

.auth-bottom-sheet{
  flex:1;
  margin-top:auto;
  padding:25px 20px calc(23px + env(safe-area-inset-bottom));
  border-radius:30px 30px 0 0;
  color:var(--sp-text);
  background:#fff;
  box-shadow:0 -15px 35px rgba(0,15,32,.17);
}

.registration-sheet{
  padding-top:22px;
}

.mobile-form{
  display:grid;
  gap:15px;
}

.mobile-form-grid{
  grid-template-columns:1fr 1fr;
  gap:13px;
}

.mobile-form .full{
  grid-column:1/-1;
}

.mobile-form label{
  display:flex;
  flex-direction:column;
  gap:7px;
  color:#29475b;
  font-size:13px;
  font-weight:850;
}

.mobile-form input,
.mobile-form select,
.mobile-form textarea{
  width:100%;
  min-height:52px;
  padding:13px 14px;
  border:1px solid var(--sp-border);
  border-radius:15px;
  outline:none;
  color:var(--sp-text);
  background:#f8fafc;
  transition:border-color .18s,box-shadow .18s,background .18s;
}

.mobile-form input:focus,
.mobile-form select:focus,
.mobile-form textarea:focus{
  border-color:var(--sp-blue);
  background:#fff;
  box-shadow:0 0 0 4px rgba(8,104,244,.11);
}

.mobile-primary-button,
.mobile-whatsapp-button{
  width:100%;
  min-height:58px;
  border:0;
  border-radius:29px;
  color:#fff;
  font-size:17px;
  font-weight:900;
  cursor:pointer;
}

.mobile-primary-button{
  background:linear-gradient(135deg,#075fe4,#0876ff);
  box-shadow:0 12px 25px rgba(8,104,244,.24);
}

.mobile-whatsapp-button{
  background:linear-gradient(135deg,#0fac58,#1bc66a);
  box-shadow:0 12px 25px rgba(16,184,90,.20);
}

.mobile-text-link{
  display:block;
  padding:2px;
  text-align:center;
  color:var(--sp-blue-dark);
  font-size:14px;
  font-weight:900;
}

.mobile-auth-alternative{
  display:flex;
  justify-content:center;
  gap:6px;
  margin-top:21px;
  padding-top:18px;
  border-top:1px solid #e5edf1;
  color:#70808b;
  font-size:14px;
}

.mobile-auth-alternative a{
  color:var(--sp-blue-dark);
  font-weight:900;
}

.mobile-support-note{
  max-width:320px;
  margin:21px auto 0;
  text-align:center;
  color:#75838d;
  font-size:12px;
  line-height:1.5;
}

.username-status{
  min-height:18px;
  margin:-5px 0 0;
  font-size:12px;
  font-weight:850;
}

.message{
  min-height:20px;
  margin:0;
  text-align:center;
  font-size:13px;
  font-weight:850;
}

/* Logo exacto en el panel */
.panel-logo{
  width:224px;
  max-width:67vw;
  height:auto;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 7px 15px rgba(0,0,0,.20));
}

/* Logo exacto en la portada */
.welcome-logo{
  width:245px;
  max-width:72vw;
  height:auto;
  margin:7px auto 6px;
  border-radius:0;
  object-fit:contain;
  mix-blend-mode:normal;
  filter:drop-shadow(0 8px 20px rgba(0,0,0,.30));
}

@media(max-width:370px){
  .mobile-brand-header img{width:225px}
  .auth-heading h1{font-size:30px}
  .auth-bottom-sheet{padding-left:16px;padding-right:16px}
  .mobile-form-grid{grid-template-columns:1fr}
  .mobile-form .full{grid-column:1}
}

@media(min-width:431px){
  .auth-page{
    display:grid;
    place-items:center;
    padding:20px 0;
  }

  .mobile-app-screen{
    min-height:min(880px,calc(100svh - 40px));
    border-radius:30px;
  }

  .auth-bottom-sheet{
    border-radius:30px;
  }
}


/* CORRECCION REGISTRO v0.0.17 */
.mobile-form label small{
  margin-top:1px;
  color:#748692;
  font-size:11px;
  font-weight:650;
  line-height:1.35;
}
.mobile-primary-button:disabled{
  cursor:not-allowed;
  opacity:.58;
  box-shadow:none;
}


/* PANEL CLIENTE MÓVIL v0.0.18 */
body.modal-open{overflow:hidden}
.client-panel-shell{
  width:100%;
  max-width:430px;
  min-height:100svh;
  margin:0 auto;
  padding:0 13px calc(30px + env(safe-area-inset-bottom));
  color:#17364d;
  background:#edf3f7;
}
.client-dashboard-header{
  margin:0 -13px 13px;
  padding:calc(15px + env(safe-area-inset-top)) 17px 22px;
  border-radius:0 0 28px 28px;
  color:#fff;
  background:
    radial-gradient(circle at 89% 0,rgba(25,124,255,.43),transparent 35%),
    linear-gradient(145deg,#03162b,#07345c);
  box-shadow:0 14px 28px rgba(3,22,43,.19);
}
.dashboard-brand-row,.dashboard-account-row,.dashboard-section-heading,.modal-title-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px
}
.dashboard-brand-row img{width:183px;max-height:61px;object-fit:contain;object-position:left}
.dashboard-exit,.modal-close{
  border:1px solid rgba(255,255,255,.18);color:#fff;background:rgba(255,255,255,.10);font-weight:850;cursor:pointer
}
.dashboard-exit{padding:10px 13px;border-radius:13px}
.dashboard-account-row{align-items:flex-end;margin-top:16px}
.dashboard-user{min-width:0}
.dashboard-user>span,.dashboard-kicker{
  display:block;color:#1975ff;font-size:10px;font-weight:950;letter-spacing:.12em
}
.dashboard-user>span{color:#87bbff}
.dashboard-user h1{margin:3px 0 4px;font-size:25px;line-height:1.05;letter-spacing:-.035em}
.dashboard-user p{max-width:245px;margin:0;color:rgba(255,255,255,.69);font-size:11px;overflow-wrap:anywhere}
.credit-chip{
  flex:0 0 101px;padding:10px 9px;border:1px solid rgba(255,255,255,.17);border-radius:15px;
  text-align:right;background:rgba(255,255,255,.09)
}
.credit-chip small,.credit-chip span{display:block;color:rgba(255,255,255,.67);font-size:9px}
.credit-chip strong{display:block;margin:2px 0;color:#fff;font-size:17px}
.credit-positive strong,.credit-positive span{color:#72eaaa}
.credit-negative strong,.credit-negative span{color:#ffaca2}
.dashboard-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.dashboard-stats article{
  min-width:0;padding:12px 9px;border:1px solid #d9e4eb;border-radius:15px;background:#fff;
  box-shadow:0 6px 18px rgba(20,58,82,.05)
}
.dashboard-stats span{display:block;min-height:28px;color:#6a7d89;font-size:10px;line-height:1.2}
.dashboard-stats strong{display:block;margin-top:2px;color:#06233e;font-size:22px}
.mobile-dashboard-card{
  margin:11px 0;padding:17px;border:1px solid #d9e4eb;border-radius:19px;background:#fff;
  box-shadow:0 8px 23px rgba(24,62,86,.055)
}
.mobile-dashboard-card h2{margin:3px 0 5px;color:#102f47;font-size:19px;letter-spacing:-.02em}
.mobile-dashboard-card p{color:#6b7e8a}
.new-service-card{display:flex;align-items:center;justify-content:space-between;gap:13px}
.new-service-card>div{min-width:0}
.new-service-card p{margin:0;font-size:12px;line-height:1.4}
.dashboard-primary,.dashboard-soft-button,.dashboard-danger-button{
  border:0;border-radius:13px;padding:11px 13px;font-weight:900;cursor:pointer
}
.dashboard-primary{color:#fff;background:linear-gradient(135deg,#0868f4,#0757d1);box-shadow:0 8px 17px rgba(8,104,244,.19)}
.dashboard-soft-button{color:#0757c9;background:#eaf2ff}
.dashboard-danger-button{color:#9b3026;background:#ffe5e1}
.dashboard-section-heading{margin-bottom:11px}
.dashboard-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dashboard-form .full{grid-column:1/-1}
.dashboard-form label{display:flex;flex-direction:column;gap:6px;color:#29485b;font-size:12px;font-weight:850}
.dashboard-form input,.dashboard-form select,.dashboard-form textarea{
  width:100%;min-height:48px;padding:12px;border:1px solid #d3e0e7;border-radius:13px;
  color:#17364d;background:#f8fafc;outline:none
}
.dashboard-form textarea{min-height:105px;resize:vertical}
.dashboard-form input:focus,.dashboard-form select:focus,.dashboard-form textarea:focus{
  border-color:#0868f4;background:#fff;box-shadow:0 0 0 4px rgba(8,104,244,.1)
}
.dashboard-message{min-height:18px;margin:0;text-align:center;color:#0757c9;font-size:12px;font-weight:850}
.request-list{display:grid;gap:9px}
.request-accordion{overflow:hidden;border:1px solid #dce6ec;border-radius:15px;background:#f9fbfc}
.request-accordion>summary{
  min-height:55px;display:grid;grid-template-columns:1fr auto 22px;align-items:center;gap:8px;
  padding:12px;list-style:none;cursor:pointer
}
.request-accordion>summary::-webkit-details-marker{display:none}
.request-code{color:#092e4d;font-size:19px;font-weight:950;letter-spacing:.04em}
.request-status{padding:5px 8px;border-radius:99px;color:#075acb;background:#e6f1ff;font-size:9px;font-weight:900}
.status-completed{color:#08733d;background:#def6e9}.status-cancelled{color:#9b3026;background:#ffe5e1}
.request-chevron{color:#78909e;font-size:18px;transition:transform .18s}
.request-accordion[open] .request-chevron{transform:rotate(180deg)}
.request-details{padding:0 13px 13px;border-top:1px solid #e3ebef}
.request-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.request-detail-grid p{margin:11px 0 0}
.request-detail-grid small,.vehicle-data-grid small{display:block;color:#758894;font-size:9px}
.request-detail-grid strong,.vehicle-data-grid strong{display:block;margin-top:2px;color:#1c3d53;font-size:11px}
.request-description{margin:11px 0 5px;padding:10px;border-radius:11px;background:#fff;font-size:11px;line-height:1.45}
.request-date{color:#82929c;font-size:9px}
.request-buttons{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}
.vehicle-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.vehicle-tile{
  min-width:0;padding:0 0 12px;overflow:hidden;border:1px solid #d8e4eb;border-radius:16px;
  text-align:left;color:#17364d;background:#fff;cursor:pointer;box-shadow:0 6px 16px rgba(18,54,78,.05)
}
.vehicle-tile-photo{aspect-ratio:1.25/1;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#eaf3f9,#dcebf4)}
.vehicle-tile-photo img{width:100%;height:100%;object-fit:cover}
.vehicle-tile-photo span{font-size:43px}
.vehicle-tile strong,.vehicle-tile small{display:block;padding:0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vehicle-tile strong{margin-top:10px;color:#0d304b;font-size:13px}
.vehicle-tile small{margin-top:3px;color:#71848f;font-size:10px}
.vehicle-tile-empty{border-style:dashed}
.history-master{padding:0}
.history-master>summary{
  display:flex;align-items:center;justify-content:space-between;padding:17px;list-style:none;cursor:pointer
}
.history-master>summary::-webkit-details-marker{display:none}
.history-master>summary h2{margin-bottom:0}
.summary-arrow{color:#0868f4;font-size:22px;transition:transform .18s}
.history-master[open] .summary-arrow{transform:rotate(180deg)}
.history-content{padding:0 17px 17px;border-top:1px solid #e3ebef}
.history-content h3{margin:16px 0 8px;color:#17364d;font-size:14px}
.request-historical{margin:8px 0}
.history-service-item{
  display:flex;justify-content:space-between;gap:9px;padding:11px 0;border-bottom:1px solid #e5edf1
}
.history-service-item strong,.history-service-item span{display:block}
.history-service-item strong{font-size:11px}.history-service-item span,.history-service-item small{color:#758894;font-size:9px}
.empty-state{margin:10px 0;text-align:center;color:#7a8c97;font-size:12px}
.dashboard-news{background:linear-gradient(145deg,#fff,#e9f4fc)}
.dashboard-news p{margin-bottom:0;font-size:12px;line-height:1.5}
.mobile-modal{position:fixed;z-index:1000;inset:0;display:flex;align-items:flex-end;justify-content:center}
.mobile-modal.hidden{display:none}
.mobile-modal-backdrop{position:absolute;inset:0;background:rgba(0,13,28,.68);backdrop-filter:blur(3px)}
.mobile-modal-sheet{
  position:relative;z-index:1;width:100%;max-width:430px;max-height:91svh;overflow:auto;
  padding:10px 17px calc(24px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0;background:#fff;
  box-shadow:0 -20px 45px rgba(0,0,0,.26)
}
.form-modal-sheet{max-height:94svh}
.modal-handle{width:48px;height:5px;margin:0 auto 14px;border-radius:99px;background:#d2dce2}
.modal-title-row{margin-bottom:13px}
.modal-title-row h2{margin:3px 0;color:#13344c;font-size:22px}
.modal-close{
  width:39px;height:39px;border-color:#d9e4eb;border-radius:50%;color:#436073;background:#edf3f7;font-size:24px
}
.vehicle-detail-photo{aspect-ratio:1.65/1;display:grid;place-items:center;overflow:hidden;border-radius:18px;background:#e9f2f8}
.vehicle-detail-photo img{width:100%;height:100%;object-fit:cover}
.vehicle-detail-photo span{font-size:67px}
.vehicle-data-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:11px 0}
.vehicle-data-grid p{margin:0;padding:10px;border-radius:12px;background:#f4f8fa}
.vehicle-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.full-action{grid-column:1/-1}
.vehicle-history-detail{margin-top:13px;border:1px solid #dbe5eb;border-radius:15px;overflow:hidden}
.vehicle-history-detail>summary{
  display:flex;justify-content:space-between;padding:13px;list-style:none;color:#17364d;font-size:12px;font-weight:900;cursor:pointer
}
.vehicle-history-detail>summary::-webkit-details-marker{display:none}
.vehicle-history-detail>div{padding:0 13px 13px;border-top:1px solid #e4ecef}
.maintenance-record{padding:11px 0;border-bottom:1px solid #e6edf1}
.maintenance-record>div:first-child{display:flex;justify-content:space-between;gap:8px}
.maintenance-record strong{font-size:11px}.maintenance-record small,.maintenance-record p{color:#758894;font-size:9px}
.maintenance-record p{margin:5px 0}
.record-actions{display:flex;gap:7px}
.record-actions button{border:0;border-radius:8px;padding:6px 9px;color:#0757c9;background:#eaf2ff;font-size:9px;font-weight:900}
.record-actions .record-delete{color:#9b3026;background:#ffe5e1}
.upload-photo-label input{position:absolute;width:1px;height:1px;opacity:0}
.upload-photo-label span{
  display:grid;place-items:center;min-height:52px;border:1px dashed #79a8de;border-radius:13px;
  color:#0757c9;background:#edf5ff;cursor:pointer
}
.photo-preview{min-height:145px;display:grid;place-items:center;overflow:hidden;border-radius:15px;background:#eef4f7}
.photo-preview img{width:100%;max-height:220px;object-fit:cover}
.photo-preview span{font-size:54px}
.nested-fields{grid-template-columns:1fr 1fr}
.checkbox-label{flex-direction:row!important;align-items:center!important;padding-top:23px}
.checkbox-label input{width:20px!important;min-height:20px!important}
.form-help{margin:0;padding:10px;border-radius:11px;color:#5e7686!important;background:#f0f5f8;font-size:10px;line-height:1.4}
@media(max-width:360px){
  .dashboard-account-row{align-items:flex-start}.credit-chip{flex-basis:94px}
  .new-service-card{align-items:flex-start;flex-direction:column}
  .dashboard-form,.nested-fields{grid-template-columns:1fr}.dashboard-form .full{grid-column:1}
}
@media(min-width:431px){
  .panel-page{padding:20px 0;background:#dce7ed}
  .client-panel-shell{min-height:calc(100svh - 40px);overflow:hidden;border-radius:29px;box-shadow:0 15px 45px rgba(0,30,53,.14)}
  .client-dashboard-header{border-radius:0 0 28px 28px}
  .mobile-modal{align-items:center}.mobile-modal-sheet{border-radius:26px;max-height:90svh}
}


/* PIE LEGAL Y POLÍTICAS - v0.0.19 */
.site-legal-footer{
  width:100%;max-width:430px;margin:18px auto 0;padding:22px 18px calc(22px + env(safe-area-inset-bottom));
  text-align:center;color:#7b8b96;background:#f7fafc;border-top:1px solid #dce7ed
}
.site-legal-footer img{width:135px;height:auto;filter:brightness(.25);opacity:.82}
.site-legal-footer nav{display:flex;justify-content:center;flex-wrap:wrap;gap:9px 14px;margin:13px 0 10px}
.site-legal-footer nav a{color:#0757c9;font-size:11px;font-weight:900}
.site-legal-footer p{margin:0 0 5px;color:#536b79;font-size:10px;font-weight:800}
.site-legal-footer small{display:block;max-width:340px;margin:auto;font-size:9px;line-height:1.4}
.welcome-body .site-legal-footer{margin:0 auto;background:#fff}
.auth-page .site-legal-footer{margin-top:0;background:#fff}
.panel-page .site-legal-footer{border-radius:18px 18px 0 0}
.policy-acceptance{flex-direction:row!important;align-items:flex-start!important;gap:10px!important;padding:9px 2px;color:#526b79!important;font-size:11px!important;line-height:1.4}
.policy-acceptance input{width:20px!important;min-width:20px!important;min-height:20px!important;margin-top:1px;padding:0!important}
.policy-acceptance a{color:#0757c9;font-weight:900;text-decoration:underline}
.legal-page{margin:0;min-height:100svh;background:#edf3f7;color:#17364d}
.legal-shell{width:100%;max-width:430px;min-height:100svh;margin:0 auto;padding:0 14px 28px}
.legal-page-header{position:relative;margin:0 -14px 14px;padding:calc(22px + env(safe-area-inset-top)) 22px 28px;text-align:center;color:#fff;background:radial-gradient(circle at 90% 0,rgba(8,104,244,.42),transparent 35%),linear-gradient(145deg,#03162b,#07345c);border-radius:0 0 28px 28px}
.legal-page-header img{width:210px;max-width:68vw;height:auto}
.legal-page-header>span{display:block;margin-top:10px;color:#87bbff;font-size:10px;font-weight:950;letter-spacing:.13em}
.legal-page-header h1{margin:5px 0 8px;font-size:30px;line-height:1.03}
.legal-page-header p{max-width:340px;margin:auto;color:rgba(255,255,255,.72);font-size:13px;line-height:1.5}
.legal-back{position:absolute;left:17px;top:calc(22px + env(safe-area-inset-top));width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:13px;color:#fff;background:rgba(255,255,255,.09);font-size:22px;font-weight:900}
.legal-card{display:grid;grid-template-columns:46px 1fr;gap:12px;margin:10px 0;padding:16px;border:1px solid #d8e4eb;border-radius:18px;background:#fff;box-shadow:0 7px 20px rgba(20,58,82,.05)}
.legal-number{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;color:#fff;background:linear-gradient(135deg,#0868f4,#0757d1);font-weight:950}
.legal-card h2,.legal-download-card h2,.legal-contact-card h2{margin:0 0 5px;color:#102f47;font-size:17px}
.legal-card p,.legal-download-card p,.legal-contact-card p{margin:0;color:#687d89;font-size:11px;line-height:1.5}
.legal-download-card{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0;padding:18px;border-radius:20px;color:#fff;background:radial-gradient(circle at 90% 0,rgba(25,124,255,.42),transparent 40%),linear-gradient(145deg,#03162b,#07345c)}
.legal-download-card span{color:#87bbff;font-size:9px;font-weight:950;letter-spacing:.13em}
.legal-download-card h2{color:#fff}.legal-download-card p{color:rgba(255,255,255,.7)}
.legal-download-card>a{flex:0 0 auto;padding:11px 14px;border-radius:13px;color:#fff;background:#0868f4;font-size:11px;font-weight:900}
.legal-contact-card{padding:18px;border:1px solid #d8e4eb;border-radius:18px;background:#fff}
.legal-contact-card a{color:#0757c9;font-weight:850}
.legal-review-note{margin-top:12px!important;padding:10px;border-radius:11px;color:#7a6228!important;background:#fff4d8}
@media(min-width:431px){.legal-page{padding:20px 0}.legal-shell{overflow:hidden;border-radius:28px;background:#edf3f7;box-shadow:0 15px 45px rgba(0,30,53,.13)}}

/* PLAN COMERCIAL DE PRUEBA - v0.0.20 */
.legal-plan-summary{border-color:#a9c9f5;background:linear-gradient(145deg,#fff,#eef5ff)}
.legal-plan-card{margin:12px 0;padding:18px;border:1px solid #bad2ef;border-radius:20px;background:#fff;box-shadow:0 8px 22px rgba(20,58,82,.06)}
.legal-plan-label{display:block;color:#0868f4;font-size:9px;font-weight:950;letter-spacing:.13em}
.legal-plan-card h2{margin:5px 0 12px;color:#102f47;font-size:19px}
.legal-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.legal-plan-grid article{min-width:0;padding:12px;border-radius:14px;background:#f2f7fc}
.legal-plan-grid strong{display:block;color:#0757d1;font-size:17px}
.legal-plan-grid span{display:block;margin-top:4px;color:#627987;font-size:10px;line-height:1.4}
.legal-plan-warning{margin:12px 0 0;padding:11px;border-radius:12px;color:#725d22;font-size:10px;line-height:1.45;background:#fff4d8}
@media(max-width:350px){.legal-plan-grid{grid-template-columns:1fr}}


/* MENÚ, PERFIL, CONFIGURACIÓN Y COTIZACIONES - v0.0.23 */
.portal-menu-wrap{position:relative;z-index:40}
.portal-menu-button{width:43px;height:43px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:14px;color:#fff;background:rgba(255,255,255,.09);font-size:28px;line-height:1;cursor:pointer}
.portal-overflow-menu{position:absolute;top:49px;right:0;width:205px;overflow:hidden;border:1px solid #d9e5ec;border-radius:16px;background:#fff;box-shadow:0 18px 40px rgba(0,18,38,.28)}
.portal-overflow-menu.hidden{display:none}
.portal-overflow-menu a,.portal-overflow-menu button{width:100%;min-height:46px;display:flex;align-items:center;gap:10px;padding:0 13px;border:0;border-bottom:1px solid #edf2f5;text-align:left;color:#24445a;background:#fff;font-size:12px;font-weight:800;cursor:pointer}
.portal-overflow-menu a:last-child,.portal-overflow-menu button:last-child{border-bottom:0}
.portal-overflow-menu span{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;color:#0757d1;background:#eaf2ff}
.mini-profile-avatar{width:74px;height:74px;display:grid;place-items:center;margin:2px auto 15px;border:4px solid #dceaff;border-radius:50%;color:#fff;background:linear-gradient(145deg,#0757d1,#1684ff);font-size:28px;font-weight:950}
.mini-profile-data{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mini-profile-data p{min-width:0;margin:0;padding:11px;border-radius:12px;background:#f2f7fa}
.mini-profile-data small,.mini-profile-data strong{display:block}
.mini-profile-data small{color:#758995;font-size:8px}.mini-profile-data strong{margin-top:3px;overflow-wrap:anywhere;color:#17364d;font-size:10px}
.mini-profile-edit{display:block;margin-top:13px;padding:13px;border-radius:13px;text-align:center;color:#fff;background:#0868f4;font-size:11px;font-weight:900}
.dashboard-quote-button{border:0;border-radius:13px;padding:11px 13px;color:#fff;background:#0d75df;font-weight:900;cursor:pointer}
.quote-mini-status{display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 10px;margin:10px 0;padding:10px;border-radius:12px;background:#eaf3ff}
.quote-mini-status span,.quote-mini-status small{color:#668093;font-size:9px}.quote-mini-status strong{color:#0757d1;font-size:15px}.quote-mini-status small{grid-column:1/-1}
.client-time-box{margin:10px 0;padding:10px;border-radius:12px;background:#eaf2ff}
.client-time-box>div:first-child{display:flex;justify-content:space-between;gap:8px;color:#526e81;font-size:9px}.client-time-box strong{color:#0757d1}
.client-time-track{height:8px;margin:8px 0;border-radius:99px;overflow:hidden;background:#d2e2f3}.client-time-track i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#0868f4,#3aa4ff)}
.client-time-box small{color:#688092;font-size:8px}
.client-quote-workshop{display:flex;align-items:center;gap:11px;padding:12px;border-radius:15px;background:#edf5ff}
.client-quote-avatar{width:47px;height:47px;display:grid;place-items:center;flex:0 0 47px;border-radius:50%;color:#fff;background:#0868f4;font-weight:950}
.client-quote-workshop strong,.client-quote-workshop span,.client-quote-workshop small{display:block}
.client-quote-workshop strong{color:#17364d;font-size:12px}.client-quote-workshop span{margin-top:2px;color:#6a8190;font-size:9px}.client-quote-workshop small{margin-top:4px;color:#087447;font-size:8px;font-weight:850}
.client-quote-items{margin:12px 0}.client-quote-items article{display:flex;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid #e4ecef}
.client-quote-items strong,.client-quote-items small{display:block}.client-quote-items strong{font-size:10px}.client-quote-items small{margin-top:3px;color:#788b96;font-size:8px}.client-quote-items b{color:#17364d;font-size:11px}
.client-quote-totals{padding:12px;border-radius:14px;background:#f4f8fa}
.client-quote-totals p{display:flex;justify-content:space-between;margin:5px 0;color:#667e8c;font-size:10px}.client-quote-totals strong{color:#17364d}
.client-quote-totals .client-quote-total{margin-top:10px;padding-top:9px;border-top:1px solid #dce6eb;font-size:14px;font-weight:900}.client-quote-total strong{color:#0757d1;font-size:18px}
.client-quote-time{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.client-quote-time p{margin:0;padding:10px;border-radius:12px;background:#f1f6f9}
.client-quote-time small,.client-quote-time strong{display:block}.client-quote-time small{color:#758a96;font-size:8px}.client-quote-time strong{margin-top:3px;color:#17364d;font-size:10px}
.client-quote-notes{padding:11px;border-radius:12px;color:#5f7787;background:#fff6df;font-size:10px;line-height:1.45}
.client-quote-status{padding:10px;border-radius:12px;text-align:center;font-size:10px;font-weight:900}.client-quote-status-sent{color:#0757d1;background:#eaf2ff}.client-quote-status-approved{color:#087447;background:#e1f6eb}.client-quote-status-rejected{color:#a13c32;background:#ffe7e3}
.client-quote-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:8px;margin-top:12px}.client-quote-actions button{min-height:52px;border:0;border-radius:26px;font-weight:900;cursor:pointer}
.client-quote-reject{color:#a13c32;background:#ffe7e3}.client-quote-accept{color:#fff;background:#0868f4}
.portal-settings-body{min-height:100svh;margin:0;background:#dce7ed}
.portal-settings-shell{width:100%;max-width:430px;min-height:100svh;margin:0 auto;padding:0 13px 25px;color:#17364d;background:#edf3f7}
.portal-private-header{position:relative;margin:0 -13px 13px;padding:calc(17px + env(safe-area-inset-top)) 20px 24px;border-radius:0 0 28px 28px;text-align:center;color:#fff;background:radial-gradient(circle at 84% 0,rgba(8,104,244,.4),transparent 35%),linear-gradient(145deg,#03162b,#07345c)}
.portal-private-header img{width:235px;max-width:70vw}.portal-private-header>span{display:block;color:#86bbff;font-size:9px;font-weight:950;letter-spacing:.13em}
.portal-private-header h1{margin:7px 0 5px;font-size:29px}.portal-private-header p{margin:0;color:rgba(255,255,255,.71);font-size:12px}
.portal-private-back{position:absolute;left:17px;top:calc(23px + env(safe-area-inset-top));width:41px;height:41px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:13px;color:#fff;background:rgba(255,255,255,.09);font-size:23px;font-weight:900}
.portal-settings-card{margin:11px 0;padding:17px;border:1px solid #d7e3ea;border-radius:19px;background:#fff;box-shadow:0 8px 22px rgba(20,58,82,.05)}
.portal-settings-title span{color:#0868f4;font-size:9px;font-weight:950;letter-spacing:.12em}.portal-settings-title h2{margin:4px 0 12px;font-size:18px}
.portal-settings-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.portal-settings-form .full{grid-column:1/-1}
.portal-settings-form label{display:flex;flex-direction:column;gap:6px;color:#29485b;font-size:11px;font-weight:850}
.portal-settings-form input,.portal-settings-form select,.portal-settings-form textarea{width:100%;min-height:49px;padding:12px;border:1px solid #d5e1e8;border-radius:13px;outline:none;color:#17364d;background:#f8fafc}
.portal-settings-form textarea{min-height:105px}.portal-settings-primary,.portal-whatsapp-button{min-height:55px;border:0;border-radius:28px;color:#fff;font-weight:900;cursor:pointer}.portal-settings-primary{background:#0868f4}.portal-whatsapp-button{background:#13b866}
.portal-settings-message{min-height:17px;margin:0;text-align:center;color:#0757d1;font-size:11px;font-weight:850}
.portal-links-card a{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid #e5edf1;color:#17364d;font-size:11px;font-weight:850}.portal-links-card a:last-child{border-bottom:0}.portal-links-card span{color:#0868f4}
.portal-faq-card details{border-top:1px solid #e5edf1}.portal-faq-card summary{padding:13px 0;color:#17364d;font-size:11px;font-weight:850;cursor:pointer}.portal-faq-card p{margin:0 0 12px;color:#6d818e;font-size:10px;line-height:1.45}
@media(max-width:360px){.mini-profile-data,.portal-settings-form{grid-template-columns:1fr}.portal-settings-form .full{grid-column:1}.client-quote-actions{grid-template-columns:1fr}}
@media(min-width:431px){.portal-settings-body{padding:20px 0}.portal-settings-shell{min-height:calc(100svh - 40px);overflow:hidden;border-radius:29px;box-shadow:0 16px 45px rgba(0,25,48,.16)}}

/* PERFIL COMPLETO Y CARGA DE PERFIL v0.0.24 */
.mini-profile-links,.workshop-mini-profile-links{display:grid;gap:8px}.mini-profile-secondary{display:block;padding:12px;border-radius:12px;text-align:center;color:#0757d1;background:#eaf2ff;font-size:10px;font-weight:900}.profile-load-error{padding:12px;border-radius:12px;color:#a13d33;background:#ffe7e3;font-size:10px}.full-profile-card{text-align:center}.full-profile-avatar{width:82px;height:82px;display:grid;place-items:center;margin:0 auto 10px;border-radius:50%;color:#fff;background:#0868f4;font-size:31px;font-weight:950}.full-profile-card h2{margin:4px 0}.full-profile-role{display:inline-block;padding:6px 9px;border-radius:99px;color:#0757d1;background:#eaf2ff;font-size:9px;font-weight:900}.full-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;text-align:left}.full-profile-grid p{margin:0;padding:11px;border-radius:12px;background:#f2f7fa}.full-profile-grid small,.full-profile-grid strong{display:block}.full-profile-grid small{color:#758995;font-size:8px}.full-profile-grid strong{margin-top:3px;overflow-wrap:anywhere;font-size:10px}@media(max-width:360px){.full-profile-grid{grid-template-columns:1fr}}

/* ESTADO DEL SISTEMA v0.0.25 */
.client-system-notice{margin:10px 0;padding:12px;border:1px solid #efb6b0;border-radius:15px;background:#fff0ee;color:#8c2f27}
.client-system-notice.warning{border-color:#ecd58a;background:#fff8dc;color:#725d22}.client-system-notice.hidden{display:none}
.profile-load-error{padding:14px;border-radius:15px;text-align:center;color:#8c2f27;background:#fff0ee}
.profile-load-error strong{display:block;font-size:13px}.profile-load-error p{font-size:10px;line-height:1.45}.profile-load-error button{border:0;border-radius:12px;padding:10px 12px;color:#fff;background:#0868f4;font-size:10px;font-weight:900}

/* Chat privado y moderado v0.0.32 */
.client-chat-policy,.client-chat-status,.client-chat-readonly{margin:10px 0;padding:11px;border-radius:12px;font-size:9px;line-height:1.45}.client-chat-policy{color:#284a5d;background:#edf5fa}.client-chat-status{display:flex;flex-direction:column;gap:3px;background:#e8f8ef}.client-chat-status.restricted{color:#85382d;background:#fff0ed}.client-chat-box{max-height:48svh;overflow:auto;padding:8px;border-radius:15px;background:#f1f5f7}.client-chat-message{margin:8px 0;padding:11px;border-radius:13px;background:#fff}.client-chat-message.mine{margin-left:25px;background:#eaf2ff}.client-chat-message.chat-hidden{border:1px dashed #d37a32;background:#fff7ea}.client-chat-message strong,.client-chat-message p,.client-chat-message small,.client-chat-message span{display:block}.client-chat-message p{margin:5px 0;font-size:10px;line-height:1.45}.client-chat-message small{color:#748691;font-size:8px}.client-chat-warning{margin:5px 0;color:#9b4b17;font-size:8px}.client-chat-edit{margin-top:7px;border:0;border-radius:9px;padding:7px 9px;color:#0757d1;background:#e6f0ff;font-size:8px;font-weight:900}
