:root{
  --dalu-navy:#173f72;
  --dalu-navy-deep:#0f315c;
  --dalu-navy-ink:#18345b;
  --dalu-canvas:#fbf8f2;
  --dalu-surface:#fffefb;
  --dalu-surface-strong:#ffffff;
  --dalu-line:#e9e1d6;
  --dalu-muted:#77736d;
  --dalu-soft:#a29d95;
  --dalu-blue:#2f5ee8;
  --dalu-blue-soft:#eaf0ff;
  --dalu-coral:#ff7a4d;
  --dalu-coral-soft:#fff0e9;
  --dalu-green:#25a86a;
  --dalu-green-soft:#eaf9f1;
  --dalu-violet:#6d4aff;
  --dalu-violet-soft:#f1edff;
  --dalu-shadow:0 14px 38px rgba(43,55,75,.055);
  --dalu-shadow-lg:0 24px 70px rgba(32,52,78,.10);
}

html{background:var(--dalu-canvas)}
body.app-body{background:
  radial-gradient(circle at 100% 0%,rgba(109,74,255,.045),transparent 27rem),
  radial-gradient(circle at 58% 100%,rgba(37,168,106,.05),transparent 34rem),
  var(--dalu-canvas);
}

/* Marca heredada de OfeliA: el símbolo visual se conserva, Dalu tiene identidad textual propia. */
.dalu-logo-mark{
  width:38px;height:38px;flex:0 0 38px;border-radius:12px;
  background:transparent!important;box-shadow:none!important;overflow:visible!important;
  display:grid;place-items:center;
}
.dalu-logo-mark:before,.dalu-logo-mark i,.dalu-logo-mark b{display:none!important}
.dalu-logo-mark img{width:100%;height:100%;display:block;object-fit:contain;filter:drop-shadow(0 7px 12px rgba(4,24,51,.18))}
.dalu-logo-text{font-size:19px;font-weight:900;letter-spacing:-.035em;color:inherit}
.dalu-wordmark-accent{color:var(--dalu-coral)}

