*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{color:#222;font-family:"Segoe UI",system-ui,-apple-system,Arial,sans-serif;background:#f1f3f5;padding-top:128px;-webkit-tap-highlight-color:transparent}.contenedor{max-width:1200px;margin:0 auto;padding:16px}a{color:#1c4a31}button,.btn,.btn-peq,.btn-acc{touch-action:manipulation;font-family:inherit}.top-shell{max-width:1200px;margin:12px auto 0;padding:0 16px}.app-header{background:#123524;color:#fff;border:1px solid #0f2f20;border-radius:10px;padding:12px 14px;margin-bottom:8px}.header-wrap{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.header-left .l1{font-size:clamp(22px,5vw,32px);font-weight:800;line-height:1.15}.header-left .l2{font-size:12px;color:#b7dfc3;margin-top:4px}.header-right{display:flex;gap:8px;align-items:center}.header-right .btn{min-width:150px}#navFija{position:fixed;top:0;left:0;right:0;z-index:999;background:transparent;padding:8px 0}#navFija .nav-inner{position:relative;width:min(1200px,calc(100% - 32px));margin:0 auto;background:#1c4a31;border:1px solid #123524;border-radius:10px;padding:8px;box-shadow:0 4px 12px rgba(0,0,0,.18)}.nav-top{display:none}.menu-btn{display:none}.nav-main,.nav-sub{display:flex;gap:6px;flex-wrap:wrap}.nav-sub{margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.15)}.nav-sub.oculto{display:none}#navFija a{background:#2e7d4f;color:#fff;text-decoration:none;font-size:13px;font-weight:600;padding:7px 12px;border-radius:15px;white-space:nowrap}#navFija a:hover{background:#3b9c63}#navFija a.is-toggle{background:#245f3d}#navFija a.nav-sel{background:#f39c12;color:#123524}.btn{background:#2e7d4f;color:#fff;border:none;padding:9px 14px;border-radius:18px;font-size:14px;font-weight:700;text-decoration:none;cursor:pointer;text-align:center;display:inline-block}.btn:hover{background:#3b9c63}.btn-acc{background:#2e7d4f;color:#fff;border:none;padding:10px 16px;border-radius:18px;font-size:14px;font-weight:700;cursor:pointer;text-align:center}.btn-acc:hover{background:#3b9c63}.btn-peq{display:inline-flex;align-items:center;justify-content:center;gap:4px;background:#2471a3;color:#fff;padding:6px 10px;border-radius:14px;text-decoration:none;font-size:12px;font-weight:700;border:none;cursor:pointer;min-height:34px}.btn-peq:hover{background:#2980b9}.btn-rojo{background:#c0392b}.btn-rojo:hover{background:#a93226}.btn-agregar{background:#2e7d4f;color:#fff;border:none;padding:8px 16px;border-radius:16px;font-size:14px;font-weight:700;cursor:pointer}.btn-agregar:hover{background:#3b9c63}.form-inline{display:inline-block}.caja{background:#fff;border-radius:10px;padding:16px;margin-bottom:14px;box-shadow:0 1px 4px rgba(0,0,0,.08)}.caja h3{color:#1c4a31;border-bottom:2px solid #2e7d4f;padding-bottom:6px;margin-bottom:10px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.caja p{line-height:1.5}.tabla-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:8px;border-bottom:1px solid #eee;vertical-align:top}th{background:#e8f1ec;color:#123524;text-align:left}.r{text-align:right}.pos{color:#1e8449;font-weight:700}.neg{color:#c0392b;font-weight:700}.subtotal-row td{background:#f8fbf9;font-weight:700}.total-row td{background:#eaf2f8;font-weight:800;border-top:2px solid #d0dbe5}.cote-ok{color:#1e8449;font-weight:800;font-size:16px}.tabla-filas table{min-width:560px}.tabla-movs table{min-width:940px}.tabla-rep table{min-width:900px}.filtros,.form-compacto{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}.campo{display:flex;flex-direction:column;gap:3px;min-width:120px}.campo label{font-size:11px;font-weight:700;color:#1c4a31}.campo-ancho{flex:2;min-width:260px}input,select,textarea{width:100%;padding:8px;border:1px solid #ccc;border-radius:6px;font-size:14px;background:#fff}input[type=checkbox]{width:auto;transform:scale(1.3);cursor:pointer;margin:6px}.msg{padding:10px;border-radius:6px;margin-bottom:10px}.ok{background:#d4efdf;color:#1e8449}.err{background:#fadbd8;color:#c0392b}.info{background:#eaf2f8;color:#2471a3}.grid-resumen{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.kpi{padding:12px;border-radius:10px;color:#fff;text-align:center}.kpi .t{font-size:12px}.kpi .n{font-size:clamp(18px,5.2vw,22px);font-weight:800;word-break:break-word}.k-verde{background:#2e7d4f}.k-rojo{background:#c0392b}.k-azul{background:#2471a3}.k-naranja{background:#b9770e}.pre-nav-bar,.report-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;background:#123524;border:1px solid #24563f;border-radius:10px;padding:8px 12px;margin:0 auto 14px;max-width:1200px}.pre-nav-bar a,.report-bar a{display:inline-block;color:#fff;text-decoration:none;font-weight:700;font-size:13px;padding:8px 16px;border-radius:20px;background:#2e7d4f;border:1px solid #24563f;white-space:nowrap}.pre-nav-bar a:hover,.report-bar a:hover{background:#3b9c63}.pre-nav-bar a.activo,.report-bar a.activo{background:#f39c12;color:#123524}.pre-nav-bar form,.report-bar form{display:inline-flex;margin:0}.pre-nav-bar .btn-nav,.report-bar .btn-nav{display:inline-block;color:#fff;text-decoration:none;font-weight:700;font-size:13px;padding:8px 16px;border-radius:20px;background:#2e7d4f;border:1px solid #24563f;white-space:nowrap;cursor:pointer;font-family:inherit;text-align:center}.pre-nav-bar .btn-nav:hover,.report-bar .btn-nav:hover{background:#3b9c63}.pre-nav-bar .btn-nav.rojo,.report-bar .btn-nav.rojo{background:#c0392b;border-color:#8e2b1f}.pre-nav-bar .btn-nav.rojo:hover,.report-bar .btn-nav.rojo:hover{background:#a93226}.acc-hijos{list-style:none;padding-left:14px;font-size:12px;color:#666}.pie{text-align:center;color:#777;font-size:12px;padding:18px}@media(max-width:900px){body{padding-top:62px}.contenedor{padding:10px}.caja{padding:12px}#navFija{padding:6px 0}#navFija .nav-inner{width:calc(100% - 16px);padding:6px 8px}.nav-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.nav-brand{color:#fff;font-weight:800;font-size:16px}.menu-btn{display:inline-flex;align-items:center;gap:6px;background:#2e7d4f;color:#fff;border:0;border-radius:8px;padding:10px 14px;font-size:15px;font-weight:700;min-height:44px}.menu-btn:hover{background:#3b9c63}.nav-menu{display:none}#navFija.abierto .nav-menu{display:block;position:absolute;left:0;right:0;top:calc(100% - 2px);background:#1c4a31;border:1px solid #123524;border-radius:0 0 10px 10px;padding:8px;max-height:70dvh;overflow:auto;-webkit-overflow-scrolling:touch;box-shadow:0 12px 26px rgba(0,0,0,.4)}#navFija .nav-main,#navFija .nav-sub{display:flex;flex-direction:column;gap:4px}#navFija .nav-sub{border-top:1px solid rgba(255,255,255,.15);margin-top:6px;padding-top:6px}#navFija .nav-sub.oculto{display:flex}#navFija a{display:block;text-align:left;border-radius:8px;font-size:15px;padding:12px 12px}#btnAjustes{display:none}}@media(max-width:700px){.top-shell{padding:0 10px;margin-top:8px}.header-wrap{flex-direction:column;align-items:stretch}.header-right .btn{min-width:0;flex:1}.filtros,.form-compacto{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:end}.filtros .campo,.form-compacto .campo{min-width:0}.filtros .campo:nth-last-child(-n+2),.form-compacto .campo:last-child,.campo-ancho{grid-column:span 2}input,select,textarea{font-size:16px;padding:11px}textarea{min-height:90px}.btn,.btn-acc,.btn-agregar{min-height:46px;font-size:15px;width:auto}.filtros .btn,.filtros .btn-acc,.form-compacto .btn-acc{width:100%}.btn-peq{min-height:40px;padding:8px 11px;font-size:14px}table{font-size:13px}th,td{padding:6px 7px}.pre-nav-bar,.report-bar{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:8px}.pre-nav-bar a,.report-bar a,.pre-nav-bar .btn-nav,.report-bar .btn-nav{padding:10px 14px;flex:0 0 auto}}@media(max-width:560px){.grid-resumen{grid-template-columns:1fr 1fr}.header-left .l2{font-size:11px}}@media print{#navFija,.nav-menu,.pie,.no-print,.btn,.btn-peq,.btn-acc,.btn-agregar,.menu-btn,.msg,.pre-nav-bar,.report-bar,.filtros,.form-compacto{display:none!important}body{padding-top:0;background:#fff}.contenedor{max-width:none;padding:0}.caja{box-shadow:none;border:1px solid #ddd;break-inside:avoid;margin-bottom:8px}.tabla-wrap{overflow:visible}table{font-size:12px}th,td{padding:2px 5px}@page{margin:12mm}}
