:root{--bg:#f6f8fc;--card:#fff;--ink:#18223a;--muted:#78839a;--line:#e5e9f2;--blue:#3957e8;--violet:#765ae6;--red:#d94f66;--orange:#ef8d39;--green:#1f9e68;--shadow:0 18px 55px rgba(42,56,100,.09);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 20% 0,#edf1ff 0,transparent 34%),var(--bg);min-height:100vh}button,input,select,textarea{font:inherit}.hidden{display:none!important}button{cursor:pointer}.auth{min-height:100vh;display:grid;grid-template-columns:1fr 520px;align-items:center;gap:55px;max-width:1150px;margin:auto;padding:42px}.authBrand{text-align:center}.authBrand img{width:155px;height:155px;border-radius:38px;box-shadow:0 24px 70px rgba(58,83,224,.2)}.authBrand h1{font-size:50px;letter-spacing:.13em;margin:22px 0 5px;background:linear-gradient(90deg,#304fce,#7c59df);-webkit-background-clip:text;color:transparent}.authBrand p{color:var(--muted);font-size:19px}.authCard,.card{background:rgba(255,255,255,.94);border:1px solid rgba(225,229,239,.9);border-radius:24px;box-shadow:var(--shadow)}.authCard{padding:26px}.tabs{display:grid;grid-template-columns:1fr 1fr;background:#f0f2f7;padding:5px;border-radius:14px;margin-bottom:20px}.tabs button{border:0;background:transparent;padding:11px;border-radius:10px;font-weight:800;color:var(--muted)}.tabs .active{background:#fff;color:var(--blue);box-shadow:0 5px 16px rgba(25,38,75,.07)}.stack{display:grid;gap:14px}.two{display:grid;grid-template-columns:1fr 1fr;gap:11px}label{display:grid;gap:6px;font-size:13px;font-weight:750;color:#56637b}input,select,textarea{width:100%;border:1px solid #dfe4ee;background:#fff;border-radius:13px;padding:12px 13px;outline:none;color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:#8a9aee;box-shadow:0 0 0 4px #eef1ff}textarea{min-height:125px;resize:vertical}.passwordField{position:relative;display:block}.passwordField input{padding-right:54px}.passwordToggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:11px;background:transparent;color:#65718a;display:grid;place-items:center;line-height:1;transition:.18s}.passwordToggle .eyeIcon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.passwordToggle:hover{background:#f1f4fb;color:var(--blue)}.passwordToggle:focus-visible{outline:2px solid #8a9aee;outline-offset:2px}.passwordToggle.visible{color:var(--blue);background:#eef2ff}.check{grid-template-columns:20px 1fr;align-items:center}.check input{width:17px}.privacy{background:#f1f5ff;border:1px solid #dce5ff;color:#5a6986;border-radius:13px;padding:12px;font-size:12px}.primary,.ghost,.danger,.soft,.link{border:0;border-radius:12px;padding:10px 14px;font-weight:800}.primary{background:linear-gradient(135deg,var(--blue),var(--violet));color:#fff;box-shadow:0 8px 21px rgba(57,87,232,.2)}.ghost{background:#fff;border:1px solid var(--line);color:#5d6a82}.soft{background:#eef2ff;color:var(--blue)}.danger{background:#fff0f3;color:var(--red);border:1px solid #ffdce3}.link{background:transparent;color:var(--blue)}.big{padding:14px 17px}.shell{min-height:100vh}aside{position:fixed;left:0;top:0;bottom:0;width:250px;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-right:1px solid var(--line);padding:18px 13px;z-index:20;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;padding:7px 9px 18px}.brand img{width:45px;height:45px;border-radius:13px}.brand b{display:block;font-size:21px;letter-spacing:.08em}.brand span{display:block;color:var(--muted);font-size:11px}nav{display:grid;gap:4px;overflow:auto}nav button{display:flex;align-items:center;gap:9px;border:0;background:transparent;border-radius:12px;padding:11px 12px;color:#637089;font-weight:750;text-align:left}nav button.active{background:linear-gradient(135deg,#edf1ff,#f7efff);color:var(--blue)}nav em{margin-left:auto;font-style:normal;background:#e9edf5;color:#667188;border-radius:999px;padding:2px 7px;font-size:10px}#certNav.pulse em{background:#ffedf1;color:var(--red);animation:pulse 1.1s infinite}@keyframes pulse{50%{transform:scale(1.15);box-shadow:0 0 0 7px rgba(217,79,102,.1)}}.foot{margin-top:auto;padding:10px;display:grid;gap:10px}.foot button{border:0;background:transparent;text-align:left;color:#65718a;font-weight:700}.foot small{color:#a2a9b8}main{margin-left:250px;padding:29px 36px 65px;max-width:1450px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.top>div:last-child{display:flex;gap:8px}.top small{text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:var(--blue);font-weight:900}.top h2{font-size:31px;margin:4px 0}.certAlert{display:flex;align-items:center;gap:12px;background:linear-gradient(90deg,#fff4f6,#fff9fb);border:1px solid #ffd8df;border-radius:17px;padding:15px 17px;margin-bottom:18px}.certAlert>span{width:13px;height:13px;background:var(--red);border-radius:50%;animation:ring 1.3s infinite}@keyframes ring{50%{box-shadow:0 0 0 9px rgba(217,79,102,.12)}}.certAlert>div{display:grid;gap:2px;flex:1}.certAlert small{color:#805f68}.grid{display:grid;gap:15px}.c4{grid-template-columns:repeat(4,1fr)}.c3{grid-template-columns:repeat(3,1fr)}.c2{grid-template-columns:repeat(2,1fr)}.card{padding:19px}.metric{display:grid;gap:7px}.metric i{font-style:normal;font-size:24px}.metric b{font-size:27px}.metric span,.subtle{font-size:12px;color:var(--muted)}.sectionHead{display:flex;justify-content:space-between;align-items:center;margin:24px 0 11px}.sectionHead h3{margin:0;font-size:18px}.letters{display:grid;gap:9px}.letter{display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 13px;box-shadow:0 7px 22px rgba(44,59,100,.035);cursor:pointer}.sender{width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,#edf1ff,#f7efff);display:grid;place-items:center;color:var(--blue);font-weight:900}.letter b,.subject{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subject{font-size:13px;color:#5a6680;margin-top:3px}.time{font-size:10px;color:#9aa3b3;text-align:right}.chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.chip{font-size:9px;font-weight:900;letter-spacing:.04em;border-radius:999px;padding:3px 7px;background:#eef1f7;color:#68748b}.cert{background:#fff0f2;color:#c84b61}.urg{background:#fff2e5;color:#c96c25}.sig{background:#eaf8f1;color:#1a8e5f}.open{background:#eef3ff;color:#4f67d7}.empty{padding:40px;text-align:center;color:var(--muted);background:#fff;border:1px dashed #dce1eb;border-radius:19px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:13px}.toolbar input,.toolbar select{width:auto;min-width:165px;padding:9px 11px}.compose{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:17px}.form{display:grid;gap:12px}.mini{font-size:11px;font-weight:900;color:var(--blue);text-transform:uppercase;letter-spacing:.07em}.toggles,.actions{display:flex;gap:8px;flex-wrap:wrap}.toggle{display:flex;align-items:center;gap:6px;background:#f7f8fb;border:1px solid var(--line);border-radius:11px;padding:8px 10px}.toggle input{width:16px}.lookup{border:1px solid var(--line);background:#f7f8fb;border-radius:13px;padding:11px;font-size:13px}.lookup.ok{background:#ecf9f2;border-color:#cdeedc;color:#187a52}.lookup.no{background:#fff3f5;border-color:#ffdce3;color:#b63e55}.item{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff}.profile{display:flex;gap:15px;align-items:center}.avatar{width:68px;height:68px;border-radius:21px;background:linear-gradient(135deg,#e8edff,#f4eaff);display:grid;place-items:center;color:var(--blue);font-size:24px;font-weight:900}.status{color:var(--green);font-weight:800;font-size:12px}.detailHead{display:flex;gap:13px}.detailBody{white-space:pre-wrap;line-height:1.55;background:#fafbfe;border:1px solid var(--line);border-radius:15px;padding:18px;margin:15px 0}.attach{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:10px}.trace{display:grid;gap:9px;border-left:2px solid #dfe4f2;padding-left:15px}.trace div{font-size:12px;color:#67748d}.certActions{display:flex;gap:8px;align-items:center;background:#fff5f6;border:1px solid #ffdce2;border-radius:14px;padding:12px;margin:12px 0}.certActions>div{flex:1}.notice{background:#f3f6ff;border:1px solid #dfe6ff;border-radius:13px;padding:11px;color:#5d6c89;font-size:12px}.mobile{display:none}dialog{border:0;border-radius:22px;padding:22px;max-width:min(900px,94vw);width:760px;max-height:88vh;overflow:auto;box-shadow:0 30px 100px rgba(27,37,70,.25)}dialog::backdrop{background:rgba(30,38,60,.35);backdrop-filter:blur(3px)}#closeModal{float:right;position:sticky;top:0;border:0;background:#f1f3f7;border-radius:50%;width:34px;height:34px;font-size:20px}.toast{position:fixed;right:17px;top:17px;z-index:100;background:#1f2a43;color:#fff;padding:12px 14px;border-radius:12px;box-shadow:0 15px 40px rgba(0,0,0,.2);font-size:13px}.dangerZone{border-color:#ffdce3;background:#fffafb}
@media(max-width:1050px){.auth{grid-template-columns:1fr;max-width:650px;gap:25px}.authBrand img{width:110px;height:110px}.authBrand h1{font-size:39px}.c4{grid-template-columns:repeat(2,1fr)}.c3{grid-template-columns:repeat(2,1fr)}.compose{grid-template-columns:1fr}}
@media(max-width:760px){aside{transform:translateX(-105%);transition:.24s;width:min(85vw,310px);box-shadow:20px 0 60px rgba(30,40,70,.13)}aside.open{transform:none}main{margin-left:0;padding:17px 13px 80px}.mobile{height:60px;display:flex;position:sticky;top:0;z-index:15;align-items:center;justify-content:space-between;background:rgba(255,255,255,.92);backdrop-filter:blur(15px);border-bottom:1px solid var(--line);padding:0 12px}.mobile div{display:flex;align-items:center;gap:7px;letter-spacing:.08em}.mobile img{width:34px;height:34px;border-radius:10px}.mobile button{border:0;background:#f1f3f8;border-radius:10px;width:38px;height:38px;font-size:18px}.top>div:last-child{display:none}.top h2{font-size:25px}.c4,.c3,.c2{grid-template-columns:1fr}.auth{padding:18px 13px}.authCard{padding:17px}.two{grid-template-columns:1fr}.toolbar{overflow-x:auto;flex-wrap:nowrap}.toolbar input,.toolbar select{min-width:150px}.certAlert button{display:none}.compose{display:block}.compose>.card+ .card{margin-top:14px}.letter{grid-template-columns:43px 1fr auto}.sender{width:43px;height:43px}dialog{width:95vw;padding:17px}}

/* CIVELIQ V5: ocultar controles nativos de mostrar contraseña del navegador.
   Dejamos únicamente el botón .passwordToggle de CIVELIQ. */
input[type="password"]::-ms-reveal,
input[type="password"]::-ms-clear {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}
input[type="password"]::-webkit-credentials-auto-fill-button,
input[type="password"]::-webkit-contacts-auto-fill-button {
  visibility: hidden !important;
  display: none !important;
  pointer-events: none !important;
  position: absolute !important;
  right: 0 !important;
}

/* CIVELIQ V7 PREMIUM */
:root{--navy:#0d1b2e;--navy2:#162741;--gold:#c69a55;--cream:#fbf7ef;--surface:#ffffff;--softbg:#f4f6f9;--premiumShadow:0 24px 70px rgba(22,35,58,.10)}
body{background:linear-gradient(180deg,#fbfcfe 0,#f4f6fa 100%);color:var(--navy)}
.auth{max-width:1240px;grid-template-columns:1.05fr .95fr;gap:74px}
.authBrand{text-align:left;padding:48px}.authBrand img{width:132px;height:132px;border-radius:32px;box-shadow:0 28px 75px rgba(21,35,58,.18)}
.authBrand h1{font-size:54px;letter-spacing:.18em;background:none;color:var(--navy);margin-top:28px}.authBrand p{font-size:21px;color:#68758a;max-width:430px;line-height:1.5}
.authCard{padding:34px;border-radius:30px;border:1px solid rgba(214,220,230,.8);box-shadow:0 30px 90px rgba(22,35,58,.12);backdrop-filter:blur(18px)}
.tabs{border-radius:16px;background:#f1f3f6}.tabs button{padding:13px}.tabs .active{color:var(--navy)}
.primary{background:linear-gradient(135deg,#14253e,#223a5f);box-shadow:0 10px 24px rgba(19,37,62,.20)}.primary:hover{filter:brightness(1.06);transform:translateY(-1px)}
.link{color:#1e3c64}.link:hover{text-decoration:underline}
aside{width:268px;padding:24px 15px;background:rgba(250,251,253,.97);box-shadow:8px 0 30px rgba(20,34,55,.035)}
.brand{padding:4px 10px 24px}.brand img{width:48px;height:48px;border-radius:14px}.brand b{font-size:22px;color:var(--navy)}
nav button{padding:12px 13px;border-radius:14px}.shell nav button.active{background:#eaf0f7;color:#122c4d;box-shadow:inset 0 0 0 1px #dae3ef}
main{margin-left:268px;padding:30px 42px 80px;max-width:none}.top{margin-bottom:24px}.top h2{font-size:34px;letter-spacing:-.03em}.top small{color:#8b6a3c}
.card,.item,.letter{border-color:#e4e8ee;box-shadow:0 12px 34px rgba(22,35,58,.045)}
.card{border-radius:20px}.letter{border-radius:18px;transition:.18s}.letter:hover{transform:translateY(-1px);box-shadow:0 16px 40px rgba(22,35,58,.08)}
.welcomeHero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:31px 34px;border-radius:28px;background:linear-gradient(120deg,#0e1c30,#1b3150);color:white;box-shadow:0 26px 70px rgba(13,27,46,.17);position:relative;overflow:hidden}.welcomeHero:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-80px;top:-140px;background:radial-gradient(circle,rgba(198,154,85,.28),transparent 68%)}
.eyebrowPremium{font-size:10px;letter-spacing:.18em;font-weight:900;color:#d8bc8b}.welcomeHero h1{font-size:36px;margin:8px 0 6px;letter-spacing:-.035em}.welcomeHero p{margin:0;color:#c9d4e2;font-size:15px}.heroStatus{display:grid;grid-template-columns:11px 1fr;gap:2px 8px;align-items:center;min-width:170px;padding:13px 16px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);border-radius:17px;z-index:1}.heroStatus>span{width:9px;height:9px;border-radius:50%;background:#50d39a;box-shadow:0 0 0 6px rgba(80,211,154,.10);grid-row:1/3}.heroStatus b{font-size:12px}.heroStatus small{font-size:10px;color:#b7c4d5}
.quickGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.quickAction{appearance:none;border:1px solid #e1e6ed;background:#fff;border-radius:20px;padding:18px;text-align:left;display:grid;grid-template-columns:48px 1fr 18px;align-items:center;gap:13px;color:var(--navy);box-shadow:0 12px 35px rgba(22,35,58,.05);transition:.2s}.quickAction:hover{transform:translateY(-2px);box-shadow:0 18px 44px rgba(22,35,58,.09)}.qaIcon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#eef3f8;font-size:20px;color:#183659}.quickAction b{display:block;font-size:14px}.quickAction small{display:block;color:#8994a6;margin-top:4px;font-size:10px}.quickAction i{font-style:normal;color:#9ba6b6}.qaSend{background:linear-gradient(145deg,#fffdf8,#fff);border-color:#eadcc5}.qaSend .qaIcon{background:#f7eee0;color:#8e6833}
.statGrid .metric{min-height:118px}.metric i{width:40px;height:40px;border-radius:13px;background:#f1f4f8;display:grid;place-items:center;font-size:17px}.metric b{font-size:30px}.premiumHead{margin-top:28px}.premiumHead>div span{font-size:9px;letter-spacing:.16em;color:#a47a40;font-weight:900}.premiumHead h3{margin-top:4px;font-size:21px}
.bottomNav{display:none}
.recoveryModal{width:min(520px,94vw);border:0;border-radius:28px;padding:0;overflow:hidden;box-shadow:0 35px 110px rgba(10,22,38,.28)}.recoveryModal::backdrop{background:rgba(11,24,41,.52);backdrop-filter:blur(6px)}.recoveryClose{position:absolute;right:14px;top:14px;z-index:3;border:0;background:rgba(255,255,255,.10);color:white;width:36px;height:36px;border-radius:50%;font-size:22px}.recoveryHead{background:linear-gradient(125deg,#0e1d31,#203b60);color:white;padding:31px;display:flex;gap:15px;align-items:flex-start}.recoveryHead span{font-size:9px;letter-spacing:.18em;font-weight:900;color:#d6b77f}.recoveryHead h2{margin:6px 0 7px;font-size:25px}.recoveryHead p{margin:0;color:#cbd5e2;line-height:1.45;font-size:13px}.recoveryMark{width:46px;height:46px;min-width:46px;border-radius:15px;background:rgba(198,154,85,.18);border:1px solid rgba(221,190,139,.24);display:grid;place-items:center;color:#e2c28d;font-size:19px}.recoveryForm{padding:27px 31px 31px;display:grid;gap:15px}.recoveryHint{font-size:11px;color:#8490a2;text-align:center}.codeInput{font-size:28px;text-align:center;letter-spacing:.32em;font-weight:800;padding-left:1.1em}.recoverySuccess{text-align:center;padding:42px 32px}.recoverySuccess>div{margin:auto;width:64px;height:64px;border-radius:20px;background:#eaf7f1;color:#1b9362;display:grid;place-items:center;font-size:30px;font-weight:900}.recoverySuccess h2{margin:18px 0 7px}.recoverySuccess p{color:#7b8798;margin-bottom:22px}
@media(max-width:1050px){.quickGrid{grid-template-columns:repeat(2,1fr)}.authBrand{text-align:center;padding:10px}.authBrand p{margin-inline:auto}}
@media(max-width:760px){main{padding:16px 13px 92px}.welcomeHero{padding:24px 20px;border-radius:22px}.welcomeHero h1{font-size:29px}.heroStatus{display:none}.quickGrid{grid-template-columns:1fr 1fr;gap:10px}.quickAction{grid-template-columns:42px 1fr;padding:13px}.quickAction i{display:none}.qaIcon{width:42px;height:42px}.quickAction b{font-size:12px}.quickAction small{font-size:9px}.statGrid{grid-template-columns:1fr 1fr!important}.statGrid .metric{min-height:105px}.bottomNav{position:fixed;z-index:30;left:10px;right:10px;bottom:calc(9px + env(safe-area-inset-bottom));height:64px;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border:1px solid #e2e7ee;box-shadow:0 15px 50px rgba(18,31,51,.16);border-radius:22px;display:grid;grid-template-columns:1fr 1fr 62px 1fr 1fr;align-items:center;padding:6px 8px}.bottomNav button{border:0;background:transparent;color:#657286;font-size:18px;display:grid;place-items:center;gap:1px}.bottomNav button span{font-size:8px;font-weight:800}.bottomNav .bottomAdd{width:52px;height:52px;border-radius:17px;background:linear-gradient(135deg,#13263f,#24456f);color:#fff;font-size:28px;box-shadow:0 9px 24px rgba(20,41,68,.26);transform:translateY(-8px)}.authBrand{padding:4px}.authBrand img{width:86px;height:86px;border-radius:24px}.authBrand h1{font-size:35px;margin-top:16px}.authBrand p{font-size:15px}.authCard{border-radius:24px;padding:19px}.recoveryHead{padding:27px 23px}.recoveryForm{padding:23px}.recoveryHead h2{font-size:22px}}

/* CIVELIQ V8 INDEPENDIENTE */
.globalSearch{display:flex;align-items:center;gap:8px;width:min(390px,34vw);height:42px;background:#fff;border:1px solid #e0e5ec;border-radius:14px;padding:0 12px;box-shadow:0 8px 25px rgba(22,35,58,.035)}.globalSearch span{color:#7c899c;font-size:19px}.globalSearch input{border:0;box-shadow:none!important;padding:0;background:transparent;font-size:12px}.topActions{display:flex!important;align-items:center;gap:8px}.backendBadge{margin-top:3px;display:grid;grid-template-columns:10px 1fr;column-gap:9px;align-items:center;border:1px solid #e2e7ee;background:#f8fafc;border-radius:14px;padding:10px 12px}.backendBadge>span{width:8px;height:8px;border-radius:50%;background:#c2c8d1;grid-row:1/3}.backendBadge b{font-size:11px;color:#46546a}.backendBadge small{font-size:9px;color:#8994a6}.backendBadge.ok>span{background:#2aae78;box-shadow:0 0 0 5px rgba(42,174,120,.10)}.backendBadge.ok small{color:#26815d}
@media(max-width:1100px){.globalSearch{width:250px}}@media(max-width:760px){.globalSearch{display:none}.topActions{display:none!important}}


/* ==========================================================
   CIVELIQ V8.6 · MOBILE APP FIX DEFINITIVO
   Corrige el login/registro/PWA en iPhone y Android.
   ========================================================== */
html,body{max-width:100%;overflow-x:hidden}
#auth:not(.hidden)~.bottomNav{display:none!important}

@media (max-width:760px){
  body{
    min-width:0;
    width:100%;
    background:
      radial-gradient(circle at 50% -10%,#eef2fb 0,transparent 42%),
      linear-gradient(180deg,#fbfcfe 0,#f4f6fa 100%);
  }

  .auth{
    width:100%;
    max-width:none;
    min-height:100svh;
    display:flex!important;
    flex-direction:column;
    grid-template-columns:1fr!important;
    justify-content:center;
    align-items:center;
    gap:20px;
    margin:0;
    padding:
      calc(24px + env(safe-area-inset-top))
      16px
      calc(28px + env(safe-area-inset-bottom));
  }

  .authBrand{
    width:100%;
    max-width:520px;
    text-align:center!important;
    padding:0!important;
    margin:0;
  }
  .authBrand img{
    width:78px!important;
    height:78px!important;
    border-radius:22px!important;
    box-shadow:0 16px 42px rgba(21,35,58,.14)!important;
  }
  .authBrand h1{
    font-size:31px!important;
    line-height:1.05;
    letter-spacing:.14em!important;
    margin:15px 0 8px!important;
    white-space:nowrap;
  }
  .authBrand p{
    max-width:300px!important;
    margin:0 auto!important;
    font-size:15px!important;
    line-height:1.4!important;
    text-align:center!important;
  }

  .authCard{
    width:100%!important;
    max-width:520px!important;
    min-width:0!important;
    margin:0!important;
    padding:18px!important;
    border-radius:24px!important;
    box-shadow:0 20px 60px rgba(22,35,58,.10)!important;
  }

  .tabs{
    width:100%;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    margin-bottom:18px;
  }
  .tabs button{
    min-width:0;
    padding:12px 8px!important;
    font-size:14px;
    white-space:normal;
  }

  .stack,.two{
    width:100%;
    min-width:0;
  }
  .two{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

  label{
    min-width:0;
    width:100%;
  }
  input,select,textarea{
    min-width:0;
    width:100%!important;
    max-width:100%;
    font-size:16px!important; /* evita zoom automático de iOS */
    padding:13px 14px!important;
    border-radius:14px!important;
  }

  .passwordField{
    width:100%;
    min-width:0;
  }
  .passwordField input{
    padding-right:56px!important;
  }
  .passwordToggle{
    right:6px!important;
    width:44px!important;
    height:44px!important;
  }

  .primary.big{
    width:100%;
    min-height:52px;
    font-size:15px;
    border-radius:14px;
  }
  #forgot{
    width:100%;
    text-align:center;
    font-size:14px;
    padding:12px 6px;
  }
  .backendBadge{
    width:100%;
    margin-top:2px;
  }

  .privacy{
    line-height:1.45;
  }

  .recoveryModal{
    width:calc(100vw - 24px)!important;
    max-width:520px!important;
    max-height:calc(100svh - 24px)!important;
    border-radius:24px!important;
  }
  .recoveryHead{
    padding:24px 20px!important;
  }
  .recoveryHead h2{
    font-size:21px!important;
  }
  .recoveryForm{
    padding:20px!important;
  }
  .codeInput{
    font-size:24px!important;
    letter-spacing:.22em!important;
  }

  /* App tras iniciar sesión */
  .shell{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }
  main{
    width:100%;
    max-width:100%;
    margin-left:0!important;
    padding:14px 12px calc(94px + env(safe-area-inset-bottom))!important;
  }
  .mobile{
    position:sticky;
    top:0;
    padding-top:env(safe-area-inset-top);
    height:calc(60px + env(safe-area-inset-top));
  }
  .welcomeHero,.card,.item,.letter{
    max-width:100%;
    min-width:0;
  }
  .welcomeHero{
    padding:21px 17px!important;
  }
  .welcomeHero h1{
    font-size:26px!important;
  }
  .quickGrid{
    grid-template-columns:1fr 1fr!important;
    gap:9px!important;
  }
  .quickAction{
    min-width:0;
    padding:12px!important;
    grid-template-columns:40px minmax(0,1fr)!important;
    gap:9px!important;
  }
  .qaIcon{
    width:40px!important;
    height:40px!important;
  }
  .quickAction b,.quickAction small{
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .statGrid{
    grid-template-columns:1fr 1fr!important;
  }
  .bottomNav{
    left:8px!important;
    right:8px!important;
    bottom:calc(8px + env(safe-area-inset-bottom))!important;
    width:auto!important;
    max-width:none!important;
  }
}

@media (max-width:390px){
  .auth{
    justify-content:flex-start;
    gap:16px;
    padding-left:12px;
    padding-right:12px;
  }
  .authBrand img{
    width:70px!important;
    height:70px!important;
  }
  .authBrand h1{
    font-size:28px!important;
  }
  .authBrand p{
    font-size:14px!important;
  }
  .authCard{
    padding:15px!important;
    border-radius:21px!important;
  }
  .quickGrid,.statGrid{
    grid-template-columns:1fr!important;
  }
}


/* ==========================================================
   CIVELIQ V8.8.0 · ESTADO LOGIN
   Si el usuario ha iniciado sesión, AUTH desaparece SIEMPRE.
   ========================================================== */
#auth.hidden,
.auth.hidden{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

#app.hidden,
.shell.hidden{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* La navegación inferior solo pertenece a la sesión iniciada. */
#auth:not(.hidden) ~ .bottomNav{
  display:none!important;
}

/* ==========================================================
   CIVELIQ V8.8.0 · PREMIUM COMPLETO
   Potente por dentro, sencillo por fuera.
   ========================================================== */
body.drawerOpen{overflow:hidden!important;touch-action:none}
aside{overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}
.drawerBackdrop{display:none}
.avatarSlot.hasAvatar{overflow:hidden;padding:0;background:#eef2f7}.avatarSlot.hasAvatar img{width:100%;height:100%;object-fit:cover;display:block}
.mobileSpacer{width:38px;height:38px;display:block}

/* Inicio más compacto */
.statGrid .metric{min-height:84px!important;padding:14px 16px!important;grid-template-columns:36px 1fr;grid-template-rows:auto auto;column-gap:11px;row-gap:0;align-items:center}
.statGrid .metric i{width:34px!important;height:34px!important;border-radius:11px!important;font-size:15px!important;grid-row:1/3}
.statGrid .metric b{font-size:25px!important;line-height:1!important;align-self:end}
.statGrid .metric span{font-size:10px!important;align-self:start;margin-top:3px}

/* Acciones documentales */
.documentActions{padding-top:14px;border-top:1px solid var(--line);margin-top:15px}
.detailHead h2{margin:0 0 4px;font-size:23px}.trace{border-left:0!important;padding-left:0!important;gap:0!important}.trace>div{display:grid;grid-template-columns:16px 1fr;gap:9px;padding:0 0 16px;position:relative}.trace>div:after{content:"";position:absolute;left:5px;top:13px;bottom:-2px;width:2px;background:#e3e8ef}.trace>div:last-child:after{display:none}.traceDot{width:11px;height:11px;border-radius:50%;background:#173a62;margin-top:3px;box-shadow:0 0 0 4px #eef3f8;z-index:1}.trace small{display:block;color:var(--muted);margin-top:2px}

/* Bottom nav V8.8 */
.bottomNav{border-radius:26px!important;height:68px!important;padding:7px 10px!important;background:rgba(255,255,255,.97)!important;border:1px solid rgba(218,225,235,.95)!important;box-shadow:0 18px 52px rgba(17,34,56,.17)!important}
.bottomNav button{min-height:50px;border-radius:16px!important;transition:.18s;color:#6d798b!important}
.bottomNav button:active{background:#f0f4f8!important;transform:scale(.97)}
.bottomNav button span{font-size:9px!important;letter-spacing:.01em}
.bottomNav .bottomAdd{width:54px!important;height:54px!important;border-radius:19px!important;background:linear-gradient(145deg,#102841,#24496f)!important;box-shadow:0 10px 26px rgba(16,40,65,.30)!important;transform:translateY(-7px)!important}

/* Action sheet */
.quickSheet{width:min(520px,calc(100vw - 22px));border:0;border-radius:28px;padding:14px 18px 22px;box-shadow:0 30px 90px rgba(10,26,45,.26)}
.quickSheet::backdrop{background:rgba(14,27,45,.32);backdrop-filter:blur(4px)}.quickSheetHandle{width:42px;height:4px;border-radius:99px;background:#d9dee7;margin:0 auto 14px}.quickSheetHead{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.quickSheetHead span{font-size:9px;letter-spacing:.18em;color:#9b743d;font-weight:900}.quickSheetHead h3{margin:5px 0 0;font-size:22px}.quickClose{border:0;background:#f1f4f7;width:38px;height:38px;border-radius:13px;font-size:22px;color:#667386}.quickSheetGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quickSheetGrid button{border:1px solid #e1e7ee;background:#fff;border-radius:18px;padding:16px;text-align:left;color:#16304f;min-height:90px}.quickSheetGrid b,.quickSheetGrid small{display:block}.quickSheetGrid small{color:#8792a3;margin-top:6px;font-size:10px}

/* Agenda */
.agendaToolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:13px}.segmented{display:flex;background:#edf1f5;padding:4px;border-radius:13px}.segmented button{border:0;background:transparent;padding:9px 13px;border-radius:10px;color:#738095;font-weight:800}.segmented button.active{background:#fff;color:#153658;box-shadow:0 4px 14px rgba(18,41,65,.08)}.agendaNav{display:flex;gap:6px}.agendaToolbar>.primary{margin-left:auto}.agendaFilter{display:grid;grid-template-columns:1fr 210px;gap:9px;margin-bottom:16px}.monthTitle{text-transform:capitalize;font-size:19px;font-weight:850;margin:8px 0 12px}.weekLabels,.monthGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.weekLabels span{text-align:center;color:#8793a5;font-size:10px;font-weight:900;padding:5px}.calendarDay{min-height:93px;border:1px solid #e2e7ed;background:#fff;border-radius:15px;padding:9px;text-align:left;color:#193653;overflow:hidden}.calendarDay>span{font-weight:900}.calendarDay small{display:block;margin-top:6px;padding:4px 5px;border-radius:7px;background:#eef3f8;color:#4e6178;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendarDay i{display:block;font-style:normal;font-size:8px;color:#8a96a6;margin-top:4px}.mutedDay{opacity:.42}.agendaList{display:grid;gap:8px;margin-top:16px}.agendaItem{display:grid;grid-template-columns:94px 1fr 44px;align-items:center;gap:12px;border:1px solid #e2e7ed;background:#fff;border-radius:17px;padding:12px;box-shadow:0 8px 26px rgba(22,35,58,.035)}.agendaWhen{display:grid}.agendaWhen b{font-size:19px;color:#173858}.agendaWhen small{font-size:9px;color:#8793a5;margin-top:2px}.agendaTitle{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.statusPill{font-size:8px;font-weight:900;padding:4px 7px;border-radius:999px;background:#fff2d9;color:#966214}.statusPill.done{background:#e9f7ef;color:#28734e}.statusPill.cancelled{background:#f2f3f6;color:#747d8b}.itemMenu{width:40px;height:40px;border:0;background:#f2f5f8;border-radius:12px;color:#607084}.agendaFiles{display:grid;gap:6px}.agendaFiles>div{display:flex;justify-content:space-between;gap:10px;align-items:center;background:#f7f9fb;border:1px solid #e5e9ef;padding:9px 11px;border-radius:12px}.actionList,.deleteExportChoices{display:grid;gap:9px}.actionList button,.deleteExportChoices button{min-height:48px}

/* Contactos, carpetas, perfil */
.itemWithActions{display:flex;justify-content:space-between;align-items:center;gap:12px}.itemWithActions>div:last-child{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.dangerText{color:#ca5064!important}.folderCard{display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:center;min-height:92px}.folderIcon{width:42px;height:42px;border-radius:13px;background:#eef3f8;display:grid;place-items:center}.folderActions{grid-column:1/3;display:flex;justify-content:flex-end;gap:4px;border-top:1px solid #edf0f4;padding-top:6px}.profileAvatar{width:78px!important;height:78px!important}.profile h2{margin:0 0 4px}.profileTools{margin-top:15px}.profileTools input[type=file]{padding:8px!important}.logoNotice{margin-top:14px;border-color:#ead8b8;background:#fffaf0}.infoRows{display:grid;gap:9px}.infoRows>div{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #edf0f4}.infoRows>div:last-child{border-bottom:0}.infoRows span{color:var(--muted);font-size:12px}.transparencyHero{background:linear-gradient(120deg,#0f223a,#284563);color:#fff;border-radius:26px;padding:30px;margin-bottom:16px}.transparencyHero span{color:#d6b77e;font-size:9px;letter-spacing:.18em;font-weight:900}.transparencyHero h2{font-size:30px;margin:8px 0}.transparencyHero p{color:#d1dbe6;max-width:720px;line-height:1.55}.transparencyGrid .card{padding:20px}.transparencyGrid p{color:#6d7889;line-height:1.55}

@media(max-width:760px){
 .drawerBackdrop{position:fixed;inset:0;z-index:19;background:rgba(12,27,45,.22);backdrop-filter:blur(2px);display:block;opacity:0;pointer-events:none;transition:.2s}.drawerBackdrop.show{opacity:1;pointer-events:auto}
 aside{height:100%;max-height:100%;padding-bottom:calc(20px + env(safe-area-inset-bottom))!important}
 body.drawerOpen aside{touch-action:pan-y!important}
 .mobile{grid-template-columns:38px 1fr 38px}.mobile>div{justify-self:center}.mobileSpacer{justify-self:end}
 .statGrid .metric{min-height:76px!important;padding:11px 12px!important}.statGrid .metric i{width:31px!important;height:31px!important}.statGrid .metric b{font-size:22px!important}.statGrid .metric span{font-size:9px!important;line-height:1.15}
 .bottomNav{left:12px!important;right:12px!important;bottom:calc(8px + env(safe-area-inset-bottom))!important}
 .quickSheet{margin:auto 11px 10px;max-width:none;width:calc(100vw - 22px);border-radius:26px}.quickSheetGrid{grid-template-columns:1fr 1fr}.quickSheetGrid button{min-height:84px;padding:13px}
 .agendaToolbar{align-items:stretch}.agendaToolbar>.primary{margin-left:0;width:100%}.agendaFilter{grid-template-columns:1fr}.weekLabels,.monthGrid{gap:3px}.calendarDay{min-height:68px;padding:6px;border-radius:11px}.calendarDay small{display:none}.agendaItem{grid-template-columns:68px 1fr 40px;padding:10px}.agendaWhen b{font-size:16px}.agendaWhen small{font-size:8px}.agendaTitle b{font-size:13px}.monthTitle{font-size:17px}
 .itemWithActions{align-items:flex-start}.folderCard{min-height:78px}.transparencyHero{padding:23px 19px;border-radius:22px}.transparencyHero h2{font-size:25px}.transparencyGrid{grid-template-columns:1fr!important}
 dialog#modal{max-height:86vh;overflow-y:auto;-webkit-overflow-scrolling:touch}
}