/* Shell principal */
.app-shell{grid-template-columns:236px minmax(0,1fr)}
.app-sidebar{
  width:236px;padding:18px 14px 16px;
  background:
    radial-gradient(circle at 112% -4%,rgba(47,94,232,.31),transparent 34%),
    radial-gradient(circle at -10% 108%,rgba(255,122,77,.17),transparent 30%),
    linear-gradient(180deg,#173f72 0%,#153962 54%,#113258 100%);
  box-shadow:inset -1px 0 rgba(255,255,255,.035);
}
.app-sidebar:after{
  left:-118px;bottom:-160px;width:430px;height:330px;
  border-color:rgba(255,255,255,.055);
  box-shadow:0 -22px 0 rgba(255,255,255,.018),0 -44px 0 rgba(255,255,255,.014),0 -66px 0 rgba(255,255,255,.01)
}
.sidebar-brand{height:56px;padding:0 6px;margin-bottom:13px;color:#fff}
.sidebar-brand .dalu-logo-mark{width:42px;height:42px;flex-basis:42px}
.sidebar-brand .dalu-logo-text{font-size:20px;color:#fff}
.workspace-switch{
  height:50px;border-color:rgba(255,255,255,.11);background:rgba(255,255,255,.08);
  border-radius:15px;box-shadow:inset 0 1px rgba(255,255,255,.03);
}
.workspace-switch:hover{background:rgba(255,255,255,.11)}
.workspace-switch .workspace-icon{background:rgba(255,255,255,.09);color:#bcd4f3}
.sidebar-item{min-height:45px;border-radius:13px;color:#e4edf8}
.sidebar-item svg{color:#b5c8df}
.sidebar-item:hover{background:rgba(255,255,255,.07)}
.sidebar-item.is-active{
  color:#fff;background:linear-gradient(90deg,rgba(255,255,255,.13),rgba(255,255,255,.075));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.055)
}
.sidebar-item.is-active:before{left:-14px;width:4px;background:linear-gradient(180deg,#ff9b68,#ff7248)}
.sidebar-item.is-active svg{color:#ff9b68}
.sidebar-user{border:1px solid rgba(255,255,255,.065);background:rgba(255,255,255,.055)}
.sidebar-user .avatar{background:linear-gradient(145deg,#eaf0ff,#fff0e9);color:#245294}

.app-main{grid-column:2}
.app-topbar{
  height:68px;padding:0 30px;background:rgba(251,248,242,.86);
  border-bottom:1px solid rgba(226,216,202,.74);backdrop-filter:blur(20px) saturate(1.1)
}
.topbar-title strong{font-size:13px;color:var(--dalu-navy-ink)}
.icon-btn{border-color:var(--dalu-line);background:rgba(255,254,251,.9);border-radius:12px;color:#64758b;box-shadow:0 5px 15px rgba(37,47,66,.035)}
.icon-btn:hover{color:var(--dalu-blue);border-color:rgba(47,94,232,.22);background:#fff}
.top-avatar{background:linear-gradient(145deg,#eaf0ff,#fff0e9);color:#264f87;box-shadow:inset 0 0 0 1px rgba(47,94,232,.08)}
.page-content{width:min(1480px,100%);padding:30px 34px 68px}
.eyebrow{color:var(--dalu-coral);letter-spacing:.145em}
.page-heading h1{color:var(--dalu-navy-ink);font-size:31px}
.page-heading p{color:var(--dalu-muted)}
.btn{border-radius:13px}
.btn.primary{
  background:linear-gradient(135deg,#2f5ee8 0%,#3d72f0 58%,#5d7df4 100%);
  box-shadow:0 10px 22px rgba(47,94,232,.18)
}
.btn.primary:hover{box-shadow:0 14px 28px rgba(47,94,232,.23)}
.btn.soft{border-color:var(--dalu-line);background:var(--dalu-surface);color:var(--dalu-navy-ink)}
.btn.soft:hover{background:#fff;border-color:#dcd1c3}

/* Home / centro de conversión */
.dashboard-page .page-heading{margin-bottom:20px}
.dashboard-hero{
  min-height:170px;margin-bottom:16px;padding:24px 28px;border:1px solid rgba(215,221,240,.92);
  border-radius:26px;background:
    radial-gradient(circle at 96% 15%,rgba(109,74,255,.14),transparent 31%),
    radial-gradient(circle at 73% 125%,rgba(37,168,106,.13),transparent 42%),
    linear-gradient(135deg,#fffefb 0%,#f7f9ff 58%,#f4fbf6 100%);
  box-shadow:0 18px 55px rgba(30,55,95,.065)
}
.hero-copy{align-items:flex-start;max-width:760px;gap:15px}
.hero-icon{width:48px;height:48px;border-radius:15px;background:var(--dalu-violet-soft);color:var(--dalu-violet);box-shadow:inset 0 0 0 1px rgba(109,74,255,.08)}
.hero-copy strong{display:block;color:var(--dalu-navy-ink);font-size:17px;letter-spacing:-.025em}
.hero-copy p{max-width:590px;margin:5px 0 0;color:var(--dalu-muted);font-size:11.5px;line-height:1.55}
.hero-art{position:relative;width:280px;height:120px;flex:0 0 280px}
.hero-art:before{
  content:"";position:absolute;right:18px;top:8px;width:104px;height:104px;border-radius:27px;
  background-color:#efe7dc;background-image:url('/asset.php?f=img/doodles-dark&v=040');background-size:150px;
  box-shadow:0 16px 34px rgba(48,55,68,.11);transform:rotate(4deg);opacity:.88
}
.hero-art:after{
  content:"";position:absolute;right:58px;top:29px;width:140px;height:76px;border-radius:20px;background:#fff;
  box-shadow:0 13px 34px rgba(43,55,75,.10);border:1px solid rgba(226,216,202,.85);transform:rotate(-3deg)
}
.hero-art i{position:absolute;z-index:3;border-radius:999px;box-shadow:0 7px 18px rgba(39,47,56,.10)}
.hero-art i:nth-child(1){right:78px;top:43px;width:91px;height:16px;background:#fff0e9}
.hero-art i:nth-child(2){right:96px;top:68px;width:62px;height:15px;background:#eaf0ff}
.hero-art i:nth-child(3){right:68px;top:92px;width:76px;height:13px;background:#eaf9f1}
.stat-row{gap:12px;margin-bottom:21px}
.stat-row article{
  border:1px solid rgba(226,216,202,.92);border-radius:18px;background:var(--dalu-surface);
  box-shadow:0 9px 26px rgba(47,57,75,.04);min-height:80px;padding:14px 15px
}
.stat-icon{border-radius:13px}
.stat-icon.green{background:var(--dalu-green-soft);color:var(--dalu-green)}
.stat-icon.purple{background:var(--dalu-violet-soft);color:var(--dalu-violet)}
.stat-icon.blue{background:var(--dalu-blue-soft);color:var(--dalu-blue)}
.stat-icon.orange{background:var(--dalu-coral-soft);color:var(--dalu-coral)}
.stat-row small{color:var(--dalu-soft)}
.stat-row strong{color:var(--dalu-navy-ink)}
.section-title-row h2{color:var(--dalu-navy-ink)}
.section-title-row p{color:var(--dalu-soft)}
.funnel-grid{gap:16px}
.funnel-card{
  border-color:rgba(224,218,209,.94);border-radius:21px;background:linear-gradient(180deg,#fff 0%,#fffefb 100%);
  box-shadow:0 7px 24px rgba(37,47,66,.04)
}
.funnel-card:hover{border-color:rgba(109,74,255,.22);box-shadow:0 17px 40px rgba(43,45,91,.085)}
.funnel-card-preview{
  height:194px;border-bottom-color:var(--dalu-line);
  background:
    radial-gradient(circle at 78% 14%,rgba(109,74,255,.13),transparent 31%),
    radial-gradient(circle at 16% 105%,rgba(255,122,77,.11),transparent 35%),
    #f8f5ef
}
.phone-mini{border-color:#17304f;border-radius:21px;width:127px;height:166px;box-shadow:0 15px 30px rgba(25,43,62,.18)}
.phone-mini-head{background:#173f72}
.phone-mini-body{background-color:#efe7dc;background-image:url('/asset.php?f=img/doodles-dark&v=040');background-size:120px;opacity:.98}
.mini-bubble{background:#fffefb}
.mini-bubble.two{background:#eaf0ff}
.status-pill.is-live{background:var(--dalu-green-soft);color:var(--dalu-green)}
.status-pill.is-draft{background:#f2eee8;color:#8f8980}
.card-more{border:1px solid rgba(226,216,202,.82);background:rgba(255,254,251,.88)}
.funnel-card-body{padding:16px}
.funnel-title-row h3{color:var(--dalu-navy-ink)}
.funnel-metrics{border-color:#eee7de}
.funnel-metrics span{border-color:#eee7de}
.idea-strip{border-color:var(--dalu-line);background:var(--dalu-line);border-radius:18px}
.idea-strip>div{background:var(--dalu-surface)}
.empty-state{border-color:#ded5c9;background:var(--dalu-surface);border-radius:21px}
.modal{background:rgba(12,36,65,.36)}
.modal-card{border:1px solid rgba(226,216,202,.92);background:var(--dalu-surface);border-radius:23px;box-shadow:0 28px 80px rgba(17,43,73,.22)}
.form-stack input,.settings-form input{border-color:var(--dalu-line);background:#fffefb;border-radius:13px}
.form-stack input:focus,.settings-form input:focus{border-color:rgba(47,94,232,.58);box-shadow:0 0 0 4px rgba(47,94,232,.08)}

/* Login — composición OfeliA evolucionada para Dalu */
.auth-body{background:var(--dalu-canvas)}
.auth-shell{grid-template-columns:1.04fr .96fr;background:var(--dalu-canvas)}
.auth-visual{
  position:relative;overflow:hidden;display:flex;place-items:initial;padding:46px 52px 34px;
  background:
    radial-gradient(circle at 93% 2%,rgba(47,94,232,.26),transparent 37%),
    radial-gradient(circle at -5% 88%,rgba(255,122,77,.13),transparent 32%),
    linear-gradient(145deg,#173f72,#12365f 62%,#102f55);
}
.auth-visual:before{content:"";position:absolute;inset:auto -120px -200px auto;width:480px;height:480px;border:1px solid rgba(255,255,255,.045);border-radius:50%;box-shadow:0 -32px 0 rgba(255,255,255,.015),0 -64px 0 rgba(255,255,255,.012)}
.auth-visual-inner{position:relative;z-index:1;max-width:610px;width:100%;display:flex;flex-direction:column;min-height:calc(100vh - 80px)}
.auth-visual-brand{display:flex;align-items:center;gap:11px;color:#fff}
.auth-visual-brand .dalu-logo-mark{width:48px;height:48px;flex-basis:48px}
.auth-visual-brand .dalu-logo-text{font-size:22px;color:#fff}
.auth-copy{margin:auto 0;max-width:570px}
.visual-kicker{color:#ff9670;letter-spacing:.14em;font-size:9.5px}
.auth-visual h1{font-size:clamp(39px,4.1vw,57px);line-height:1.06;letter-spacing:-.055em;margin:16px 0 0;max-width:590px}
.auth-visual p{max-width:520px;margin:20px 0 0;color:rgba(255,255,255,.67);font-size:15px;line-height:1.62}
.auth-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:520px;margin-top:27px}
.auth-proof div{border:1px solid rgba(255,255,255,.11);border-radius:16px;background:rgba(255,255,255,.065);padding:13px 14px;backdrop-filter:blur(8px)}
.auth-proof strong,.auth-proof small{display:block}.auth-proof strong{font-size:16px;color:#fff}.auth-proof small{margin-top:4px;color:rgba(255,255,255,.48);font-size:8.5px}
.auth-footer{color:rgba(255,255,255,.35);font-size:9px}
.auth-panel{background:#fbf8f2;padding:38px 50px}
.auth-card{width:min(440px,100%);border:0;background:transparent;box-shadow:none;padding:0}
.auth-brand{margin-bottom:38px;gap:10px}
.auth-brand .dalu-logo-mark{width:46px;height:46px;flex-basis:46px}
.auth-brand .dalu-logo-text{color:var(--dalu-navy-ink);font-size:21px}
.auth-welcome{color:var(--dalu-coral);font-size:9px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.auth-card h2{margin:9px 0 0;color:var(--dalu-navy-ink);font-size:31px;letter-spacing:-.045em}
.auth-card>p{margin:8px 0 27px;color:var(--dalu-muted);font-size:12.5px}
.auth-card .form-stack{gap:16px}
.auth-card .form-stack label{color:var(--dalu-navy-ink);font-size:10px}
.auth-card .form-stack input{height:49px;border-radius:13px;background:#fff;border:1px solid #ddd6cc;padding:0 14px}
.auth-card .form-stack input:focus{border-color:rgba(47,94,232,.55);box-shadow:0 0 0 4px rgba(47,94,232,.08)}
.auth-card .btn.xl{height:50px;margin-top:3px}
.auth-security{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:24px!important;color:#a39b91!important;font-size:9.5px!important}
.auth-security svg{width:13px;color:var(--dalu-green)}
.auth-meta-row{display:flex;align-items:center;justify-content:space-between;margin-top:-3px;color:var(--dalu-muted);font-size:10px}
.auth-meta-row a{font-weight:800;color:var(--dalu-blue)}

@media(max-width:1180px){
  .app-shell{grid-template-columns:210px minmax(0,1fr)}.app-sidebar{width:210px}
  .auth-visual{padding-inline:38px}.auth-visual h1{font-size:42px}.hero-art{width:230px;flex-basis:230px}
}
@media(max-width:820px){
  .app-shell{display:block}.app-sidebar{width:min(286px,88vw)}.app-main{width:100%}.app-topbar{padding:0 14px}
  .page-content{padding:20px 14px 92px}.dashboard-hero{min-height:140px;padding:19px}.hero-art{display:none}
  .auth-shell{display:block;min-height:100dvh}.auth-visual{display:none}.auth-panel{min-height:100dvh;padding:26px 20px;background:radial-gradient(circle at 100% 0%,rgba(47,94,232,.06),transparent 45%),var(--dalu-canvas)}
  .auth-card{max-width:460px}.auth-brand{margin-bottom:48px}.auth-card h2{font-size:29px}
}
@media(max-width:520px){
  .page-heading h1{font-size:25px}.dashboard-hero{border-radius:21px}.stat-row article{min-height:76px}.funnel-card{border-radius:19px}
  .auth-panel{padding:22px 18px}.auth-card .form-stack input{height:48px}.auth-brand{margin-bottom:42px}
}
.hero-signals{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:13px}
.hero-signals span{display:inline-flex;align-items:center;gap:5px;min-height:27px;padding:0 9px;border:1px solid rgba(226,216,202,.92);border-radius:999px;background:rgba(255,255,255,.72);color:#77736d;font-size:8.5px;font-weight:800;box-shadow:0 4px 12px rgba(47,57,75,.035)}
.hero-signals svg{width:13px;color:#6d4aff}
@media(max-width:520px){.hero-signals{gap:5px}.hero-signals span{font-size:7.8px;padding-inline:8px}}


/* Dalu 0.6.44 — identidad unificada: mascota transparente en producto + hero 3D en login desktop */
.dalu-logo-mark img{
  filter:drop-shadow(0 4px 8px rgba(7,31,72,.18));
  transform:translateZ(0);
}
.sidebar-brand .dalu-logo-mark img{filter:drop-shadow(0 5px 10px rgba(2,18,45,.24))}
.auth-brand .dalu-logo-mark img{filter:drop-shadow(0 5px 10px rgba(47,94,232,.16))}
.auth-visual-brand,.auth-copy,.auth-footer{position:relative;z-index:3}
.auth-login-hero{
  position:absolute;z-index:1;right:-76px;bottom:-6px;
  width:min(43vw,470px);aspect-ratio:1;pointer-events:none;user-select:none;
  opacity:.96;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 13%,#000 38%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 13%,#000 38%,#000 100%);
}
.auth-login-hero:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 58%,rgba(15,47,85,.26));
  border-radius:32px;pointer-events:none;
}
.auth-login-hero img{
  width:100%;height:100%;display:block;object-fit:cover;border-radius:34px;
  filter:saturate(1.04) contrast(1.02) drop-shadow(0 26px 46px rgba(0,0,0,.22));
}
.auth-copy{max-width:500px}
.auth-copy h1,.auth-copy p,.auth-proof{position:relative;z-index:2}
@media(max-width:1180px) and (min-width:821px){
  .auth-login-hero{right:-92px;bottom:4px;width:min(42vw,390px);opacity:.88}
  .auth-copy{max-width:470px}
}
@media(max-height:700px) and (min-width:821px){
  .auth-login-hero{width:min(39vw,350px);right:-72px;bottom:-20px;opacity:.86}
}
@media(max-width:820px){
  .auth-login-hero{display:none!important}
  .auth-brand .dalu-logo-mark{width:48px;height:48px;flex-basis:48px}
}

/* Dalu 0.6.45 — login 3D a sangre + favicon realmente transparente */
@media(min-width:821px){
  .auth-visual{
    isolation:isolate;
    background:#071b38;
  }
  .auth-visual:before{display:none!important}
  .auth-login-hero{
    position:absolute!important;
    inset:0!important;
    z-index:0!important;
    width:100%!important;
    height:100%!important;
    aspect-ratio:auto!important;
    opacity:1!important;
    -webkit-mask-image:none!important;
    mask-image:none!important;
  }
  .auth-login-hero img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:50% 55%!important;
    border-radius:0!important;
    filter:saturate(1.04) contrast(1.035)!important;
    transform:scale(1.015);
  }
  .auth-login-hero:after{
    content:"";
    position:absolute;
    inset:0;
    border-radius:0!important;
    background:
      linear-gradient(90deg,rgba(5,24,50,.78) 0%,rgba(7,29,59,.64) 31%,rgba(8,31,64,.38) 55%,rgba(6,24,51,.08) 100%),
      linear-gradient(180deg,rgba(4,20,43,.20) 0%,rgba(4,20,43,.03) 47%,rgba(4,20,43,.28) 100%);
    pointer-events:none;
  }
  .auth-visual-brand,.auth-copy,.auth-footer{z-index:2!important}
  .auth-copy{max-width:535px}
  .auth-proof div{
    background:rgba(13,46,86,.54);
    border-color:rgba(255,255,255,.13);
    box-shadow:0 10px 30px rgba(0,0,0,.08);
  }
  .auth-footer{color:rgba(255,255,255,.48)}
}
@media(max-width:1180px) and (min-width:821px){
  .auth-login-hero{right:0!important;bottom:0!important;width:100%!important;height:100%!important;opacity:1!important}
  .auth-login-hero img{object-position:53% 55%!important}
  .auth-copy{max-width:470px}
}
@media(max-height:700px) and (min-width:821px){
  .auth-login-hero{right:0!important;bottom:0!important;width:100%!important;height:100%!important;opacity:1!important}
  .auth-login-hero img{object-position:50% 58%!important}
}

/* Dalu v0.7.74 · Login premium inspirado en la claridad de kktuapp, conservando identidad Dalu */
.auth-body{min-height:100dvh;background:var(--dalu-canvas)}
.auth-panel{position:relative;isolation:isolate;background:
  radial-gradient(circle at 88% 10%,rgba(109,74,255,.11),transparent 32%),
  radial-gradient(circle at 5% 94%,rgba(255,122,77,.10),transparent 34%),
  var(--dalu-canvas)}
.auth-panel:before{content:"";position:absolute;inset:8% 8% auto auto;width:180px;height:180px;border-radius:50%;background:rgba(109,74,255,.055);filter:blur(46px);z-index:-1;pointer-events:none}
.auth-card{position:relative;width:min(470px,100%);padding:34px 34px 30px;border:1px solid color-mix(in srgb,var(--dalu-line) 84%,transparent);border-radius:30px;background:color-mix(in srgb,var(--dalu-surface-strong) 94%,transparent);box-shadow:0 26px 74px rgba(31,44,70,.12),inset 0 1px rgba(255,255,255,.76);backdrop-filter:blur(20px)}
.auth-brand-centered{justify-content:center;margin:0 0 24px}
.auth-brand-centered .dalu-logo-mark{width:58px;height:58px;flex-basis:58px}
.auth-brand-centered .dalu-logo-text{font-size:24px}
.auth-card-copy{text-align:center;margin-bottom:25px}
.auth-card-copy .auth-welcome{display:inline-block;margin-bottom:8px}
.auth-card-copy h2{margin:0;color:var(--dalu-navy-ink);font-size:34px;line-height:1.08;letter-spacing:-.05em}
.auth-card-copy p{margin:9px auto 0;max-width:330px;color:var(--dalu-muted);font-size:12.5px;line-height:1.55}
.auth-form{gap:17px}
.auth-field{display:grid;gap:7px;color:var(--dalu-navy-ink)!important;font-size:10.5px!important;font-weight:900}
.auth-input-wrap{position:relative;display:flex;align-items:center;min-height:56px;border:1px solid var(--dalu-line);border-radius:18px;background:color-mix(in srgb,var(--dalu-surface-strong) 98%,transparent);box-shadow:0 8px 24px rgba(38,51,75,.035);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.auth-input-wrap:focus-within{border-color:rgba(109,74,255,.48);box-shadow:0 0 0 4px rgba(109,74,255,.085),0 10px 28px rgba(38,51,75,.05)}
.auth-input-wrap>svg{position:absolute;left:16px;width:21px;height:21px;fill:none;stroke:#7f8a9a;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.auth-card .auth-input-wrap input{width:100%;height:54px!important;margin:0;border:0!important;border-radius:17px!important;background:transparent!important;padding:0 48px 0 49px!important;color:var(--dalu-navy-ink);font-size:15px;font-weight:700;box-shadow:none!important;outline:0}
.auth-card .auth-input-wrap input::placeholder{color:#9ca4ae;font-weight:700}
.auth-password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:40px;height:40px;border:0;border-radius:12px;background:transparent;color:#8a95a5;display:grid;place-items:center;cursor:pointer}
.auth-password-toggle:hover{background:color-mix(in srgb,var(--dalu-violet-soft) 72%,transparent);color:var(--dalu-violet)}
.auth-password-toggle svg{position:static!important;width:21px!important;height:21px!important;fill:none;stroke:currentColor!important;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.auth-eye-closed{display:none}.auth-password-toggle.is-showing .auth-eye-open{display:none}.auth-password-toggle.is-showing .auth-eye-closed{display:block}
.auth-meta-row{margin-top:-3px;font-size:10px}.auth-meta-row a{color:var(--dalu-violet);font-weight:900;text-decoration:none}.auth-meta-row a:hover{text-decoration:underline}
.auth-card .auth-submit{height:56px;margin-top:2px;border:0;border-radius:17px;background:linear-gradient(100deg,#ff7a4d 0%,#8b4df1 55%,#5f67f6 100%);box-shadow:0 16px 30px rgba(109,74,255,.19),0 7px 18px rgba(255,122,77,.13);display:flex;align-items:center;justify-content:center;gap:12px;color:#fff;font-size:15px;font-weight:900;letter-spacing:.01em}
.auth-card .auth-submit:hover{transform:translateY(-1px);filter:saturate(1.05);box-shadow:0 20px 38px rgba(109,74,255,.24),0 8px 22px rgba(255,122,77,.15)}
.auth-card .auth-submit svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.auth-security{margin:25px 0 0!important;font-size:9.5px!important;color:var(--dalu-muted)!important}
.auth-legal{margin:14px 0 0!important;text-align:center;color:var(--dalu-soft)!important;font-size:8.8px!important;line-height:1.45}
.form-error,.form-success{margin:0 0 18px;border-radius:14px}
html[data-studio-theme="dark"] .auth-body{background:#0b1119}
html[data-studio-theme="dark"] .auth-panel{background:radial-gradient(circle at 88% 8%,rgba(109,74,255,.13),transparent 34%),radial-gradient(circle at 4% 95%,rgba(255,122,77,.075),transparent 34%),#0b1119}
html[data-studio-theme="dark"] .auth-card{background:rgba(17,25,35,.94);border-color:#283442;box-shadow:0 30px 80px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.035)}
html[data-studio-theme="dark"] .auth-brand-centered .dalu-logo-text,html[data-studio-theme="dark"] .auth-card-copy h2,html[data-studio-theme="dark"] .auth-field{color:#eef3f8!important}
html[data-studio-theme="dark"] .auth-card-copy p,html[data-studio-theme="dark"] .auth-meta-row{color:#8f9cad}
html[data-studio-theme="dark"] .auth-input-wrap{background:#0d151e;border-color:#2b3744;box-shadow:none}
html[data-studio-theme="dark"] .auth-input-wrap:focus-within{border-color:#725ef0;box-shadow:0 0 0 4px rgba(109,74,255,.12)}
html[data-studio-theme="dark"] .auth-card .auth-input-wrap input{color:#eef3f8!important}
html[data-studio-theme="dark"] .auth-card .auth-input-wrap input::placeholder{color:#667485}
html[data-studio-theme="dark"] .auth-input-wrap>svg{stroke:#8794a5}
html[data-studio-theme="dark"] .auth-password-toggle{color:#8794a5}
html[data-studio-theme="dark"] .auth-password-toggle:hover{background:#211f37;color:#ad9bff}
html[data-studio-theme="dark"] .auth-security{color:#8f9cad!important}
html[data-studio-theme="dark"] .auth-legal{color:#667485!important}
@media(max-width:820px){
  .auth-panel{display:flex;align-items:center;justify-content:center;padding:24px 18px 34px!important}
  .auth-card{width:min(470px,100%);padding:31px 26px 28px;border-radius:30px}
  .auth-brand-centered{margin-bottom:23px}.auth-brand-centered .dalu-logo-mark{width:54px;height:54px;flex-basis:54px}.auth-brand-centered .dalu-logo-text{font-size:23px}
  .auth-card-copy h2{font-size:31px}.auth-card-copy{margin-bottom:24px}
}
@media(max-width:420px){
  .auth-panel{padding:18px 14px 28px!important}.auth-card{padding:28px 20px 25px;border-radius:27px}.auth-input-wrap{min-height:54px}.auth-card .auth-input-wrap input{height:52px!important;font-size:14.5px}.auth-card .auth-submit{height:54px}.auth-card-copy h2{font-size:29px}
}

/* ========================================================================== 
   Dalu v0.7.83 · LOGIN EN UNA SOLA PANTALLA · SIN SCROLL
   - El acceso ocupa exactamente el viewport disponible.
   - El padding cuenta dentro de 100dvh para evitar el scroll fantasma móvil.
   - No cambia lógica, tema, formulario ni autenticación.
   ========================================================================== */
html:has(body.auth-body),
body.auth-body{
  height:100%;
  min-height:100%;
  overflow:hidden!important;
  overscroll-behavior:none;
}
body.auth-body{
  height:100dvh!important;
  min-height:100dvh!important;
  max-height:100dvh!important;
}
.auth-body .auth-shell{
  height:100dvh!important;
  min-height:0!important;
  max-height:100dvh!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.auth-body .auth-panel{
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
@media(max-width:820px){
  .auth-body .auth-panel{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:clamp(10px,2.2dvh,18px) 14px!important;
  }
  .auth-body .auth-card{
    box-sizing:border-box!important;
    max-height:calc(100dvh - 20px)!important;
  }
}

/* Dalu v0.7.87 · Login SaaS · Ingresar / Crear cuenta */
.auth-card-saas{width:min(500px,100%)}
.auth-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:-5px 0 22px;padding:4px;border:1px solid var(--dalu-line);border-radius:17px;background:color-mix(in srgb,var(--dalu-canvas) 74%,transparent)}
.auth-mode-switch a{height:42px;display:grid;place-items:center;border-radius:13px;color:var(--dalu-muted);font-size:11px;font-weight:900;text-decoration:none;transition:.18s ease}
.auth-mode-switch a.is-active{background:var(--dalu-surface-strong);color:var(--dalu-navy-ink);box-shadow:0 7px 20px rgba(31,44,70,.09),inset 0 0 0 1px color-mix(in srgb,var(--dalu-line) 70%,transparent)}
.auth-trial-note{display:flex;align-items:flex-start;gap:9px;padding:11px 13px;border:1px solid rgba(109,74,255,.18);border-radius:15px;background:linear-gradient(135deg,rgba(109,74,255,.075),rgba(255,122,77,.045));color:var(--dalu-navy-ink)}
.auth-trial-note:before{content:"✦";color:#7656f6;font-size:16px;line-height:1.15}.auth-trial-note strong{display:block;font-size:10px;font-weight:900}.auth-trial-note small{display:block;margin-top:2px;color:var(--dalu-muted);font-size:8.7px;line-height:1.4}
html[data-studio-theme="dark"] .auth-mode-switch{background:#0a1119;border-color:#283442}html[data-studio-theme="dark"] .auth-mode-switch a.is-active{background:#17212d;color:#f0f4f8;box-shadow:none}html[data-studio-theme="dark"] .auth-trial-note{color:#eef3f8;background:linear-gradient(135deg,rgba(109,74,255,.12),rgba(255,122,77,.07));border-color:#343149}
@media(max-width:820px){.auth-card-saas{padding-top:22px!important;padding-bottom:20px!important}.auth-card-saas .auth-brand-centered{margin-bottom:14px}.auth-card-saas .auth-brand-centered .dalu-logo-mark{width:44px;height:44px;flex-basis:44px}.auth-card-saas .auth-brand-centered .dalu-logo-text{font-size:20px}.auth-card-saas .auth-mode-switch{margin-bottom:14px}.auth-card-saas .auth-card-copy{margin-bottom:15px}.auth-card-saas .auth-card-copy h2{font-size:27px}.auth-card-saas .auth-card-copy p{margin-top:6px;font-size:10.5px}.auth-card-saas .auth-form{gap:10px}.auth-card-saas .auth-field{gap:5px}.auth-card-saas .auth-input-wrap{min-height:48px}.auth-card-saas .auth-input-wrap input{height:46px!important}.auth-card-saas .auth-submit{height:49px}.auth-card-saas .auth-security{margin-top:14px!important}.auth-card-saas .auth-legal{margin-top:8px!important}}


/* ========================================================================== 
   Dalu v0.8.5 · LOGIN CENTRADO + HERO FULL BLEED + CARGA PRIORITARIA
   - El arte de Dalu cubre realmente todo el panel azul en desktop.
   - La tarjeta de acceso se centra de forma estable en el panel derecho.
   - Compacta solo el login en pantallas desktop de poca altura.
   - Registro conserva acceso completo y puede desplazarse si la altura no alcanza.
   ========================================================================== */
@media(min-width:821px){
  .auth-body .auth-visual{
    position:relative!important;
    isolation:isolate;
  }
  .auth-body .auth-login-hero{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    z-index:0!important;
    overflow:hidden;
    pointer-events:none;
  }
  .auth-body .auth-login-hero img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:50% 50%!important;
    border-radius:0!important;
    transform:scale(1.01)!important;
    filter:saturate(1.04) contrast(1.035)!important;
  }
  .auth-body .auth-login-hero:after{
    inset:0!important;
  }
  .auth-body .auth-visual-inner{
    position:relative!important;
    z-index:1!important;
  }
  .auth-body .auth-panel{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:clamp(22px,3vw,48px)!important;
  }
  .auth-body .auth-card-saas{
    margin:auto!important;
  }
}

@media(min-width:821px) and (max-height:760px){
  .auth-body .auth-shell.auth-mode-login .auth-panel{
    padding:12px 24px!important;
  }
  .auth-body .auth-shell.auth-mode-login .auth-card-saas{
    width:min(470px,100%)!important;
    padding:20px 26px 18px!important;
    border-radius:26px!important;
  }
  .auth-body .auth-shell.auth-mode-login .auth-brand-centered{
    margin-bottom:12px!important;
  }
  .auth-body .auth-shell.auth-mode-login .auth-brand-centered .dalu-logo-mark{
    width:46px!important;height:46px!important;flex-basis:46px!important;
  }
  .auth-body .auth-shell.auth-mode-login .auth-brand-centered .dalu-logo-text{
    font-size:21px!important;
  }
  .auth-body .auth-shell.auth-mode-login .auth-mode-switch{
    margin:0 0 12px!important;
    padding:3px!important;
  }
  .auth-body .auth-shell.auth-mode-login .auth-mode-switch a{
    height:36px!important;
  }
  .auth-body .auth-shell.auth-mode-login .auth-card-copy{
    margin-bottom:14px!important;
  }
  .auth-body .auth-shell.auth-mode-login .auth-card-copy .auth-welcome{
    margin-bottom:5px!important;
  }
  .auth-body .auth-shell.auth-mode-login .auth-card-copy h2{
    font-size:28px!important;
  }
  .auth-body .auth-shell.auth-mode-login .auth-card-copy p{
    margin-top:5px!important;
    font-size:10.5px!important;
  }
  .auth-body .auth-shell.auth-mode-login .auth-form{
    gap:10px!important;
  }
  .auth-body .auth-shell.auth-mode-login .auth-field{
    gap:4px!important;
  }
  .auth-body .auth-shell.auth-mode-login .auth-input-wrap{
    min-height:48px!important;
  }
  .auth-body .auth-shell.auth-mode-login .auth-input-wrap input{
    height:46px!important;
  }
  .auth-body .auth-shell.auth-mode-login .auth-card .auth-submit{
    height:49px!important;
  }
  .auth-body .auth-shell.auth-mode-login .auth-security{
    margin-top:12px!important;
  }
  .auth-body .auth-shell.auth-mode-login .auth-legal{
    margin-top:6px!important;
  }
  .auth-body .auth-shell.auth-mode-register .auth-panel{
    align-items:flex-start!important;
    overflow-y:auto!important;
    padding-top:16px!important;
    padding-bottom:16px!important;
  }
}
