/*
 * ECO CONTROL — identidad visual compartida de ECO SISTEMAS.
 * Capa exclusivamente estética: no modifica datos, permisos ni flujos.
 */
:root{
  color-scheme:dark;
  --eco-brand-red:#d52b33;
  --eco-brand-red-bright:#ef3e45;
  --eco-brand-red-deep:#8f171e;
  --eco-carbon:#080a0d;
  --eco-graphite:#111419;
  --eco-panel:rgba(22,25,31,.82);
  --eco-panel-solid:#171a20;
  --eco-panel-soft:rgba(255,255,255,.035);
  --eco-ivory:#f4f1ea;
  --eco-silver:#a8adb7;
  --eco-hairline:rgba(255,255,255,.105);
  --eco-hairline-hot:rgba(213,43,51,.38);
  --eco-control-ease:cubic-bezier(.22,1,.36,1);
  --eco-control-shadow:0 22px 60px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.045);
  --eco-ui-text:var(--eco-ivory);
  --eco-ui-muted:var(--eco-silver);
  --eco-ui-line:var(--eco-hairline);
  --eco-ui-line-strong:rgba(239,62,69,.52);
  --eco-ui-surface:var(--eco-panel);
  --eco-ui-surface-strong:rgba(23,26,32,.97);
  --eco-ui-accent:var(--eco-brand-red-bright);
  --accent:var(--eco-brand-red);
  --accent-dark:var(--eco-brand-red-deep);
  --mp-surface:var(--eco-panel);
  --mp-line:var(--eco-hairline);
  --mp-muted:var(--eco-silver);
  --mp-text:var(--eco-ivory);
  --mp-accent:#ff7479;
  --mp-glass:rgba(15,18,23,.88);
  --team-bg:var(--eco-carbon);
  --team-card:var(--eco-panel-soft);
  --team-text:var(--eco-ivory);
  --team-muted:var(--eco-silver);
  --team-line:var(--eco-hairline);
}

html[data-theme="light"]{
  color-scheme:light;
  --eco-carbon:#ece9e4;
  --eco-graphite:#f5f2ed;
  --eco-panel:rgba(255,255,255,.78);
  --eco-panel-solid:#fbfaf7;
  --eco-panel-soft:rgba(255,255,255,.62);
  --eco-ivory:#202126;
  --eco-silver:#62656d;
  --eco-hairline:rgba(32,33,38,.11);
  --eco-hairline-hot:rgba(190,28,37,.28);
  --eco-control-shadow:0 20px 52px rgba(67,55,42,.12),inset 0 1px 0 rgba(255,255,255,.75);
  --eco-ui-accent:#b91f28;
  --mp-accent:#b91f28;
  --mp-glass:rgba(250,248,244,.9);
  --team-bg:#efede8;
}

html,
body.eco-app-polished,
body.eco-app-polished button,
body.eco-app-polished input,
body.eco-app-polished select,
body.eco-app-polished textarea{
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue","Segoe UI",sans-serif!important;
}

body.eco-app-polished{
  background:
    radial-gradient(900px 560px at -8% -12%,rgba(213,43,51,.14),transparent 64%),
    radial-gradient(760px 520px at 108% 4%,rgba(255,255,255,.045),transparent 68%),
    linear-gradient(145deg,rgba(255,255,255,.012) 25%,transparent 25% 75%,rgba(213,43,51,.012) 75%),
    var(--eco-carbon)!important;
  background-size:auto,auto,34px 34px,auto!important;
  color:var(--eco-ivory)!important;
  letter-spacing:-.012em;
}

html[data-theme="light"] body.eco-app-polished{
  background:
    radial-gradient(920px 580px at -8% -10%,rgba(190,28,37,.09),transparent 64%),
    radial-gradient(760px 520px at 108% 4%,rgba(255,255,255,.72),transparent 68%),
    #efede8!important;
}

body.eco-app-polished :is(h1,h2,.title,.hero-title){
  color:var(--eco-ivory);
  font-weight:720!important;
  letter-spacing:-.045em!important;
  text-wrap:balance;
}
body.eco-app-polished :is(h3,h4,strong,b){letter-spacing:-.022em}
body.eco-app-polished :is(.muted,.subtitle,.help,.panel-sub,small){color:var(--eco-silver)}

