*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--green-900:oklch(22% .07 155);--green-800:oklch(28% .09 152);--green-700:oklch(34% .1 150);--green-600:oklch(42% .12 150);--green-100:oklch(93% .04 150);--green-50:oklch(97% .02 150);--amber:oklch(72% .16 68);--amber-bg:oklch(97% .05 80);--red:oklch(55% .2 25);--red-bg:oklch(97% .04 25);--blue:oklch(52% .14 240);--blue-bg:oklch(97% .03 240);--bg:#eff4f6;--bg-2:oklch(98.5% .004 220);--border:oklch(90% .008 220);--text-1:oklch(18% .02 220);--text-2:oklch(30% .02 220);--text-3:oklch(42% .02 220);--shadow-sm:0 1px 3px oklch(0% 0 0/.07), 0 1px 2px oklch(0% 0 0/.04);--shadow-md:0 4px 12px oklch(0% 0 0/.08), 0 2px 4px oklch(0% 0 0/.04)}html,body,#root{height:100%}body{background:var(--bg);color:var(--text-1);-webkit-font-smoothing:antialiased;font-family:DM Sans,sans-serif;font-size:13px;line-height:1.45}@media (width<=640px){body,input,select,textarea,button{font-size:16px}}button{cursor:pointer;background:0 0;border:none;font-family:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-3)}@keyframes pageFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes dropIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.page{animation:.22s pageFade}.page-wide{width:100%;max-width:none;margin:0;padding:clamp(12px,1.4vw,20px)}@keyframes slideIn{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.kpi-strip{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:20px;display:grid}.dash-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-bottom:20px;display:grid}.topbar-inner{align-items:center;gap:16px;min-width:0;height:52px;padding:0 20px;display:flex}.topbar-nav{scrollbar-width:thin;flex:1;align-items:center;gap:2px;min-width:0;display:flex;overflow-x:auto}.topbar-nav>*{flex-shrink:0}.topbar-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.table-wrap{-webkit-overflow-scrolling:touch;width:100%;max-width:100%;overflow:auto hidden}.table-wrap:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.table-wrap-keyboard{scroll-behavior:smooth}.table-wrap-sticky{max-height:min(72vh,100vh - 260px);overflow:auto}.table-wrap table{min-width:max-content}.table-shell{width:100%;max-width:100%}.table-shell-fullscreen{z-index:10000;background:#fff;border-radius:0;flex-direction:column;width:100vw;max-width:100vw;height:100dvh;display:flex;position:fixed;inset:0;box-shadow:0 18px 60px oklch(0% 0 0/.24)}.table-shell-fullscreen .table-tools{flex-shrink:0}.table-shell-fullscreen .table-wrap{flex:1;min-height:0;overflow:auto}.table-shell-fullscreen .table-wrap-sticky{height:100%;max-height:none}.table-tools{border-bottom:1px solid var(--border);background:#fff;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding:8px 12px;display:flex}.table-tools-extra{flex:1;align-items:center;gap:12px;margin-right:auto;display:flex}.table-tools-label,.table-zoom-value{color:var(--text-3);font-family:DM Mono,monospace;font-size:11px}.table-zoom-value{text-align:right;min-width:36px}.table-zoom-btn{border:1px solid var(--border);width:26px;height:26px;color:var(--text-2);background:#fff;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.table-tool-btn{border:1px solid var(--border);height:28px;color:var(--text-2);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-family:inherit;font-size:12px;font-weight:600;display:inline-flex}.table-tool-btn:hover{color:var(--green-700);border-color:var(--green-100);background:var(--green-50)}.table-column-save{color:#fff;border-color:var(--green-600);background:var(--green-600)}.table-column-save:hover{color:#fff;border-color:var(--green-700);background:var(--green-700)}.table-zoom-btn:hover:not(:disabled){color:var(--green-700);border-color:var(--green-100);background:var(--green-50)}.table-zoom-btn:disabled{opacity:.45;cursor:not-allowed}.table-zoom-range{width:118px;accent-color:var(--green-600)}.table-wrap .data-table{table-layout:fixed;min-width:100%}.table-wrap .data-table th,.table-wrap .data-table td{min-width:0;max-width:100%}.table-cell-clip{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}@media (width<=760px){.topbar-inner{flex-wrap:wrap;gap:8px;height:auto;min-height:52px;padding:8px 10px}.topbar-brand-name,.topbar-brand-suffix,.topbar-clock{display:none!important}.topbar-nav{flex-basis:100%;order:3;padding-bottom:2px}.topbar-actions{margin-left:auto}.topbar-user-name{text-overflow:ellipsis;white-space:nowrap;max-width:92px;overflow:hidden}.page{min-width:0}.page-wide{padding:10px}.table-wrap-sticky{max-height:68vh}.dash-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=900px){.licitacion-two-col{grid-template-columns:1fr!important}}@media print{header,nav,.topbar-inner,.ai-chat,button:not(.print-visible),.btn,.no-print,.no-print-global,iframe,[title="Asistente Gerencial IA"],div[style*="z-index: 200"],div[style*=z-index\:100],div[style*="z-index: 100"]{display:none!important}body,#root,main,.page,.page-wide{color:#000!important;height:auto!important;box-shadow:none!important;background:#fff!important;border:none!important;margin:0!important;padding:0!important;overflow:visible!important}div[style*="position: fixed"][style*="inset: 0"]{z-index:auto!important;background:0 0!important;position:relative!important;inset:auto!important}div[style*="position: relative"][style*="width: 520px"],div[style*="position: relative"][style*=width\:520px]{width:100%!important;box-shadow:none!important}}
