/**
 * TECSA E-MAIL V6.7 · Design System definitivo
 * Única fuente visual compartida por panel, módulos, recuperación, PWA e instalación.
 */
:root{
  color-scheme:dark;
  --tecsa-green-950:#031b13;
  --tecsa-green-900:#063D30;
  --tecsa-green-800:#0B4D3A;
  --tecsa-green-700:#12694f;
  --tecsa-green-600:#168461;
  --tecsa-mint-500:#45d4a3;
  --tecsa-mint-300:#91e9c7;
  --tecsa-gold-500:#F2C200;
  --tecsa-red-500:#f06464;
  --tecsa-orange-500:#f29b45;
  --tecsa-white:#ffffff;
  --tecsa-black:#07100c;

  --tecsa-bg:#07140f;
  --tecsa-bg-soft:#0a1d16;
  --tecsa-surface:#0e261c;
  --tecsa-surface-2:#132d22;
  --tecsa-surface-3:#18382a;
  --tecsa-surface-glass:rgba(10,35,25,.82);
  --tecsa-border:rgba(126,199,172,.18);
  --tecsa-border-strong:rgba(126,199,172,.32);
  --tecsa-text:#f2fbf6;
  --tecsa-text-soft:#c5d9d0;
  --tecsa-muted:#90aea2;
  --tecsa-focus:rgba(69,212,163,.22);
  --tecsa-shadow-sm:0 8px 24px rgba(0,0,0,.16);
  --tecsa-shadow-md:0 18px 48px rgba(0,0,0,.24);
  --tecsa-shadow-lg:0 35px 100px rgba(0,0,0,.38);
  --tecsa-radius-xs:9px;
  --tecsa-radius-sm:12px;
  --tecsa-radius-md:16px;
  --tecsa-radius-lg:22px;
  --tecsa-radius-xl:30px;
  --tecsa-transition:180ms cubic-bezier(.2,.72,.2,1);
  --tecsa-font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --tecsa-font-display:Georgia,"Times New Roman",serif;

  --bg:var(--tecsa-bg);
  --bg2:var(--tecsa-bg-soft);
  --panel:var(--tecsa-surface);
  --panel2:var(--tecsa-surface-2);
  --panel3:var(--tecsa-surface-3);
  --line:var(--tecsa-border);
  --text:var(--tecsa-text);
  --muted:var(--tecsa-muted);
  --blue:var(--tecsa-green-800);
  --cyan:var(--tecsa-mint-500);
  --green:#38c98f;
  --amber:var(--tecsa-gold-500);
  --red:var(--tecsa-red-500);
  --shadow:var(--tecsa-shadow-md);
  --bs-primary:var(--tecsa-green-800);
  --bs-primary-rgb:11,77,58;
}

[data-theme="light"]{
  color-scheme:light;
  --tecsa-bg:#f4f7f5;
  --tecsa-bg-soft:#e9efec;
  --tecsa-surface:#ffffff;
  --tecsa-surface-2:#f7faf8;
  --tecsa-surface-3:#edf4f0;
  --tecsa-surface-glass:rgba(255,255,255,.84);
  --tecsa-border:rgba(22,74,54,.13);
  --tecsa-border-strong:rgba(22,74,54,.24);
  --tecsa-text:#183129;
  --tecsa-text-soft:#38534a;
  --tecsa-muted:#667d74;
  --tecsa-focus:rgba(11,77,58,.13);
  --tecsa-shadow-sm:0 8px 22px rgba(25,62,48,.08);
  --tecsa-shadow-md:0 18px 45px rgba(25,62,48,.11);
  --tecsa-shadow-lg:0 35px 85px rgba(25,62,48,.16);
}