/* Superficies ECO: vidrio grafito, una línea roja de firma y profundidad contenida. */
body.eco-app-polished :is(.card,.hero-shell,.team-home-hero,.apple-command-center,.tools,dialog,.modal-card,.confirm-card,.signature-modal-card,.express-review-card,.xp-signature-modal-card){
  border-color:var(--eco-hairline)!important;
  background:
    linear-gradient(115deg,rgba(213,43,51,.08),transparent 20%),
    linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.008)),
    var(--eco-panel)!important;
  box-shadow:var(--eco-control-shadow)!important;
  backdrop-filter:blur(26px) saturate(125%)!important;
  -webkit-backdrop-filter:blur(26px) saturate(125%)!important;
}
body.eco-app-polished :is(.card,.hero-shell,.team-home-hero,.apple-command-center){
  border-radius:20px!important;
  box-shadow:inset 2px 0 0 rgba(213,43,51,.18),var(--eco-control-shadow)!important;
}
body.eco-app-polished :is(.card,.hero-shell,.team-home-hero,.apple-command-center,.item-row,.catalog-row,.clause-row){
  transition:border-color .22s ease,box-shadow .28s var(--eco-control-ease),background-color .22s ease,transform .28s var(--eco-control-ease);
}

/* Controles: menos aspecto de plantilla, más precisión de herramienta técnica. */
body.eco-app-polished :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]){
  min-height:44px;
  border-radius:12px!important;
  border:1px solid var(--eco-hairline)!important;
  background:rgba(255,255,255,.045)!important;
  color:var(--eco-ivory)!important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.12)!important;
}
html[data-theme="light"] body.eco-app-polished :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]){background:rgba(255,255,255,.64)!important}
body.eco-app-polished :is(input,textarea)::placeholder{color:color-mix(in srgb,var(--eco-silver) 78%,transparent)!important}
body.eco-app-polished :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]):focus{
  border-color:rgba(239,62,69,.5)!important;
  box-shadow:0 0 0 4px rgba(213,43,51,.11),inset 0 1px 2px rgba(0,0,0,.08)!important;
}

