/* 4.9.5 · Renovación visual general.
   Conserva estructura, medidas, orden, botones e impresos del ERP. */
@media screen {
 .app-shell{
  --visual-blue:#168fc7;
  --visual-cyan:#36c8d8;
  --visual-violet:#7768e8;
  --visual-ink:#17283f;
  --visual-line:#dbe5f0;
 }
 .app-shell .app-content{
  position:relative;
  isolation:isolate;
  background-color:#f2f6fb;
  background-image:
   radial-gradient(circle at 93% 4%,rgba(119,104,232,.13),transparent 26rem),
   radial-gradient(circle at 4% 36%,rgba(54,200,216,.11),transparent 28rem),
   linear-gradient(145deg,#f8fbff 0%,#f1f5fb 52%,#f7f9fd 100%);
  background-attachment:fixed;
 }
 .app-shell .app-content::before{
  content:"";
  position:fixed;
  inset:76px 0 0 264px;
  z-index:-1;
  pointer-events:none;
  opacity:.42;
  background-image:linear-gradient(rgba(74,116,160,.032) 1px,transparent 1px),linear-gradient(90deg,rgba(74,116,160,.032) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(to bottom,black,transparent 78%);
 }
 .app-shell .sidebar{
  background:
   radial-gradient(circle at 14% 7%,rgba(45,177,221,.23),transparent 16rem),
   radial-gradient(circle at 85% 82%,rgba(119,104,232,.18),transparent 18rem),
   linear-gradient(180deg,#0d1724 0%,#131d2b 54%,#111926 100%);
  border-right:1px solid rgba(137,200,238,.09);
  box-shadow:12px 0 42px rgba(15,35,58,.12);
 }
 .app-shell .sidebar-brand{border-bottom-color:rgba(168,215,243,.12)}
 .app-shell .sidebar-brand img{filter:drop-shadow(0 7px 16px rgba(0,0,0,.18))}
 .app-shell .nav-label{color:#71869e}
 .app-shell .side-nav a{position:relative;overflow:hidden;color:#aebccd}
 .app-shell .side-nav a::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.08),transparent 80%);transform:translateX(-115%)}
 .app-shell .side-nav a:hover{background:rgba(255,255,255,.07);color:#fff;transform:translateX(2px)}
 .app-shell .side-nav a.active{
  color:#fff;
  background:linear-gradient(100deg,rgba(22,143,199,.38),rgba(81,96,205,.25));
  box-shadow:inset 3px 0 #51d5e4,0 8px 22px rgba(0,0,0,.12);
 }
 .app-shell .side-nav a.active svg{filter:drop-shadow(0 0 7px rgba(94,216,237,.5))}
 .app-shell .sidebar-user{border-top-color:rgba(168,215,243,.12);background:rgba(5,13,24,.13)}
 .app-shell .workspace-bar{
  background:rgba(255,255,255,.88);
  border-bottom-color:rgba(202,216,231,.88);
  box-shadow:0 9px 28px rgba(31,61,94,.07);
  backdrop-filter:blur(17px) saturate(145%);
 }
 .app-shell .workspace-bar::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent,#35bdd4 28%,#796de7 56%,transparent 85%);
  background-size:180% 100%;
  opacity:.48;
  pointer-events:none;
 }
 .app-shell .workspace-title strong{color:#253650}
 .app-shell .container{position:relative}
 .app-shell .page-title h1{color:var(--visual-ink);text-shadow:0 1px 0 #fff;letter-spacing:-.7px}
 .app-shell .page-subtitle{color:#6a7c91}
 .app-shell .eyebrow{color:#087ead}
 .app-shell :is(.card,.metric-card,.quick-register-card,.register-sheet,.quick-summary-grid>article,.collection-summary>article,.stats>article,.mini-stat-grid>article){
  border-color:rgba(207,220,234,.92);
  box-shadow:0 4px 10px rgba(35,61,91,.035),0 17px 44px rgba(35,61,91,.075);
 }
 .app-shell :is(.card,.quick-register-card,.register-sheet){
  background-color:rgba(255,255,255,.97);
  background-image:linear-gradient(145deg,rgba(255,255,255,0) 58%,rgba(226,239,250,.34));
 }
 .app-shell :is(.metric-card,.stats>article,.mini-stat-grid>article,.quick-summary-grid>article,.collection-summary>article){background-color:rgba(255,255,255,.96)}
 .app-shell .metric-card::before,
 .app-shell .stats>article::before,
 .app-shell .mini-stat-grid>article::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  border-radius:inherit;
  background:linear-gradient(180deg,#28bad4,#7768e8);
  opacity:.72;
 }
 .app-shell .stats>article,.app-shell .mini-stat-grid>article{position:relative;overflow:hidden}
 .app-shell :is(.quick-register-head,.sheet-toolbar,.section-head){border-color:#e1e9f2}
 .app-shell :is(.table-wrap,.sheet-scroll){border-color:#dce6f0;background:rgba(255,255,255,.78);box-shadow:inset 0 1px 0 #fff}
 .app-shell :is(table:not(.quote-document-table):not(.statement-table)) th{
  background-image:linear-gradient(180deg,#f8fbfe,#edf3f9);
  color:#60758e;
  border-bottom-color:#dbe5ef;
 }
 .app-shell :is(table:not(.quote-document-table):not(.statement-table)) td{border-bottom-color:#e8eef5}
 .app-shell :is(table:not(.quote-document-table):not(.statement-table)) tbody tr:nth-child(even){background-color:rgba(245,249,253,.46)}
 .app-shell :is(table:not(.quote-document-table):not(.statement-table)) tbody tr:hover{background-color:#eaf5fc}
 .app-shell :is(.excel-table,.table-wrap table) td.numeric{font-variant-numeric:tabular-nums}
 .app-shell :is(input:not([type="color"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea){
  border-color:#cfdae6;
  background-color:rgba(255,255,255,.94);
  box-shadow:inset 0 1px 2px rgba(20,46,80,.035),0 1px 0 rgba(255,255,255,.8);
 }
 .app-shell :is(input,select,textarea):hover{border-color:#b8cadb}
 .app-shell :is(input,select,textarea):focus-visible{
  outline:2px solid rgba(22,143,199,.46);
  outline-offset:2px;
  border-color:#168fc7;
  box-shadow:0 0 0 5px rgba(22,143,199,.08),0 7px 18px rgba(22,143,199,.07);
 }
 .app-shell :is(input,textarea)[readonly]{background-color:#f3f7fb}
 .app-shell .summary .total{background:linear-gradient(110deg,#edf8fc,#eff0ff);border:1px solid #d8e8f3}
 .app-shell .badge,.app-shell .work-status{box-shadow:inset 0 0 0 1px rgba(19,46,74,.055)}
 .app-shell .modal{box-shadow:0 34px 110px rgba(4,19,34,.38)}
 .app-shell .modal::backdrop{background:rgba(6,20,34,.7);backdrop-filter:blur(6px)}
 .app-shell .modal-card{background:linear-gradient(145deg,#fff,#f7faff)}
 .app-shell :is(.ai-chat-card,.ai-side-card,.delivery-agenda,.delivery-detail-card){border-color:#d7e3ee;box-shadow:0 16px 46px rgba(24,55,88,.09)}
 .app-shell .ai-workspace :is(input,select,textarea):focus-visible{outline-color:rgba(73,202,222,.62);box-shadow:0 0 0 5px rgba(52,201,223,.09)}
 .app-shell .success-banner{box-shadow:0 8px 24px rgba(24,131,94,.09)}
}

@media screen and (prefers-reduced-motion:no-preference){
 .app-shell .workspace-bar::after{animation:erp-header-light 9s ease-in-out infinite alternate}
 .app-shell .side-nav a{transition:background-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
 .app-shell .side-nav a:hover::after{animation:erp-nav-shine .7s ease-out}
 .app-shell :is(.card,.metric-card,.quick-register-card,.register-sheet,.quick-summary-grid>article,.collection-summary>article,.stats>article,.mini-stat-grid>article){transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
 .app-shell :is(input,select,textarea){transition:border-color .17s ease,box-shadow .17s ease,background-color .17s ease}
 .app-shell tbody tr{transition:background-color .17s ease}
 .app-shell .modal[open]{animation:erp-dialog-enter .27s cubic-bezier(.2,.8,.25,1)}
 .app-shell .modal[open]::backdrop{animation:erp-backdrop-enter .25s ease-out}
 .app-shell .dashboard-hero .hero-orb{animation:erp-ambient-drift 15s ease-in-out infinite alternate}
 .app-shell .dashboard-hero .hero-orb.orb-two{animation-delay:-7s;animation-duration:21s}
 .app-shell .ai-message{animation:erp-message-enter .28s ease-out both}
 @media(hover:hover){
  .app-shell :is(.card,.metric-card,.quick-register-card,.quick-summary-grid>article,.collection-summary>article,.stats>article,.mini-stat-grid>article):hover{border-color:#c9dbea;box-shadow:0 9px 22px rgba(35,61,91,.055),0 22px 54px rgba(35,61,91,.12);transform:translateY(-2px)}
 }
 @keyframes erp-header-light{from{background-position:0 0}to{background-position:100% 0}}
 @keyframes erp-nav-shine{from{transform:translateX(-115%)}to{transform:translateX(115%)}}
 @keyframes erp-dialog-enter{from{opacity:.35;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
 @keyframes erp-backdrop-enter{from{opacity:0}to{opacity:1}}
 @keyframes erp-ambient-drift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-18px,11px,0) scale(1.08)}}
 @keyframes erp-message-enter{from{opacity:.35;transform:translateY(7px)}to{opacity:1;transform:none}}
}

@media screen and (max-width:1050px){.app-shell .app-content::before{inset:76px 0 0 0}}
@media screen and (max-width:700px){
 .app-shell .workspace-title{min-width:0}.app-shell .workspace-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .app-shell .header-tools{flex-shrink:0}
}
@media(prefers-reduced-motion:reduce){
 .app-shell,.app-shell *,.app-shell *::before,.app-shell *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