*{box-sizing:border-box}
html{
  background:var(--tecsa-bg);
  color:var(--tecsa-text);
  font-family:var(--tecsa-font);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body{
  min-height:100vh;
  background:
    radial-gradient(circle at 88% 2%,rgba(69,212,163,.07),transparent 31rem),
    radial-gradient(circle at 2% 98%,rgba(242,194,0,.035),transparent 28rem),
    var(--tecsa-bg);
  color:var(--tecsa-text);
}
::selection{background:rgba(69,212,163,.26);color:var(--tecsa-text)}
:focus-visible{outline:2px solid var(--tecsa-mint-500)!important;outline-offset:3px}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{transition:border-color var(--tecsa-transition),background-color var(--tecsa-transition),color var(--tecsa-transition),box-shadow var(--tecsa-transition),transform var(--tecsa-transition)}
button:not(:disabled),a[href]{cursor:pointer}
img,svg{max-width:100%}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--tecsa-muted) 32%,transparent);border:3px solid transparent;border-radius:999px;background-clip:padding-box}
::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--tecsa-mint-500) 46%,transparent);border:3px solid transparent;background-clip:padding-box}

/* Estructura principal */
.cv-app,.app-shell,.app-v11,.app12{background:transparent!important}
.cv-main,.cv-content,.main-v11,.main12{position:relative}
.cv-content{max-width:1680px;padding-top:28px}
.cv-top,.cv-header,.header-v11,.header12{
  border-color:var(--tecsa-border)!important;
  background:var(--tecsa-surface-glass)!important;
  backdrop-filter:blur(22px) saturate(135%);
  -webkit-backdrop-filter:blur(22px) saturate(135%);
  box-shadow:0 1px 0 rgba(255,255,255,.025),0 12px 36px rgba(0,0,0,.08);
}
.cv-top{height:76px}
.cv-global-search,.search-box,.search-v11{
  border:1px solid var(--tecsa-border)!important;
  background:color-mix(in srgb,var(--tecsa-surface-2) 88%,transparent)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.025);
}
.cv-global-search:focus-within,.search-box:focus-within,.search-v11:focus-within{
  border-color:var(--tecsa-mint-500)!important;
  box-shadow:0 0 0 4px var(--tecsa-focus)!important;
}