body.eco-app-polished button{
  border-radius:12px!important;
  letter-spacing:-.012em!important;
  font-weight:680!important;
}
body.eco-app-polished :is(button.primary,.primary-action,.tab-btn.active,.nav-btn.active){
  border:1px solid rgba(255,123,128,.32)!important;
  background:linear-gradient(180deg,var(--eco-brand-red-bright),var(--eco-brand-red-deep))!important;
  color:#fff!important;
  box-shadow:0 10px 28px rgba(143,23,30,.28),inset 0 1px 0 rgba(255,255,255,.22)!important;
}
body.eco-app-polished :is(button.secondary,.nav-btn,.tab-btn):not(.active){
  border:1px solid var(--eco-hairline)!important;
  background:rgba(255,255,255,.045)!important;
  color:var(--eco-ivory)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
body.eco-app-polished :is(.success-btn,.info-btn){box-shadow:none!important}
body.eco-app-polished .danger{border-color:rgba(255,69,58,.42)!important}

/* Navegación con una firma roja constante, sin convertir todo en alarma. */
body.eco-app-polished :is(#bottomNavBar,#teamBottomNav,.eco-side-nav,.team-sidebar){
  border-color:var(--eco-hairline)!important;
  background:rgba(13,16,20,.86)!important;
  box-shadow:0 18px 58px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05)!important;
  backdrop-filter:blur(28px) saturate(130%)!important;
  -webkit-backdrop-filter:blur(28px) saturate(130%)!important;
}
html[data-theme="light"] body.eco-app-polished :is(#bottomNavBar,#teamBottomNav,.eco-side-nav,.team-sidebar){background:rgba(249,247,243,.88)!important}
body.eco-app-polished :is(#bottomNavBar,#teamBottomNav) button.active,
body.eco-app-polished :is(.eco-side-btn,.team-sidebar nav button).active{
  color:#ff7379!important;
  background:linear-gradient(135deg,rgba(213,43,51,.16),rgba(213,43,51,.055))!important;
  border-color:rgba(213,43,51,.24)!important;
}
body.eco-app-polished :is(.eco-side-btn,.team-sidebar nav button).active{box-shadow:inset 2px 0 0 var(--eco-brand-red)!important}

/* Ventanas flotantes y despliegues suaves. */
body.eco-app-polished :is(dialog,.modal-card,.confirm-card,.signature-modal-card,.express-review-card,.xp-signature-modal-card){
  border-radius:22px!important;
}
body.eco-app-polished :is(dialog,.confirm-modal,.signature-modal,.express-review-modal,.xp-signature-modal)::backdrop{
  background:rgba(3,5,8,.62)!important;
  backdrop-filter:blur(18px) saturate(80%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(80%)!important;
}
body.eco-app-polished dialog[open],
body.eco-app-polished :is(.confirm-modal.active .confirm-card,.signature-modal.open .signature-modal-card,.express-review-modal.is-open .express-review-card){
  animation:ecoControlReveal .24s var(--eco-control-ease) both!important;
}
body.eco-app-polished details[open]>:not(summary){animation:ecoControlSection .22s var(--eco-control-ease) both}

/* Tablas y estados: jerarquía técnica y lectura rápida. */
body.eco-app-polished :is(table,.table){border-color:var(--eco-hairline)!important}
body.eco-app-polished :is(th,.table-head){color:var(--eco-silver)!important;font-size:.72rem;font-weight:760;letter-spacing:.075em;text-transform:uppercase}
body.eco-app-polished :is(td,th){border-color:var(--eco-hairline)!important}
body.eco-app-polished :is(.badge,.chip,.pill){border-color:var(--eco-hairline)}
body.eco-app-polished :is(.logo,.hero-logo,.login-logo,.team-brand img,.team-rail-brand img){
  box-shadow:0 10px 30px rgba(0,0,0,.25),0 0 0 1px rgba(255,255,255,.09)!important;
}

/* Scroll ECO: discreto, suave y visible sólo donde hace falta. */
body.eco-app-polished{scrollbar-width:thin;scrollbar-color:rgba(213,43,51,.35) transparent}
body.eco-app-polished *{scrollbar-width:thin;scrollbar-color:rgba(168,173,183,.24) transparent}
body.eco-app-polished::-webkit-scrollbar-thumb{background:rgba(213,43,51,.38)!important}
body.eco-app-polished *::-webkit-scrollbar-thumb{background:rgba(168,173,183,.25)!important}
body.eco-app-polished ::-webkit-scrollbar-thumb:hover{background:rgba(213,43,51,.42)!important}

@keyframes ecoControlReveal{from{opacity:0;transform:translateY(10px) scale(.985);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
@keyframes ecoControlSection{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}

@media (hover:hover) and (pointer:fine){
  body.eco-app-polished :is(.card,.hero-shell,.team-home-hero):hover{border-color:rgba(255,255,255,.15)!important;box-shadow:inset 2px 0 0 rgba(213,43,51,.35),0 26px 70px rgba(0,0,0,.3)!important}
  body.eco-app-polished button:not(:disabled):hover{transform:translateY(-1px);filter:brightness(1.055)}
  body.eco-app-polished button:not(:disabled):active{transform:translateY(0) scale(.985)}
}

@media screen and (max-width:760px){
  body.eco-app-polished{
    background:radial-gradient(620px 390px at -16% -5%,rgba(213,43,51,.14),transparent 63%),var(--eco-carbon)!important;
    background-size:auto!important;
  }
  body.eco-app-polished :is(.card,.hero-shell,.team-home-hero,.apple-command-center){
    border-radius:18px!important;
    box-shadow:inset 2px 0 0 rgba(213,43,51,.2),0 14px 38px rgba(0,0,0,.2)!important;
    backdrop-filter:blur(20px) saturate(120%)!important;
    -webkit-backdrop-filter:blur(20px) saturate(120%)!important;
  }
  body.eco-app-polished :is(dialog,.modal-card,.confirm-card,.signature-modal-card,.express-review-card,.xp-signature-modal-card){border-radius:20px!important}
  body.eco-app-polished :is(#bottomNavBar,#teamBottomNav){border-radius:22px!important}
  body.eco-app-polished :is(#bottomNavBar,#teamBottomNav) button.active{box-shadow:inset 0 -2px 0 var(--eco-brand-red)!important}
  body.eco-app-polished :is(h1,.title,.hero-title){letter-spacing:-.05em!important}
}

@media (prefers-reduced-motion:reduce){
  body.eco-app-polished dialog[open],body.eco-app-polished details[open]>:not(summary){animation:none!important}
}

/* La información histórica de Caja sigue protegida en los respaldos, pero
   el módulo deja de formar parte de la interfaz operativa. */
body.eco-app-polished :is([data-eco-tab="tab-caja"],button[onclick*="tab-caja"],#tab-caja){display:none!important}

@media print{
  body.eco-app-polished{background:#fff!important;color:#111!important}
  body.eco-app-polished :is(.card,.hero-shell,.team-home-hero,.apple-command-center){box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
}

/*
 * ECOSISTEMAS AURA 2026
 * Paleta propia: vidrio humo, azul niebla, menta, lavanda y arena.
 * El coral queda reservado para alarmas, fallas y acciones destructivas.
 */
:root{
  --eco-brand-red:#df6870;
  --eco-brand-red-bright:#ed8589;
  --eco-brand-red-deep:#ad414b;
  --eco-carbon:#090e15;
  --eco-graphite:#101722;
  --eco-panel:rgba(18,27,39,.68);
  --eco-panel-solid:#151e2a;
  --eco-panel-soft:rgba(205,225,246,.045);
  --eco-ivory:#f1f5f8;
  --eco-silver:#aab7c6;
  --eco-hairline:rgba(205,225,246,.13);
  --eco-hairline-hot:rgba(137,197,242,.34);
  --eco-mist:#92c8ef;
  --eco-mist-strong:#5aa8e3;
  --eco-mint:#88d8bd;
  --eco-lilac:#c3afe8;
  --eco-sand:#e7c691;
  --eco-coral:#e9787e;
  --eco-control-shadow:0 24px 68px rgba(0,5,14,.3),inset 0 1px 0 rgba(226,239,251,.07);
  --eco-ui-line-strong:rgba(146,200,239,.46);
  --eco-ui-accent:var(--eco-mist);
  --accent:var(--eco-mist-strong);
  --accent-dark:#347cad;
  --mp-accent:var(--eco-mist);
  --mp-glass:rgba(13,21,31,.78);
}

html[data-theme="light"]{
  --eco-carbon:#edf2f4;
  --eco-graphite:#f6f8f8;
  --eco-panel:rgba(255,255,255,.68);
  --eco-panel-solid:#fbfcfc;
  --eco-panel-soft:rgba(255,255,255,.58);
  --eco-ivory:#24303a;
  --eco-silver:#697783;
  --eco-hairline:rgba(53,76,94,.12);
  --eco-hairline-hot:rgba(64,139,190,.25);
  --eco-control-shadow:0 22px 58px rgba(49,73,88,.12),inset 0 1px 0 rgba(255,255,255,.86);
  --eco-ui-accent:#397fae;
  --mp-accent:#397fae;
  --mp-glass:rgba(248,251,252,.82);
  --team-bg:#edf2f4;
}

body.eco-app-polished{
  background:
    radial-gradient(760px 520px at -8% -8%,rgba(126,190,234,.13),transparent 66%),
    radial-gradient(680px 480px at 104% 0%,rgba(190,166,230,.105),transparent 64%),
    radial-gradient(720px 520px at 72% 108%,rgba(111,210,176,.07),transparent 68%),
    var(--eco-carbon)!important;
  background-attachment:fixed!important;
  background-size:auto!important;
}
html[data-theme="light"] body.eco-app-polished{
  background:
    radial-gradient(820px 560px at -8% -8%,rgba(132,196,233,.24),transparent 66%),
    radial-gradient(700px 520px at 105% 2%,rgba(202,184,231,.22),transparent 65%),
    radial-gradient(680px 520px at 70% 108%,rgba(144,220,193,.16),transparent 68%),
    #edf2f4!important;
}

body.eco-app-polished :is(.card,.hero-shell,.team-home-hero,.apple-command-center,.tools,dialog,.modal-card,.confirm-card,.signature-modal-card,.express-review-card,.xp-signature-modal-card){
  border:1px solid var(--eco-hairline)!important;
  background:
    linear-gradient(135deg,rgba(177,213,240,.055),transparent 38%),
    linear-gradient(180deg,rgba(255,255,255,.026),rgba(255,255,255,.006)),
    var(--eco-panel)!important;
  box-shadow:var(--eco-control-shadow)!important;
  backdrop-filter:blur(32px) saturate(138%)!important;
  -webkit-backdrop-filter:blur(32px) saturate(138%)!important;
}
body.eco-app-polished :is(.card,.hero-shell,.team-home-hero,.apple-command-center){
  border-radius:22px!important;
  box-shadow:inset 0 1px 0 rgba(226,239,251,.075),var(--eco-control-shadow)!important;
}

body.eco-app-polished :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]){
  border-color:rgba(205,225,246,.14)!important;
  background:rgba(210,229,245,.045)!important;
}
body.eco-app-polished :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]):focus{
  border-color:rgba(146,200,239,.58)!important;
  box-shadow:0 0 0 4px rgba(109,174,221,.12),inset 0 1px 2px rgba(0,0,0,.08)!important;
}
html[data-theme="light"] body.eco-app-polished :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]){background:rgba(255,255,255,.67)!important;border-color:rgba(50,82,105,.12)!important}

/* Acción normal azul niebla; coral únicamente para peligro o alarma. */
body.eco-app-polished :is(button.primary,.primary-action,.tab-btn.active,.nav-btn.active){
  border-color:rgba(168,215,246,.34)!important;
  background:linear-gradient(145deg,rgba(91,164,215,.94),rgba(66,123,168,.94))!important;
  color:#f8fcff!important;
  box-shadow:0 12px 28px rgba(28,91,135,.22),inset 0 1px 0 rgba(255,255,255,.22)!important;
}
body.eco-app-polished :is(button.secondary,.nav-btn,.tab-btn):not(.active){background:rgba(206,225,243,.045)!important}
body.eco-app-polished :is(button.danger,.danger,.ups-danger-soft){
  border-color:rgba(233,120,126,.34)!important;
  background:rgba(233,120,126,.09)!important;
  color:#f19a9e!important;
}
body.eco-app-polished :is(.success-btn){background:rgba(136,216,189,.12)!important;border-color:rgba(136,216,189,.25)!important;color:#9de5cc!important}
body.eco-app-polished :is(.info-btn){background:rgba(146,200,239,.11)!important;border-color:rgba(146,200,239,.24)!important;color:#a6d4f4!important}

body.eco-app-polished :is(#bottomNavBar,#teamBottomNav,.eco-side-nav,.team-sidebar){
  border-color:rgba(205,225,246,.12)!important;
  background:rgba(10,17,26,.74)!important;
  box-shadow:0 18px 58px rgba(0,4,12,.28),inset 0 1px 0 rgba(226,239,251,.065)!important;
  backdrop-filter:blur(34px) saturate(145%)!important;
  -webkit-backdrop-filter:blur(34px) saturate(145%)!important;
}
html[data-theme="light"] body.eco-app-polished :is(#bottomNavBar,#teamBottomNav,.eco-side-nav,.team-sidebar){background:rgba(245,249,250,.78)!important}
body.eco-app-polished :is(#bottomNavBar,#teamBottomNav) button.active,
body.eco-app-polished :is(.eco-side-btn,.team-sidebar nav button).active{
  color:var(--eco-mist)!important;
  background:linear-gradient(135deg,rgba(146,200,239,.14),rgba(195,175,232,.055))!important;
  border-color:rgba(146,200,239,.2)!important;
}
body.eco-app-polished :is(.eco-side-btn,.team-sidebar nav button).active{box-shadow:inset 2px 0 0 var(--eco-mist-strong)!important}
body.eco-app-polished :is(#bottomNavBar,#teamBottomNav) button.active{box-shadow:inset 0 -2px 0 var(--eco-mist-strong)!important}

/* Cada área conserva un matiz reconocible sin convertir la pantalla en un arcoíris. */
body.eco-app-polished :is([data-eco-tab="tab-inicio"],[data-module="inicio"]) :is(.eco-side-ico,.team-nav-icon){color:var(--eco-mist);background:rgba(146,200,239,.105)}
body.eco-app-polished :is([data-eco-tab="tab-presupuestos"],[data-module="presupuestos"]) :is(.eco-side-ico,.team-nav-icon){color:var(--eco-sand);background:rgba(231,198,145,.1)}
body.eco-app-polished :is([data-eco-tab="tab-clientes"],[data-module="clientes"]) :is(.eco-side-ico,.team-nav-icon){color:var(--eco-mint);background:rgba(136,216,189,.1)}
body.eco-app-polished :is([data-eco-tab="tab-calendario"],[data-module="calendario"],[data-module="ordenes"]) :is(.eco-side-ico,.team-nav-icon){color:var(--eco-lilac);background:rgba(195,175,232,.1)}
body.eco-app-polished :is([data-eco-tab="tab-informes"],[data-module="informes"]) :is(.eco-side-ico,.team-nav-icon){color:#a8d2eb;background:rgba(168,210,235,.1)}
body.eco-app-polished :is([data-eco-tab="tab-ups"],[data-module="ups"]) :is(.eco-side-ico,.team-nav-icon){color:#a6dfcb;background:rgba(136,216,189,.1)}
body.eco-app-polished :is([data-eco-tab="tab-monitoreo"],[data-eco-tab="tab-aprobaciones"]) :is(.eco-side-ico,.team-nav-icon){color:#ef969b;background:rgba(233,120,126,.1)}

body.eco-app-polished{scrollbar-color:rgba(146,200,239,.28) transparent}
body.eco-app-polished::-webkit-scrollbar-thumb{background:rgba(146,200,239,.3)!important}
body.eco-app-polished *::-webkit-scrollbar-thumb{background:rgba(170,190,210,.22)!important}
body.eco-app-polished ::-webkit-scrollbar-thumb:hover{background:rgba(146,200,239,.4)!important}

@media (hover:hover) and (pointer:fine){
  body.eco-app-polished :is(.card,.hero-shell,.team-home-hero):hover{border-color:rgba(174,213,240,.2)!important;box-shadow:inset 0 1px 0 rgba(226,239,251,.1),0 27px 72px rgba(0,4,12,.32)!important}
}

@media screen and (max-width:760px){
  body.eco-app-polished{
    background:
      radial-gradient(540px 360px at -18% -4%,rgba(126,190,234,.15),transparent 65%),
      radial-gradient(480px 340px at 112% 15%,rgba(190,166,230,.1),transparent 66%),
      var(--eco-carbon)!important;
  }
  body.eco-app-polished :is(.card,.hero-shell,.team-home-hero,.apple-command-center){
    border-radius:20px!important;
    box-shadow:inset 0 1px 0 rgba(226,239,251,.075),0 15px 38px rgba(0,4,12,.21)!important;
    backdrop-filter:blur(24px) saturate(132%)!important;
    -webkit-backdrop-filter:blur(24px) saturate(132%)!important;
  }
}

@media print{
  body.eco-app-polished{background:#fff!important;color:#111!important}
  body.eco-app-polished :is(.card,.hero-shell,.team-home-hero,.apple-command-center){background:#fff!important;border-color:#ddd!important}
}

body.eco-app-polished .splash-login-eyebrow,
body.eco-app-polished.auth-screen .login-eyebrow{
  color:var(--eco-mist)!important;
  text-shadow:0 0 22px rgba(146,200,239,.18);
}
html[data-theme="light"] body.eco-app-polished .splash-login-eyebrow,
html[data-theme="light"] body.eco-app-polished.auth-screen .login-eyebrow{color:#397fae!important}

/* Apertura de marca: pausada para que el gesto se perciba sin demorar el trabajo. */
body.eco-app-polished #splashStage .splash-brand-lockup{
  animation:ecoBrandLockup 1.55s var(--eco-control-ease) both;
}
body.eco-app-polished .splash-logo-ring{
  position:relative;
  isolation:isolate;
}
body.eco-app-polished .splash-logo-ring::before{
  content:"";
  position:absolute;
  inset:-5px;
  z-index:-1;
  border-radius:inherit;
  padding:1.5px;
  background:conic-gradient(from 205deg,transparent 0 38%,rgba(233,120,126,.95) 48%,rgba(146,200,239,.85) 62%,transparent 74% 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:0;
  animation:ecoBrandArc 1.8s var(--eco-control-ease) .16s both;
}
body.eco-app-polished .splash-logo-ring::after{
  content:"";
  position:absolute;
  inset:-18px;
  z-index:-2;
  border-radius:34%;
  background:radial-gradient(circle,rgba(146,200,239,.2),transparent 68%);
  filter:blur(9px);
  animation:ecoBrandGlow 2.1s ease-out both;
}
body.eco-app-polished .splash-brand{animation:ecoBrandTitle 1.05s var(--eco-control-ease) .58s both!important}
body.eco-app-polished .splash-sub{animation:ecoBrandTitle 1s var(--eco-control-ease) .78s both!important}

body.eco-app-polished.auth-screen .brand{
  animation:ecoBrandLockup 1.25s var(--eco-control-ease) both;
}
body.eco-app-polished.auth-screen .brand .logo{
  position:relative;
  animation:ecoBrandLogo 1.4s var(--eco-control-ease) both;
}
body.eco-app-polished.auth-screen #loginCard,
body.eco-app-polished.auth-screen #authLoading{
  animation:ecoGlassRise 1s var(--eco-control-ease) .42s both!important;
}
body.eco-app-polished .team-login{
  animation:ecoGlassRise 1s var(--eco-control-ease) .24s both;
}
body.eco-app-polished .tab-pane.active,
body.eco-app-polished #content>.card,
body.eco-app-polished #content>.team-ups-summary,
body.eco-app-polished #content>.team-ups-list{
  animation:ecoSectionArrive .34s var(--eco-control-ease) both;
}

@keyframes ecoBrandLockup{
  0%{opacity:0;transform:scale(.9);filter:blur(8px)}
  52%{opacity:1;transform:scale(1.025);filter:blur(0)}
  100%{opacity:1;transform:none;filter:none}
}
@keyframes ecoBrandLogo{
  0%{opacity:0;transform:scale(.74) rotate(-5deg);filter:blur(7px)}
  72%{opacity:1;transform:scale(1.035) rotate(0);filter:none}
  100%{opacity:1;transform:none}
}
@keyframes ecoBrandArc{
  0%{opacity:0;transform:rotate(-95deg) scale(.82)}
  40%{opacity:1}
  100%{opacity:.78;transform:rotate(0) scale(1)}
}
@keyframes ecoBrandGlow{0%{opacity:0;transform:scale(.55)}45%{opacity:1}100%{opacity:.35;transform:scale(1)}}
@keyframes ecoBrandTitle{from{opacity:0;transform:translateY(9px);letter-spacing:.13em}to{opacity:1;transform:none}}
@keyframes ecoGlassRise{from{opacity:0;transform:translateY(16px) scale(.985);filter:blur(7px)}to{opacity:1;transform:none;filter:none}}
@keyframes ecoSectionArrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}

/* ================================================================
   ECOSISTEMAS SIGNAL — lenguaje visual propio
   Circuito, plano técnico y señalización; evita el aspecto de plantilla.
   ================================================================ */
:root{
  --eco-signal:#d82d3a;
  --eco-signal-soft:#e98289;
  --eco-drafting:rgba(146,200,239,.075);
  --eco-porcelain:#f0eee8;
  --eco-cut:10px;
}
body.eco-app-polished{
  font-family:"Avenir Next","SF Pro Display","Segoe UI",sans-serif!important;
  letter-spacing:-.009em;
}
body.eco-app-polished::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.68;
  background-image:
    linear-gradient(var(--eco-drafting) 1px,transparent 1px),
    linear-gradient(90deg,var(--eco-drafting) 1px,transparent 1px),
    radial-gradient(circle at 16% 14%,rgba(216,45,58,.085),transparent 26%),
    radial-gradient(circle at 88% 74%,rgba(146,200,239,.07),transparent 24%);
  background-size:42px 42px,42px 42px,auto,auto;
  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.84),transparent 92%);
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.84),transparent 92%);
}
body.eco-app-polished :is(.card,.hero-shell,.team-home-hero,.apple-command-center,.splash-login-card,#loginCard,#authLoading){
  border-radius:20px 20px 20px 6px!important;
  border-color:rgba(188,207,225,.13)!important;
  box-shadow:0 20px 54px rgba(0,0,0,.19),inset 0 1px 0 rgba(255,255,255,.055),inset 3px 0 0 rgba(216,45,58,.12)!important;
}
body.eco-app-polished :is(.card,.hero-shell,.team-home-hero,.apple-command-center){
  background-image:linear-gradient(118deg,rgba(255,255,255,.035),transparent 38%),linear-gradient(90deg,rgba(216,45,58,.16),rgba(146,200,239,.12) 34%,transparent 68%)!important;
  background-repeat:no-repeat!important;
  background-size:auto,100% 1px!important;
}
body.eco-app-polished :is(.panel-title,.team-section-heading,.settings-section-head,.survey-head)>div:first-child::before{
  content:"ECO / CONTROL";display:block;margin-bottom:6px;color:var(--eco-mist);font-size:8px;font-weight:800;letter-spacing:.2em;line-height:1;text-transform:uppercase;
}
body.eco-app-polished :is(h1,h2,h3,.hero-title){
  font-family:"Avenir Next Condensed","Avenir Next","SF Pro Display",sans-serif!important;
  font-feature-settings:"ss01" 1,"kern" 1;
}
body.eco-app-polished :is(.panel-title h3,.team-section-heading h1,.settings-section-head h2){letter-spacing:-.035em!important}
body.eco-app-polished :is(button,.button,.primary,.primary-action,.secondary,.info-btn,.danger):not(.ups-month-point):not(.map-marker){
  border-radius:12px 12px 12px 4px!important;
}
body.eco-app-polished :is(.eco-side-btn,.tab-btn,.team-bottom-nav button).active,
body.eco-app-polished :is(.eco-side-btn,.tab-btn,.team-bottom-nav button)[aria-current="page"]{
  box-shadow:inset 3px 0 0 var(--eco-signal),inset 0 1px 0 rgba(255,255,255,.05)!important;
}
body.eco-app-polished .section-chip,
body.eco-app-polished .team-eyebrow,
body.eco-app-polished .ups-reports-eyebrow{
  border-radius:4px!important;letter-spacing:.17em!important;text-transform:uppercase!important;
}
body.eco-app-polished .section-chip::before{content:"●";margin-right:6px;color:var(--eco-signal);font-size:.65em}
body.eco-app-polished :is(.tbl,.ups-schedule-table) th{
  font-family:"Avenir Next","SF Pro Text",sans-serif!important;
  letter-spacing:.13em!important;font-weight:750!important;
}
body.eco-app-polished input:focus,
body.eco-app-polished select:focus,
body.eco-app-polished textarea:focus{
  border-color:rgba(146,200,239,.62)!important;
  box-shadow:0 0 0 3px rgba(146,200,239,.1),inset 3px 0 0 rgba(216,45,58,.45)!important;
}
body.eco-app-polished.auth-screen .shell,
body.eco-app-polished #splashStage{position:relative}
body.eco-app-polished.auth-screen .shell::before,
body.eco-app-polished #splashStage::before{
  content:none!important;display:none!important;
}
body.eco-app-polished .splash-logo-ring,
body.eco-app-polished.auth-screen .brand .logo{
  border-radius:18px 18px 18px 5px!important;
}
html[data-theme="light"] body.eco-app-polished::before{opacity:.34;--eco-drafting:rgba(62,104,145,.08)}
html[data-theme="light"] body.eco-app-polished :is(.card,.hero-shell,.team-home-hero,.apple-command-center){
  box-shadow:0 18px 46px rgba(47,63,82,.1),inset 0 1px 0 rgba(255,255,255,.8),inset 3px 0 0 rgba(216,45,58,.13)!important;
}
@media(max-width:720px){
  body.eco-app-polished::before{background-size:32px 32px,32px 32px,auto,auto;opacity:.48}
  body.eco-app-polished :is(.card,.hero-shell,.team-home-hero,.apple-command-center){border-radius:18px 18px 18px 5px!important}
}
@media print{
  body.eco-app-polished::before,body.eco-app-polished.auth-screen .shell::before,body.eco-app-polished #splashStage::before{display:none!important}
  body.eco-app-polished :is(.card,.hero-shell,.team-home-hero,.apple-command-center){background-image:none!important;box-shadow:none!important}
}

@media (prefers-reduced-motion:reduce){
  body.eco-app-polished :is(#splashStage .splash-brand-lockup,.splash-logo-ring::before,.splash-logo-ring::after,.splash-brand,.splash-sub,.auth-screen .brand,.auth-screen .brand .logo,.auth-screen #loginCard,.auth-screen #authLoading,.team-login,.tab-pane.active,#content>.card,#content>.team-ups-summary,#content>.team-ups-list){animation:none!important}
}
