@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700;800;900&family=Poppins:wght@400;500;600&display=swap";:root{--jt-green:#529a00;--jt-green-700:#3f7a00;--jt-green-600:#4a8c00;--jt-green-500:#529a00;--jt-green-400:#6bb81b;--jt-green-300:#8dcf45;--jt-green-200:#c2e69a;--jt-green-100:#e6f4d2;--jt-green-50:#f4faea;--jt-green-hover:#6bb81b;--jt-ink:#1d2333;--jt-ink-900:#14182a;--jt-ink-700:#2a3147;--jt-ink-600:#3a4361;--jt-orange:#ff8600;--jt-orange-700:#d86d00;--jt-orange-300:#ffb05a;--jt-orange-100:#ffe8d0;--jt-purple:#6a2ae1;--jt-purple-100:#e6dafb;--jt-white:#fff;--jt-cream:#f6f6f2;--jt-surface:#fafbf7;--jt-gray-50:#f5f6f4;--jt-gray-100:#eceeea;--jt-gray-200:#dde1db;--jt-gray-300:#c2c7bf;--jt-gray-400:#9aa098;--jt-gray-500:#6e7470;--jt-gray-600:#4d524f;--color-bg:var(--jt-surface);--color-bg-elevated:var(--jt-white);--color-fg:var(--jt-ink);--color-fg-muted:var(--jt-gray-600);--color-fg-subtle:var(--jt-gray-500);--color-border:var(--jt-gray-200);--color-border-strong:var(--jt-gray-300);--color-success:var(--jt-green);--color-danger:#d63838;--color-info:var(--jt-purple);--font-display:"Montserrat", "Mont", system-ui, -apple-system, sans-serif;--font-body:"Poppins", "Aptos", system-ui, -apple-system, sans-serif;--radius-sm:6px;--radius-md:10px;--shadow-sm:0 1px 2px #1d23330f, 0 1px 3px #1d23330a;--shadow-md:0 4px 8px -2px #1d233314, 0 2px 4px -2px #1d23330a;--shadow-brand:0 8px 24px -8px #529a0059}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-fg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:15px;line-height:1.55}#root{min-height:100%}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-fg)}a{color:var(--jt-green-700)}a:hover{color:var(--jt-green)}:focus-visible{outline:3px solid color-mix(in oklch, var(--jt-green) 55%, transparent);outline-offset:2px}::selection{background:var(--jt-green-200);color:var(--jt-ink)}.header h1,.menu-card h2,.login-card h1,.login-brand,.filters button,.login-form button[type=submit],.menu-card-action,.user-bar-logout,.login-tab{font-family:var(--font-display)}.layout{color:var(--jt-ink);background:var(--jt-surface);flex-direction:column;gap:16px;min-height:100vh;padding:20px;display:flex}.layout.layout-report{height:100dvh;min-height:0;max-height:100dvh;overflow:hidden}.layout-report>.page-nav,.layout-report>.header,.layout-report>.panel:not(.panel-table),.layout-report>.error{flex-shrink:0}.header h1{color:var(--jt-green);margin:0;font-size:28px}.header p{color:var(--jt-gray-500);margin:4px 0 0}.panel{background:var(--jt-white);border:1px solid var(--jt-gray-200);border-radius:8px;min-width:0;padding:12px}.panel-table{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;overflow:hidden}.filters{grid-template-columns:repeat(6,minmax(120px,1fr));align-items:end;gap:10px;display:grid}.filters label{color:var(--jt-gray-600);flex-direction:column;gap:6px;font-size:12px;display:flex}.filters input,.filters select{background:var(--jt-white);border:1px solid var(--jt-gray-200);border-radius:6px;padding:8px;font-size:14px}.filters button{color:var(--jt-white);cursor:pointer;background:var(--jt-green);border:none;border-radius:6px;padding:9px 12px}.btn-export-excel{color:var(--jt-green-700)!important;background:var(--jt-green)1f!important;border:1px solid var(--jt-green)59!important}.filters button:disabled{opacity:.7;cursor:wait}.filtro-busqueda{grid-column:span 2}.bodega-dropdown{position:relative}.bodega-dropdown summary{cursor:pointer;background:var(--jt-white);border:1px solid var(--jt-gray-200);border-radius:6px;padding:8px;font-size:14px;list-style:none}.bodega-dropdown-menu{z-index:20;background:var(--jt-white);border:1px solid var(--jt-gray-200);border-radius:8px;width:min(360px,75vw);max-height:220px;padding:8px;position:absolute;top:calc(100% + 6px);left:0;overflow:auto;box-shadow:0 8px 22px #00000014}.bodega-check{align-items:center;gap:8px;padding:4px 2px;color:var(--jt-ink)!important;flex-direction:row!important;display:flex!important}.table-meta{color:var(--jt-gray-500);flex-wrap:wrap;flex-shrink:0;gap:12px;margin-bottom:10px;font-size:13px;display:flex}.chip{background:var(--jt-gray-50);border:1px solid var(--jt-gray-300);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.chip-accent{background:var(--jt-green)1f;border-color:var(--jt-green)59}.table-wrap{min-width:0;max-width:100%}.panel-table .table-wrap{-webkit-overflow-scrolling:touch;flex:auto;min-width:0;min-height:0;overflow:auto}.state-box{color:var(--jt-gray-600);background:var(--jt-gray-50);border:1px dashed var(--jt-gray-200);border-radius:6px;padding:14px;font-size:14px}.loader-box{align-items:center;gap:12px;display:flex}.loader-neon{background:linear-gradient(90deg, var(--jt-green), var(--jt-green-hover), var(--jt-purple), var(--jt-green-hover), var(--jt-green)) 0 0/220% 100%;width:70px;height:10px;box-shadow:var(--shadow-brand);border-radius:999px;animation:1.2s linear infinite neonSlide}@keyframes neonSlide{0%{background-position:0 0}to{background-position:200% 0}}table{border-collapse:collapse;width:max-content;min-width:100%;font-size:13px}th,td{text-align:right;white-space:nowrap;border:1px solid var(--jt-gray-200);padding:7px 8px}th{color:var(--jt-ink);background:var(--jt-gray-100)}.table-wrap thead th{z-index:5;position:sticky;top:0}.th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.th-sortable:hover{background:var(--jt-gray-100)}th:first-child,th:nth-child(2),td:first-child,td:nth-child(2){text-align:left}th:first-child,td:first-child{z-index:4;background:var(--jt-white);min-width:92px;position:sticky;left:0}th:nth-child(2),td:nth-child(2){z-index:3;background:var(--jt-white);min-width:280px;position:sticky;left:92px}thead th:first-child,thead th:nth-child(2){z-index:7;background:var(--jt-gray-100)}.col-name{text-overflow:ellipsis;max-width:360px;overflow:hidden}.analysis{text-align:left;color:var(--jt-ink);min-width:260px;font-weight:600}.estado-chip{text-transform:uppercase;border-radius:999px;align-items:center;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.estado-estable{color:var(--jt-green-700);background:var(--jt-green-100)}.estado-irregular{color:var(--jt-orange-700);background:var(--jt-white)3}.estado-crecimiento{color:var(--jt-ink-700);background:var(--jt-purple-100)}.estado-caida{color:var(--color-danger);background:#fde8e8}.estado-agotado{color:var(--jt-purple);background:var(--jt-purple-100)}.estado-no_analizable{color:var(--jt-gray-600);background:var(--jt-gray-100)}.variab-chip{border-radius:6px;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.variab-estable{color:var(--jt-green-700);background:var(--jt-green-100)}.variab-variable{color:var(--jt-orange);background:var(--jt-white)80}.variab-volatil{color:var(--color-danger);background:#fde8e8}.variab-sin{color:var(--jt-gray-500);background:var(--jt-gray-50)}.cobertura-chip{text-transform:uppercase;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.cobertura-critico{color:var(--color-danger);background:#fde8e8}.cobertura-riesgo{color:var(--jt-orange-700);background:var(--jt-white)80}.cobertura-saludable{color:var(--jt-green-700);background:var(--jt-green-100)}.error{color:var(--color-danger);flex-shrink:0;margin:0}.hint-inline{color:var(--jt-gray-500);margin:8px 0 0;font-size:12px}.toggle-advanced{color:var(--jt-gray-600);align-items:center;gap:8px;margin-top:8px;font-size:12px;flex-direction:row!important;display:inline-flex!important}.header-home h1{font-size:32px}.page-nav{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;margin-bottom:-4px;display:flex}.back-link{color:var(--jt-green-700);align-items:center;gap:4px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.back-link:hover{text-decoration:underline}.menu-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.menu-card{color:inherit;cursor:pointer;flex-direction:column;gap:10px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.menu-card:hover{border-color:var(--jt-green);box-shadow:0 4px 14px var(--jt-green)1f;transform:translateY(-2px)}.menu-card h2{color:var(--jt-green);margin:0;font-size:20px}.menu-card p{color:var(--jt-gray-500);flex:1;margin:0;font-size:14px;line-height:1.5}.menu-card-action{color:var(--jt-green-700);font-size:13px;font-weight:600}.placeholder-panel .state-box{text-align:center;max-width:520px;margin:0 auto}.placeholder-title{color:var(--jt-green);margin:0 0 8px;font-size:18px;font-weight:600}.filters-reservas{grid-template-columns:repeat(3,minmax(140px,1fr)) repeat(4,auto)}.filters-reservas .btn-refresh{color:var(--jt-green-700)!important;background:var(--jt-white)!important;border:1px solid var(--jt-green)59!important}@media (width<=1024px){.filters-reservas,.filters{grid-template-columns:repeat(2,minmax(120px,1fr))}.filtro-busqueda{grid-column:span 2}}.header-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.user-bar{color:var(--jt-gray-600);align-items:center;gap:10px;font-size:13px;display:flex}.user-bar-logout{cursor:pointer;background:var(--jt-white);border:1px solid var(--jt-gray-200);border-radius:6px;padding:6px 10px;font-size:12px}.login-layout{justify-content:center;align-items:center;min-height:100vh}.login-card{flex-direction:column;gap:12px;width:min(420px,100%);display:flex}.login-brand{letter-spacing:.08em;text-transform:uppercase;color:var(--jt-green);margin:0;font-size:12px;font-weight:700}.login-card h1{color:var(--jt-ink);margin:0;font-size:24px}.login-muted{color:var(--jt-gray-500);margin:0;font-size:14px;line-height:1.45}.login-tabs{grid-template-columns:1fr 1fr;gap:6px;display:grid}.login-tab{cursor:pointer;background:var(--jt-gray-50);border:1px solid var(--jt-gray-200);border-radius:6px;padding:8px;font-size:13px}.login-tab.active{color:var(--jt-green-700);background:var(--jt-green-50);border-color:var(--jt-green);font-weight:600}.login-form{flex-direction:column;gap:10px;display:flex}.login-form label{color:var(--jt-gray-600);flex-direction:column;gap:6px;font-size:12px;display:flex}.login-form input{border:1px solid var(--jt-gray-200);border-radius:6px;padding:8px;font-size:14px}.login-form button[type=submit]{color:var(--jt-white);cursor:pointer;background:var(--jt-green);border:none;border-radius:6px;padding:10px 12px;font-weight:600}.login-form button[type=submit]:disabled{opacity:.6;cursor:default}.login-hint{color:var(--jt-gray-500);margin:0;font-size:12px}