/* Navegación */
.cv-sidebar,.app-sidebar,.side-v11,.side12{
  background:
    radial-gradient(circle at 10% 0,rgba(69,212,163,.10),transparent 18rem),
    linear-gradient(180deg,var(--tecsa-green-900),var(--tecsa-green-950))!important;
  border-color:rgba(145,233,199,.12)!important;
  box-shadow:14px 0 44px rgba(0,0,0,.16);
}
.cv-sidebar-brand{
  height:92px;
  border-color:rgba(145,233,199,.13)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.025),transparent);
}
.cv-sidebar nav,.app-sidebar nav{padding:17px 12px}
.cv-sidebar nav section,.app-sidebar nav section{margin-bottom:18px}
.cv-sidebar nav section>small,.app-sidebar nav section>small,
.tecsa-navigation-section>small{
  display:block;
  margin:14px 13px 7px;
  color:#8fb9a8!important;
  font-size:8px!important;
  font-weight:900!important;
  letter-spacing:.18em!important;
}
.cv-sidebar nav button,.tecsa-nav-link{
  min-height:44px;
  margin:3px 0;
  padding:0 14px!important;
  border:1px solid transparent!important;
  border-radius:13px!important;
  color:#c0d9cf!important;
  font-size:11px!important;
  font-weight:730!important;
}
.cv-sidebar nav button i,.tecsa-nav-link i{color:#77dcb6!important}
.cv-sidebar nav button:hover,.tecsa-nav-link:hover{
  background:rgba(255,255,255,.065)!important;
  border-color:rgba(145,233,199,.10)!important;
  color:#fff!important;
  transform:translateX(2px);
}
.cv-sidebar nav button.active,.tecsa-nav-link.active{
  color:#fff!important;
  background:linear-gradient(135deg,rgba(69,212,163,.20),rgba(11,77,58,.34))!important;
  border-color:rgba(145,233,199,.20)!important;
  box-shadow:inset 3px 0 var(--tecsa-mint-500),0 10px 28px rgba(0,0,0,.13)!important;
}
.cv-sidebar footer,.cv-side-bottom,.side-bottom-v11,.side-bottom12{
  border-color:rgba(145,233,199,.12)!important;
  background:rgba(0,0,0,.10);
}

/* Encabezados */
.cv-page-head,.panel-head,.panel-head12,.panel-v11>header,.panel12>header{position:relative}
.cv-page-head span,.cv-kicker,.cv-eyebrow,.eyebrow{
  color:var(--tecsa-mint-500)!important;
  letter-spacing:.15em!important;
  font-weight:900!important;
}
.cv-page-head h1,.hero h1,.hero-v11 h1,.hero12 h1{
  color:var(--tecsa-text)!important;
  font-weight:820!important;
  letter-spacing:-.035em!important;
}
.cv-page-head p,.hero p,.hero-v11 p,.hero12 p{color:var(--tecsa-muted)!important}

/* Paneles y tarjetas */
.cv-panel,.panel,.panel-v11,.panel12,.aside-card,.toolbar-card,.toolbar-v11,.toolbar12,
.modal-card,.modal-content-custom,.modal-v11,.modal12,.hero-card,.hero-v11,.hero12,
.cv-compose,.cv-mailbox,.cv-reader{
  border:1px solid var(--tecsa-border)!important;
  background:
    linear-gradient(145deg,var(--tecsa-surface),color-mix(in srgb,var(--tecsa-surface) 95%,var(--tecsa-green-800)))!important;
  box-shadow:var(--tecsa-shadow-md)!important;
  border-radius:var(--tecsa-radius-lg)!important;
}
.cv-panel,.panel,.panel-v11,.panel12{overflow:hidden}
.cv-panel:hover,.stat-card:hover,.metric:hover{
  border-color:var(--tecsa-border-strong)!important;
}
.cv-panel-head,.panel-head,.panel-head12{min-height:46px}
.cv-panel h3,.panel-title,.panel-v11 h3,.panel12 h3{font-weight:800!important}

/* Métricas */
.cv-metrics article,.stat-card,.metric,.stats-v11 article,.stats12 article{
  position:relative;
  overflow:hidden;
  border:1px solid var(--tecsa-border)!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,var(--tecsa-surface),var(--tecsa-surface-2))!important;
  box-shadow:var(--tecsa-shadow-sm)!important;
}
.cv-metrics article:after,.stat-card:after,.metric:after,.stats-v11 article:after,.stats12 article:after{
  content:"";
  position:absolute;
  width:110px;height:110px;
  right:-62px;top:-65px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(69,212,163,.12),transparent 68%);
  pointer-events:none;
}
.cv-metrics article>span,.metric-icon,.icon12,.device-icon{
  color:var(--tecsa-mint-500)!important;
  background:rgba(69,212,163,.10)!important;
  border:1px solid rgba(69,212,163,.14);
  box-shadow:inset 0 1px rgba(255,255,255,.04);
}
.cv-metrics strong,.stat-card strong,.metric strong{color:var(--tecsa-text)!important;font-variant-numeric:tabular-nums}

/* Botones */
.cv-button,.primary-btn,.secondary-btn,.primary-v11,.secondary-v11,.primary12,
.icon-btn,.icon-button,.text-button,.row-actions button,.cv-top button{
  border-radius:12px!important;
  font-weight:800!important;
}
.cv-button.primary,.primary-btn,.primary-v11,.primary12,.btn-primary,.cv-top-compose{
  border:0!important;
  color:#fff!important;
  background:linear-gradient(135deg,var(--tecsa-green-700),var(--tecsa-green-800))!important;
  box-shadow:0 10px 26px rgba(11,77,58,.26)!important;
}
.cv-button.primary:hover,.primary-btn:hover,.primary-v11:hover,.primary12:hover,.btn-primary:hover,.cv-top-compose:hover{
  background:linear-gradient(135deg,var(--tecsa-green-600),var(--tecsa-green-800))!important;
  box-shadow:0 14px 34px rgba(11,77,58,.32)!important;
  transform:translateY(-1px);
}
.cv-button.ghost,.secondary-btn,.secondary-v11,.text-button{
  border:1px solid var(--tecsa-border)!important;
  color:var(--tecsa-text-soft)!important;
  background:var(--tecsa-surface-2)!important;
}
.cv-button.ghost:hover,.secondary-btn:hover,.secondary-v11:hover,.text-button:hover{
  border-color:var(--tecsa-border-strong)!important;
  color:var(--tecsa-mint-500)!important;
  background:var(--tecsa-surface-3)!important;
}
.danger,.danger-v11,.danger12,.cv-icon-danger{color:var(--tecsa-red-500)!important}

/* Formularios */
.cv-field>span,.field-row label,.field-v11>span,.field12>span{color:var(--tecsa-text-soft)!important}
.cv-field input,.cv-field select,.cv-field textarea,
.field-row input,.field-row select,.field-row textarea,
.field-v11 input,.field-v11 select,.field-v11 textarea,
.field12 input,.field12 select,.field12 textarea,
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
select,textarea{
  border:1px solid var(--tecsa-border)!important;
  background:var(--tecsa-surface-2)!important;
  color:var(--tecsa-text)!important;
  border-radius:12px!important;
  box-shadow:inset 0 1px rgba(255,255,255,.025);
}
input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--tecsa-muted) 78%,transparent)!important}
.cv-field input:focus,.cv-field select:focus,.cv-field textarea:focus,
input:focus,select:focus,textarea:focus{
  border-color:var(--tecsa-mint-500)!important;
  box-shadow:0 0 0 4px var(--tecsa-focus)!important;
  outline:0!important;
}
.cv-check input,.check-v11 input,.check-field input{accent-color:var(--tecsa-green-700)}

/* Tablas y listas */
table,.user-table,.contact-table,.audit-table,.storage-table,.table-scroll12{
  border-color:var(--tecsa-border)!important;
}
table thead,.table-header{
  background:color-mix(in srgb,var(--tecsa-surface-3) 82%,transparent)!important;
}
table th,.table-header{
  color:var(--tecsa-muted)!important;
  font-size:9px!important;
  font-weight:900!important;
  letter-spacing:.09em;
  text-transform:uppercase;
}
table td,table th{border-color:var(--tecsa-border)!important}
table tbody tr,.user-table>div,.contact-table>div,.audit-table>div,.storage-row{
  transition:background var(--tecsa-transition),transform var(--tecsa-transition);
}
table tbody tr:hover,.user-table>div:hover,.contact-table>div:hover,.audit-table>div:hover,.storage-row:hover{
  background:rgba(69,212,163,.045)!important;
}
.cv-mail-list>div,.cv-card-list>div,.collection-list>div,.session-list>div,.event-list>div,
.backup-list12>div,.maintenance-list12>div,.storage-list12>div{
  border-color:var(--tecsa-border)!important;
}
.cv-mail-list>div:hover,.cv-card-list>div:hover,.collection-list>div:hover{
  background:rgba(69,212,163,.045)!important;
}
.cv-mail-list>div.unread{
  background:linear-gradient(90deg,rgba(69,212,163,.085),rgba(69,212,163,.015))!important;
  box-shadow:inset 3px 0 var(--tecsa-mint-500);
}
.cv-mail-list>div>span,.sender-avatar,.avatar,.cv-card-list>div>span{
  color:var(--tecsa-mint-300)!important;
  background:linear-gradient(135deg,rgba(69,212,163,.18),rgba(11,77,58,.24))!important;
  border:1px solid rgba(69,212,163,.13);
}

/* Badges y estados */
.status-pill,.pill-v11,.pill12,.count-pill,.role-pill,.current-pill,.backup-status,
.cv-mail-list>div>em,.cv-card-list em{
  border:1px solid var(--tecsa-border)!important;
  border-radius:999px!important;
  background:var(--tecsa-surface-2)!important;
  color:var(--tecsa-text-soft)!important;
  font-weight:800!important;
}
.success-v11,.sent,.status-pill.sent{color:#65dcae!important;background:rgba(56,201,143,.10)!important}
.warn,.warning-copy,.retry,.queued{color:#f4cf51!important;background:rgba(242,194,0,.09)!important}
.failed,.danger,.status-pill.failed{color:#ff8585!important;background:rgba(240,100,100,.09)!important}

/* Login */
.cv-login{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 8%,rgba(69,212,163,.18),transparent 30rem),
    radial-gradient(circle at 80% 85%,rgba(242,194,0,.055),transparent 24rem),
    linear-gradient(145deg,var(--tecsa-green-950),#061912 58%,#020b08)!important;
}
.cv-login:before{
  content:"";
  position:absolute;inset:0;
  opacity:.22;
  background-image:
    linear-gradient(rgba(145,233,199,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(145,233,199,.08) 1px,transparent 1px);
  background-size:54px 54px;
  mask-image:linear-gradient(to right,#000,transparent 75%);
  pointer-events:none;
}
.cv-login>aside{z-index:1}
.cv-login>aside h1{
  max-width:760px!important;
  font-family:var(--tecsa-font-display)!important;
  font-size:clamp(42px,5vw,70px)!important;
  letter-spacing:-.045em!important;
}
.cv-login>aside>p{color:#a8c8bb!important;font-size:12px!important}
.cv-login-points>div{
  padding:11px;
  border:1px solid rgba(145,233,199,.10);
  border-radius:15px;
  background:rgba(255,255,255,.025);
}
.cv-login-points i{color:var(--tecsa-mint-500)!important;background:rgba(69,212,163,.11)!important}
.cv-login>main{
  z-index:1;
  background:rgba(9,37,27,.88)!important;
  border:1px solid rgba(145,233,199,.18)!important;
  border-radius:28px!important;
  box-shadow:0 45px 130px rgba(0,0,0,.48)!important;
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
}
[data-theme="light"] .cv-login>main{background:rgba(255,255,255,.92)!important}

/* Dashboard */
.cv-hero-panel,.hero,.hero-v11,.hero12{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 92% 10%,rgba(69,212,163,.16),transparent 18rem),
    linear-gradient(135deg,var(--tecsa-green-900),var(--tecsa-green-800))!important;
  color:#fff!important;
}
.cv-hero-panel:after,.hero:after,.hero-v11:after,.hero12:after{
  content:"";
  position:absolute;
  right:-80px;bottom:-110px;
  width:270px;height:270px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
  box-shadow:0 0 0 50px rgba(255,255,255,.025),0 0 0 100px rgba(255,255,255,.018);
  pointer-events:none;
}
.cv-hero-panel p,.hero p,.hero-v11 p,.hero12 p{color:#bcd9cd!important}
.cv-quick button{
  border-color:var(--tecsa-border)!important;
  background:var(--tecsa-surface-2)!important;
}
.cv-quick button:hover{border-color:var(--tecsa-border-strong)!important;background:var(--tecsa-surface-3)!important}

/* Bandeja */
.cv-mailbox{padding:0!important}
.cv-mailbox>header{
  min-height:68px;
  padding:13px 16px!important;
  border-bottom:1px solid var(--tecsa-border)!important;
  background:color-mix(in srgb,var(--tecsa-surface-2) 72%,transparent);
}
.cv-mail-list>div{min-height:66px!important}
.cv-mail-list aside button:hover{color:var(--tecsa-mint-500)!important;background:rgba(69,212,163,.08)!important;border-radius:8px}
.cv-empty,.empty,.empty-v11,.empty12{
  border:1px dashed var(--tecsa-border-strong)!important;
  border-radius:18px!important;
  background:rgba(69,212,163,.025)!important;
  color:var(--tecsa-muted)!important;
}

/* Lector */
.cv-reader-tools button,.cv-reader-tools a,.cv-reply-bar button{
  border:1px solid var(--tecsa-border)!important;
  background:var(--tecsa-surface-2)!important;
  color:var(--tecsa-text-soft)!important;
}
.cv-reader-tools button:hover,.cv-reader-tools a:hover,.cv-reply-bar button:hover{
  border-color:var(--tecsa-border-strong)!important;
  color:var(--tecsa-mint-500)!important;
}
.cv-reader iframe{box-shadow:0 10px 34px rgba(0,0,0,.12)}
.cv-sender{border-color:var(--tecsa-border)!important}
.cv-attachments>div{border-color:var(--tecsa-border)!important;background:var(--tecsa-surface-2)!important}

/* Redactor */
.cv-compose>header{
  background:
    radial-gradient(circle at 90% 0,rgba(69,212,163,.14),transparent 14rem),
    linear-gradient(135deg,var(--tecsa-green-900),var(--tecsa-green-800))!important;
}
.cv-compose-fields>div,.cv-editor-tools,.cv-compose>footer,.cv-compose-attachments{border-color:var(--tecsa-border)!important}
.cv-editor{background:var(--tecsa-surface)!important;color:var(--tecsa-text)!important}
.cv-editor:focus{box-shadow:inset 0 0 0 2px rgba(69,212,163,.24)!important}
.cv-editor-tools button:hover,.cv-editor-tools label:hover{background:rgba(69,212,163,.08)!important;color:var(--tecsa-mint-500)!important}

/* Modales, alertas y toasts */
.cv-backdrop,.modal-backdrop-custom,.modal-v11-back,.modal12-back{
  background:rgba(1,10,7,.72)!important;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.cv-alert,.alert-v11,.alert12,.error-box,.info-strip,.info-v11,.safe-note{
  border-radius:14px!important;
  border:1px solid var(--tecsa-border)!important;
  background:var(--tecsa-surface-2)!important;
}
.cv-alert.warning,.warning-copy{border-color:rgba(242,194,0,.24)!important;background:rgba(242,194,0,.065)!important}
.cv-alert.danger,.error-box{border-color:rgba(240,100,100,.25)!important;background:rgba(240,100,100,.065)!important}
.cv-toast,.toast,.toast-v11,.toast12{
  border:1px solid rgba(69,212,163,.25)!important;
  border-radius:15px!important;
  background:rgba(8,39,28,.94)!important;
  color:#edfff8!important;
  box-shadow:var(--tecsa-shadow-lg)!important;
  backdrop-filter:blur(16px);
}
[data-theme="light"] .cv-toast,[data-theme="light"] .toast,[data-theme="light"] .toast-v11,[data-theme="light"] .toast12{
  background:rgba(255,255,255,.96)!important;
  color:var(--tecsa-text)!important;
}

/* Módulos */
body[data-tecsa-visual-page="module"]{padding-top:72px!important}
.tecsa-module-shell{
  min-height:66px!important;
  border-bottom:1px solid var(--tecsa-border)!important;
  background:var(--tecsa-surface-glass)!important;
  backdrop-filter:blur(22px) saturate(135%)!important;
  -webkit-backdrop-filter:blur(22px) saturate(135%)!important;
  box-shadow:0 12px 38px rgba(0,0,0,.12)!important;
}
.tecsa-module-shell-brand{color:var(--tecsa-text)!important}
.tecsa-module-shell-brand img{width:39px!important;height:39px!important;filter:drop-shadow(0 6px 12px rgba(0,0,0,.18))}
.tecsa-module-shell-brand small{color:var(--tecsa-muted)!important}
.tecsa-module-shell-link{color:var(--tecsa-muted)!important;border:1px solid transparent!important}
.tecsa-module-shell-link:hover,.tecsa-module-shell-link.active{
  color:var(--tecsa-mint-500)!important;
  background:rgba(69,212,163,.08)!important;
  border-color:rgba(69,212,163,.13)!important;
}

/* Navegación móvil */
.cv-mobile-nav{
  height:76px!important;
  border-color:var(--tecsa-border)!important;
  background:var(--tecsa-surface-glass)!important;
  backdrop-filter:blur(22px)!important;
  -webkit-backdrop-filter:blur(22px)!important;
  box-shadow:0 -14px 40px rgba(0,0,0,.14);
}
.cv-mobile-nav button.active{color:var(--tecsa-mint-500)!important}
.cv-mobile-nav button.compose{
  background:linear-gradient(135deg,var(--tecsa-green-700),var(--tecsa-green-800))!important;
  box-shadow:0 14px 34px rgba(11,77,58,.36)!important;
}

/* Carga y skeletons */
.cv-loading,.loading-v11,.loading12,.skeleton-list,.skeleton-v11,.skeleton12{
  position:relative;
  overflow:hidden;
}
.skeleton-list>*,.skeleton-v11>*,.skeleton12>*{
  background:var(--tecsa-surface-2)!important;
  border-color:var(--tecsa-border)!important;
}
.skeleton-list>*:after,.skeleton-v11>*:after,.skeleton12>*:after{
  content:"";
  position:absolute;inset:0;
  transform:translateX(-100%);
  background:linear-gradient(90deg,transparent,rgba(145,233,199,.08),transparent);
  animation:tecsa-shimmer 1.45s infinite;
}
@keyframes tecsa-shimmer{100%{transform:translateX(100%)}}

/* Estado de entrada */
.tecsa-visual-ready .cv-content>*,.tecsa-visual-ready .main-v11>*,.tecsa-visual-ready .main12>*{
  animation:tecsa-enter .36s both;
}
@keyframes tecsa-enter{
  from{opacity:0;transform:translateY(7px)}
  to{opacity:1;transform:none}
}
.tecsa-route-progress{
  position:fixed;z-index:2147483644;left:0;right:0;top:0;height:3px;
  pointer-events:none;opacity:0;transition:opacity .16s ease;
}
.tecsa-route-progress.is-visible{opacity:1}
.tecsa-route-progress:before{
  content:"";display:block;width:42%;height:100%;
  background:linear-gradient(90deg,var(--tecsa-green-700),var(--tecsa-mint-500),var(--tecsa-gold-500));
  box-shadow:0 0 18px rgba(69,212,163,.46);
  animation:tecsa-route-progress 1s ease-in-out infinite;
}
@keyframes tecsa-route-progress{
  from{transform:translateX(-110%)}
  to{transform:translateX(340%)}
}

/* Páginas de sistema */
body.tecsa-system-page{
  min-height:100vh!important;
  padding:clamp(18px,4vw,48px)!important;
  background:
    radial-gradient(circle at 10% 0,rgba(69,212,163,.11),transparent 27rem),
    var(--tecsa-bg)!important;
}
body.tecsa-system-page .card,body.tecsa-system-page .panel{
  border:1px solid var(--tecsa-border)!important;
  border-radius:var(--tecsa-radius-lg)!important;
  background:var(--tecsa-surface)!important;
  box-shadow:var(--tecsa-shadow-md)!important;
}
body.tecsa-system-page a{color:var(--tecsa-mint-500)}

/* Responsive */
@media(max-width:1100px){
  .cv-content{padding-left:18px!important;padding-right:18px!important}
}
@media(max-width:900px){
  .cv-sidebar{width:286px!important}
  .cv-content{padding-top:20px!important}
  .tecsa-module-shell{min-height:62px!important}
  body[data-tecsa-visual-page="module"]{padding-top:66px!important}
}
@media(max-width:650px){
  .cv-content{padding-left:11px!important;padding-right:11px!important}
  .cv-panel,.panel,.panel-v11,.panel12,.cv-compose,.cv-reader,.cv-mailbox{border-radius:16px!important}
  .cv-metrics article,.stat-card,.metric{border-radius:15px!important}
  .cv-page-head{gap:12px!important}
  .cv-page-head h1{font-size:25px!important}
  .cv-top{height:66px!important}
  .cv-mail-list>div{min-height:62px!important}
  .cv-login>main{border-radius:22px!important}
  .tecsa-module-shell-brand span{display:none!important}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
@media print{
  .cv-sidebar,.cv-top,.cv-mobile-nav,.tecsa-module-shell,.tecsa-route-progress,.cv-reader-tools,.cv-reply-bar{display:none!important}
  .cv-main{margin:0!important}
  body,.cv-content,.cv-panel,.cv-reader{background:#fff!important;color:#111!important;box-shadow:none!important}
}