.tabulator{border:1px solid #999;font-size:14px;overflow:hidden;position:relative;text-align:left;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0)}.tabulator[tabulator-layout=fitDataFill] .tabulator-tableholder .tabulator-table{min-width:100%}.tabulator[tabulator-layout=fitDataTable]{display:inline-block}.tabulator.tabulator-block-select,.tabulator.tabulator-ranges .tabulator-cell:not(.tabulator-editing){-webkit-user-select:none;user-select:none}.tabulator .tabulator-header{background-color:#fff;border-bottom:1px solid #999;box-sizing:border-box;color:#555;font-weight:700;outline:none;overflow:hidden;position:relative;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;white-space:nowrap;width:100%}.tabulator .tabulator-header.tabulator-header-hidden{display:none}.tabulator .tabulator-header .tabulator-header-contents{overflow:hidden;position:relative}.tabulator .tabulator-header .tabulator-header-contents .tabulator-headers{display:inline-block}.tabulator .tabulator-header .tabulator-col{background:#fff;border-right:1px solid #ddd;box-sizing:border-box;display:inline-flex;flex-direction:column;justify-content:flex-start;overflow:hidden;position:relative;text-align:left;vertical-align:bottom}.tabulator .tabulator-header .tabulator-col.tabulator-moving{background:#e6e6e6;border:1px solid #999;pointer-events:none;position:absolute}.tabulator .tabulator-header .tabulator-col.tabulator-range-highlight{background-color:#d6d6d6;color:#000}.tabulator .tabulator-header .tabulator-col.tabulator-range-selected{background-color:#3876ca;color:#fff}.tabulator .tabulator-header .tabulator-col .tabulator-col-content{box-sizing:border-box;padding:4px;position:relative}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-header-popup-button{padding:0 8px}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-header-popup-button:hover{cursor:pointer;opacity:.6}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title-holder{position:relative}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title{box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap;width:100%}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title.tabulator-col-title-wrap{text-overflow:clip;white-space:normal}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title .tabulator-title-editor{background:#fff;border:1px solid #999;box-sizing:border-box;padding:1px;width:100%}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title .tabulator-header-popup-button+.tabulator-title-editor{width:calc(100% - 22px)}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter{align-items:center;bottom:0;display:flex;position:absolute;right:4px;top:0}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom:6px solid #bbb;border-left:6px solid transparent;border-right:6px solid transparent;height:0;width:0}.tabulator .tabulator-header .tabulator-col.tabulator-col-group .tabulator-col-group-cols{border-top:1px solid #ddd;display:flex;margin-right:-1px;overflow:hidden;position:relative}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter{box-sizing:border-box;margin-top:2px;position:relative;text-align:center;width:100%}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter textarea{height:auto!important}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter svg{margin-top:3px}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter input::-ms-clear{height:0;width:0}.tabulator .tabulator-header .tabulator-col.tabulator-sortable .tabulator-col-title{padding-right:25px}@media(hover:hover)and (pointer:fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable.tabulator-col-sorter-element:hover{background-color:#e6e6e6;cursor:pointer}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter{color:#bbb}@media(hover:hover)and (pointer:fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{border-bottom:6px solid #555;cursor:pointer}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom:6px solid #bbb;border-top:none}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter{color:#666}@media(hover:hover)and (pointer:fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{border-bottom:6px solid #555;cursor:pointer}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom:6px solid #666;border-top:none}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter{color:#666}@media(hover:hover)and (pointer:fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{border-top:6px solid #555;cursor:pointer}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom:none;border-top:6px solid #666;color:#666}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical .tabulator-col-content .tabulator-col-title{align-items:center;display:flex;justify-content:center;text-orientation:mixed;writing-mode:vertical-rl}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-col-vertical-flip .tabulator-col-title{transform:rotate(180deg)}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable .tabulator-col-title{padding-right:0;padding-top:20px}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable.tabulator-col-vertical-flip .tabulator-col-title{padding-bottom:20px;padding-right:0}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable .tabulator-col-sorter{bottom:auto;justify-content:center;left:0;right:0;top:4px}.tabulator .tabulator-header .tabulator-frozen{left:0;position:sticky;z-index:11}.tabulator .tabulator-header .tabulator-frozen.tabulator-frozen-left{border-right:2px solid #ddd}.tabulator .tabulator-header .tabulator-frozen.tabulator-frozen-right{border-left:2px solid #ddd}.tabulator .tabulator-header .tabulator-calcs-holder{background:#fff!important;border-bottom:1px solid #ddd;border-top:1px solid #ddd;box-sizing:border-box;display:inline-block}.tabulator .tabulator-header .tabulator-calcs-holder .tabulator-row{background:#fff!important}.tabulator .tabulator-header .tabulator-calcs-holder .tabulator-row .tabulator-col-resize-handle{display:none}.tabulator .tabulator-header .tabulator-frozen-rows-holder{display:inline-block}.tabulator .tabulator-header .tabulator-frozen-rows-holder:empty{display:none}.tabulator .tabulator-tableholder{-webkit-overflow-scrolling:touch;overflow:auto;position:relative;white-space:nowrap;width:100%}.tabulator .tabulator-tableholder:focus{outline:none}.tabulator .tabulator-tableholder .tabulator-placeholder{align-items:center;box-sizing:border-box;display:flex;justify-content:center;min-width:100%;width:100%}.tabulator .tabulator-tableholder .tabulator-placeholder[tabulator-render-mode=virtual]{min-height:100%}.tabulator .tabulator-tableholder .tabulator-placeholder .tabulator-placeholder-contents{color:#ccc;display:inline-block;font-size:20px;font-weight:700;padding:10px;text-align:center;white-space:normal}.tabulator .tabulator-tableholder .tabulator-table{background-color:#fff;color:#333;display:inline-block;overflow:visible;position:relative;white-space:nowrap}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs{background:#f2f2f2!important;font-weight:700}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs.tabulator-calcs-top{border-bottom:2px solid #ddd}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs.tabulator-calcs-bottom{border-top:2px solid #ddd}.tabulator .tabulator-tableholder .tabulator-range-overlay{top:0;right:0;bottom:0;left:0;pointer-events:none;position:absolute;z-index:10}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range{border:1px solid #2975dd;box-sizing:border-box;position:absolute}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range.tabulator-range-active:after{background-color:#2975dd;border-radius:999px;bottom:-3px;content:"";height:6px;position:absolute;right:-3px;width:6px}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range-cell-active{border:2px solid #2975dd;box-sizing:border-box;position:absolute}.tabulator .tabulator-footer{background-color:#fff;border-top:1px solid #999;color:#555;font-weight:700;user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;white-space:nowrap}.tabulator .tabulator-footer .tabulator-footer-contents{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:5px 10px}.tabulator .tabulator-footer .tabulator-footer-contents:empty{display:none}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs{margin-top:-5px;overflow-x:auto}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab{border:1px solid #999;border-bottom-left-radius:5px;border-bottom-right-radius:5px;border-top:none;display:inline-block;font-size:.9em;padding:5px}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab:hover{cursor:pointer;opacity:.7}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab.tabulator-spreadsheet-tab-active{background:#fff}.tabulator .tabulator-footer .tabulator-calcs-holder{background:#fff!important;border-bottom:1px solid #ddd;border-top:1px solid #ddd;box-sizing:border-box;overflow:hidden;text-align:left;width:100%}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row{background:#fff!important;display:inline-block}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row .tabulator-col-resize-handle{display:none}.tabulator .tabulator-footer .tabulator-calcs-holder:only-child{border-bottom:none;margin-bottom:-5px}.tabulator .tabulator-footer>*+.tabulator-page-counter{margin-left:10px}.tabulator .tabulator-footer .tabulator-page-counter{font-weight:400}.tabulator .tabulator-footer .tabulator-paginator{color:#555;flex:1;font-family:inherit;font-size:inherit;font-weight:inherit;text-align:right}.tabulator .tabulator-footer .tabulator-page-size{border:1px solid #aaa;border-radius:3px;display:inline-block;margin:0 5px;padding:2px 5px}.tabulator .tabulator-footer .tabulator-pages{margin:0 7px}.tabulator .tabulator-footer .tabulator-page{background:#fff3;border:1px solid #aaa;border-radius:3px;display:inline-block;margin:0 2px;padding:2px 5px}.tabulator .tabulator-footer .tabulator-page.active{color:#d00}.tabulator .tabulator-footer .tabulator-page:disabled{opacity:.5}@media(hover:hover)and (pointer:fine){.tabulator .tabulator-footer .tabulator-page:not(disabled):hover{background:#0003;color:#fff;cursor:pointer}}.tabulator .tabulator-col-resize-handle{display:inline-block;margin-left:-3px;margin-right:-3px;position:relative;vertical-align:middle;width:6px;z-index:11}@media(hover:hover)and (pointer:fine){.tabulator .tabulator-col-resize-handle:hover{cursor:ew-resize}}.tabulator .tabulator-col-resize-handle:last-of-type{margin-right:0;width:3px}.tabulator .tabulator-col-resize-guide{background-color:#999;height:100%;margin-left:-.5px;opacity:.5;position:absolute;top:0;width:4px}.tabulator .tabulator-row-resize-guide{background-color:#999;height:4px;left:0;margin-top:-.5px;opacity:.5;position:absolute;width:100%}.tabulator .tabulator-alert{align-items:center;background:#0006;display:flex;height:100%;left:0;position:absolute;text-align:center;top:0;width:100%;z-index:100}.tabulator .tabulator-alert .tabulator-alert-msg{background:#fff;border-radius:10px;display:inline-block;font-size:16px;font-weight:700;margin:0 auto;padding:10px 20px}.tabulator .tabulator-alert .tabulator-alert-msg.tabulator-alert-state-msg{border:4px solid #333;color:#000}.tabulator .tabulator-alert .tabulator-alert-msg.tabulator-alert-state-error{border:4px solid #d00;color:#590000}.tabulator-row{box-sizing:border-box;min-height:22px;position:relative}.tabulator-row,.tabulator-row.tabulator-row-even{background-color:#fff}@media(hover:hover)and (pointer:fine){.tabulator-row.tabulator-selectable:hover{background-color:#bbb;cursor:pointer}}.tabulator-row.tabulator-selected{background-color:#9abcea}@media(hover:hover)and (pointer:fine){.tabulator-row.tabulator-selected:hover{background-color:#769bcc;cursor:pointer}}.tabulator-row.tabulator-row-moving{background:#fff;border:1px solid #000}.tabulator-row.tabulator-moving{border-bottom:1px solid #ddd;border-top:1px solid #ddd;pointer-events:none;position:absolute;z-index:15}.tabulator-row.tabulator-range-highlight .tabulator-cell.tabulator-range-row-header{background-color:#d6d6d6;color:#000}.tabulator-row.tabulator-range-highlight.tabulator-range-selected .tabulator-cell.tabulator-range-row-header,.tabulator-row.tabulator-range-selected .tabulator-cell.tabulator-range-row-header{background-color:#3876ca;color:#fff}.tabulator-row .tabulator-row-resize-handle{bottom:0;height:5px;left:0;position:absolute;right:0}.tabulator-row .tabulator-row-resize-handle.prev{bottom:auto;top:0}@media(hover:hover)and (pointer:fine){.tabulator-row .tabulator-row-resize-handle:hover{cursor:ns-resize}}.tabulator-row .tabulator-responsive-collapse{border-bottom:1px solid #ddd;border-top:1px solid #ddd;box-sizing:border-box;padding:5px}.tabulator-row .tabulator-responsive-collapse:empty{display:none}.tabulator-row .tabulator-responsive-collapse table{font-size:14px}.tabulator-row .tabulator-responsive-collapse table tr td{position:relative}.tabulator-row .tabulator-responsive-collapse table tr td:first-of-type{padding-right:10px}.tabulator-row .tabulator-cell{border-right:1px solid #ddd;box-sizing:border-box;display:inline-block;outline:none;overflow:hidden;padding:4px;position:relative;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.tabulator-row .tabulator-cell.tabulator-row-header{background:#fff;border-bottom:1px solid #ddd;border-right:1px solid #999}.tabulator-row .tabulator-cell.tabulator-frozen{background-color:inherit;display:inline-block;left:0;position:sticky;z-index:11}.tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-left{border-right:2px solid #ddd}.tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-right{border-left:2px solid #ddd}.tabulator-row .tabulator-cell.tabulator-editing{border:1px solid #1d68cd;outline:none;padding:0}.tabulator-row .tabulator-cell.tabulator-editing input,.tabulator-row .tabulator-cell.tabulator-editing select{background:transparent;border:1px;outline:none}.tabulator-row .tabulator-cell.tabulator-validation-fail{border:1px solid #d00}.tabulator-row .tabulator-cell.tabulator-validation-fail input,.tabulator-row .tabulator-cell.tabulator-validation-fail select{background:transparent;border:1px;color:#d00}.tabulator-row .tabulator-cell.tabulator-row-handle{align-items:center;display:inline-flex;justify-content:center;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none}.tabulator-row .tabulator-cell.tabulator-row-handle .tabulator-row-handle-box{width:80%}.tabulator-row .tabulator-cell.tabulator-row-handle .tabulator-row-handle-box .tabulator-row-handle-bar{background:#666;height:3px;margin-top:2px;width:100%}.tabulator-row .tabulator-cell.tabulator-range-selected:not(.tabulator-range-only-cell-selected):not(.tabulator-range-row-header){background-color:#9abcea}.tabulator-row .tabulator-cell .tabulator-data-tree-branch-empty{display:inline-block;width:7px}.tabulator-row .tabulator-cell .tabulator-data-tree-branch{border-bottom:2px solid #ddd;border-bottom-left-radius:1px;border-left:2px solid #ddd;display:inline-block;height:9px;margin-right:5px;margin-top:-9px;vertical-align:middle;width:7px}.tabulator-row .tabulator-cell .tabulator-data-tree-control{align-items:center;background:#0000001a;border:1px solid #333;border-radius:2px;display:inline-flex;height:11px;justify-content:center;margin-right:5px;overflow:hidden;vertical-align:middle;width:11px}@media(hover:hover)and (pointer:fine){.tabulator-row .tabulator-cell .tabulator-data-tree-control:hover{background:#0003;cursor:pointer}}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse{background:transparent;display:inline-block;height:7px;position:relative;width:1px}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after{background:#333;content:"";height:1px;left:-3px;position:absolute;top:3px;width:7px}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand{background:#333;display:inline-block;height:7px;position:relative;width:1px}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{background:#333;content:"";height:1px;left:-3px;position:absolute;top:3px;width:7px}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle{align-items:center;background:#666;border-radius:20px;color:#fff;display:inline-flex;font-size:1.1em;font-weight:700;height:15px;justify-content:center;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;width:15px}@media(hover:hover)and (pointer:fine){.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle:hover{cursor:pointer;opacity:.7}}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle.open .tabulator-responsive-collapse-toggle-close{display:initial}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle.open .tabulator-responsive-collapse-toggle-open{display:none}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle svg{stroke:#fff}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle .tabulator-responsive-collapse-toggle-close{display:none}.tabulator-row .tabulator-cell .tabulator-traffic-light{border-radius:14px;display:inline-block;height:14px;width:14px}.tabulator-row.tabulator-group{background:#ccc;border-bottom:1px solid #999;border-right:1px solid #ddd;border-top:1px solid #999;box-sizing:border-box;font-weight:700;min-width:100%;padding:5px 5px 5px 10px}@media(hover:hover)and (pointer:fine){.tabulator-row.tabulator-group:hover{background-color:#0000001a;cursor:pointer}}.tabulator-row.tabulator-group.tabulator-group-visible .tabulator-arrow{border-bottom:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #666;margin-right:10px}.tabulator-row.tabulator-group.tabulator-group-level-1{padding-left:30px}.tabulator-row.tabulator-group.tabulator-group-level-2{padding-left:50px}.tabulator-row.tabulator-group.tabulator-group-level-3{padding-left:70px}.tabulator-row.tabulator-group.tabulator-group-level-4{padding-left:90px}.tabulator-row.tabulator-group.tabulator-group-level-5{padding-left:110px}.tabulator-row.tabulator-group .tabulator-group-toggle{display:inline-block}.tabulator-row.tabulator-group .tabulator-arrow{border-bottom:6px solid transparent;border-left:6px solid #666;border-right:0;border-top:6px solid transparent;display:inline-block;height:0;margin-right:16px;vertical-align:middle;width:0}.tabulator-row.tabulator-group span{color:#d00;margin-left:10px}.tabulator-toggle{background:#dcdcdc;border:1px solid #ccc;box-sizing:border-box;display:flex;flex-direction:row}.tabulator-toggle.tabulator-toggle-on{background:#1c6cc2}.tabulator-toggle .tabulator-toggle-switch{background:#fff;border:1px solid #ccc;box-sizing:border-box}.tabulator-popup-container{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #ddd;box-shadow:0 0 5px #0003;box-sizing:border-box;display:inline-block;font-size:14px;overflow-y:auto;position:absolute;z-index:10000}.tabulator-popup{border-radius:3px;padding:5px}.tabulator-tooltip{border-radius:2px;box-shadow:none;font-size:12px;max-width:Min(500px,100%);padding:3px 5px;pointer-events:none}.tabulator-menu .tabulator-menu-item{box-sizing:border-box;padding:5px 10px;position:relative;-webkit-user-select:none;user-select:none}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-disabled{opacity:.5}@media(hover:hover)and (pointer:fine){.tabulator-menu .tabulator-menu-item:not(.tabulator-menu-item-disabled):hover{background:#fff;cursor:pointer}}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-submenu{padding-right:25px}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-submenu:after{border-color:#ddd;border-style:solid;border-width:1px 1px 0 0;content:"";display:inline-block;height:7px;position:absolute;right:10px;top:calc(5px + .4em);transform:rotate(45deg);vertical-align:top;width:7px}.tabulator-menu .tabulator-menu-separator{border-top:1px solid #ddd}.tabulator-edit-list{-webkit-overflow-scrolling:touch;font-size:14px;max-height:200px;overflow-y:auto}.tabulator-edit-list .tabulator-edit-list-item{color:#333;outline:none;padding:4px}.tabulator-edit-list .tabulator-edit-list-item.active{background:#1d68cd;color:#fff}.tabulator-edit-list .tabulator-edit-list-item.active.focused{outline:1px solid hsla(0,0%,100%,.5)}.tabulator-edit-list .tabulator-edit-list-item.focused{outline:1px solid #1d68cd}@media(hover:hover)and (pointer:fine){.tabulator-edit-list .tabulator-edit-list-item:hover{background:#1d68cd;color:#fff;cursor:pointer}}.tabulator-edit-list .tabulator-edit-list-placeholder{color:#333;padding:4px;text-align:center}.tabulator-edit-list .tabulator-edit-list-group{border-bottom:1px solid #ddd;color:#333;font-weight:700;padding:6px 4px 4px}.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-2,.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-2{padding-left:12px}.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-3,.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-3{padding-left:20px}.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-4,.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-4{padding-left:28px}.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-5,.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-5{padding-left:36px}.tabulator.tabulator-ltr{direction:ltr}.tabulator.tabulator-rtl{direction:rtl;text-align:initial}.tabulator.tabulator-rtl .tabulator-header .tabulator-col{border-left:1px solid #ddd;border-right:initial;text-align:initial}.tabulator.tabulator-rtl .tabulator-header .tabulator-col.tabulator-col-group .tabulator-col-group-cols{margin-left:-1px;margin-right:0}.tabulator.tabulator-rtl .tabulator-header .tabulator-col.tabulator-sortable .tabulator-col-title{padding-left:25px;padding-right:0}.tabulator.tabulator-rtl .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter{left:8px;right:auto}.tabulator.tabulator-rtl .tabulator-tableholder .tabulator-range-overlay .tabulator-range.tabulator-range-active:after{background-color:#2975dd;border-radius:999px;bottom:-3px;content:"";height:6px;left:-3px;position:absolute;right:auto;width:6px}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell{border-left:1px solid #ddd;border-right:initial}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell .tabulator-data-tree-branch{border-bottom-left-radius:0;border-bottom-right-radius:1px;border-left:initial;border-right:2px solid #ddd;margin-left:5px;margin-right:0}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell .tabulator-data-tree-control{margin-left:5px;margin-right:0}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-left{border-left:2px solid #ddd}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-right{border-right:2px solid #ddd}.tabulator.tabulator-rtl .tabulator-row .tabulator-col-resize-handle:last-of-type{margin-left:0;margin-right:-3px;width:3px}.tabulator.tabulator-rtl .tabulator-footer .tabulator-calcs-holder{text-align:initial}.tabulator-print-fullscreen{bottom:0;left:0;position:absolute;right:0;top:0;z-index:10000}body.tabulator-print-fullscreen-hide>:not(.tabulator-print-fullscreen){display:none!important}.tabulator-print-table{border-collapse:collapse}.tabulator-print-table .tabulator-data-tree-branch{border-bottom:2px solid #ddd;border-bottom-left-radius:1px;border-left:2px solid #ddd;display:inline-block;height:9px;margin-right:5px;margin-top:-9px;vertical-align:middle;width:7px}.tabulator-print-table .tabulator-print-table-group{background:#ccc;border-bottom:1px solid #999;border-right:1px solid #ddd;border-top:1px solid #999;box-sizing:border-box;font-weight:700;min-width:100%;padding:5px 5px 5px 10px}@media(hover:hover)and (pointer:fine){.tabulator-print-table .tabulator-print-table-group:hover{background-color:#0000001a;cursor:pointer}}.tabulator-print-table .tabulator-print-table-group.tabulator-group-visible .tabulator-arrow{border-bottom:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #666;margin-right:10px}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-1 td{padding-left:30px!important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-2 td{padding-left:50px!important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-3 td{padding-left:70px!important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-4 td{padding-left:90px!important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-5 td{padding-left:110px!important}.tabulator-print-table .tabulator-print-table-group .tabulator-group-toggle{display:inline-block}.tabulator-print-table .tabulator-print-table-group .tabulator-arrow{border-bottom:6px solid transparent;border-left:6px solid #666;border-right:0;border-top:6px solid transparent;display:inline-block;height:0;margin-right:16px;vertical-align:middle;width:0}.tabulator-print-table .tabulator-print-table-group span{color:#d00}.tabulator-print-table .tabulator-data-tree-control{align-items:center;background:#0000001a;border:1px solid #333;border-radius:2px;display:inline-flex;height:11px;justify-content:center;margin-right:5px;overflow:hidden;vertical-align:middle;width:11px}@media(hover:hover)and (pointer:fine){.tabulator-print-table .tabulator-data-tree-control:hover{background:#0003;cursor:pointer}}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-collapse{background:transparent;display:inline-block;height:7px;position:relative;width:1px}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after{background:#333;content:"";height:1px;left:-3px;position:absolute;top:3px;width:7px}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand{background:#333;display:inline-block;height:7px;position:relative;width:1px}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{background:#333;content:"";height:1px;left:-3px;position:absolute;top:3px;width:7px}.tabulator{background-color:#fff;border:none}.tabulator .tabulator-header .tabulator-calcs-holder{background:#f2f2f2!important;border-bottom:1px solid #999}.tabulator .tabulator-header .tabulator-calcs-holder .tabulator-row{background:#f2f2f2!important}.tabulator .tabulator-tableholder .tabulator-placeholder span{color:#000}.tabulator .tabulator-footer .tabulator-calcs-holder{background:#f2f2f2!important;border-bottom:1px solid #fff}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row{background:#f2f2f2!important}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab{font-weight:400}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab.tabulator-spreadsheet-tab-active{color:#d00;font-weight:700}.tabulator-row{border-bottom:1px solid #ddd}.tabulator-row .tabulator-cell:last-of-type{border-right:none}.tabulator-row .tabulator-cell.tabulator-row-header{border-bottom:none}.tabulator-row.tabulator-group span{color:#666}.tabulator-print-table .tabulator-print-table-group span{color:#666;margin-left:10px}:root{--pri: #1f4e5a;--pri2: #2c6b7a;--bg: #f4f6f7;--card: #ffffff;--line: #dde3e6;--txt: #1d2a30;--mut: #66757c;--ok: #2e7d4f;--bad: #b3261e;--warn: #fff2cc;--warn-tx: #7a5b00;--top: #1f4e5a;--head: #eef2f3;--grp: #e2ecee;--hov: #eaf4f6;--calc: #f7f9fa;--soft: #eceff1;--bad-bg: #fff7f6;--bad-ln: #e9b4ae;--ok-bg: #e9f4ee;--ok-ln: #b9dcc6;--tagd: #e1eef1;--ll-bg: #fde2e1;--adj-bg: #e3f2e7;--new-bg: #e7e3f7;--new-tx: #4b3a99;--row2: #fafbfb;--shadow: rgba(0,0,0,.18);--muted2: #b5bec2;--grid: #e7ecee;--tlink: var(--pri2);color-scheme:light;font:14px/1.4 Segoe UI,system-ui,-apple-system,sans-serif;color:var(--txt)}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg)}#app{display:flex;flex-direction:column;height:100vh}.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;background:var(--top);color:#fff;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:10px}.brand b{font-size:17px;display:block}.brand small{opacity:.8}.logo{width:34px;height:34px;border-radius:8px;background:#fff;color:#1f4e5a;display:grid;place-items:center;font-weight:700;font-size:18px}.acciones{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.user{display:flex;flex-direction:column;align-items:flex-end;margin-left:8px;font-weight:600}.user small{font-weight:400;opacity:.8}.btn{border:1px solid var(--line);background:var(--card);color:var(--txt);padding:6px 12px;border-radius:6px;cursor:pointer;font:inherit}.btn:hover{border-color:var(--pri2)}.top .btn{border-color:#ffffff59;background:#ffffff1a;color:#fff}.top .btn:hover{background:#fff3}.btn.primary,.top .btn.primary{background:#fff;color:#1f4e5a;font-weight:600}.drawer .btn.primary,.modal .btn.primary{background:var(--pri);color:#fff;border-color:var(--pri)}.btn.ghost{background:transparent}.btn.small{padding:3px 8px;font-size:12px}.menu{position:relative}.menu-items{display:none;position:absolute;right:0;top:100%;background:var(--card);border:1px solid var(--line);border-radius:6px;box-shadow:0 6px 20px #00000026;z-index:50;min-width:200px}.menu:hover .menu-items,.menu:focus-within .menu-items{display:block}.menu-items a{display:block;padding:8px 12px;color:var(--txt);text-decoration:none}.menu-items a:hover{background:var(--bg)}.resumen{display:flex;gap:8px;padding:10px 16px;overflow-x:auto}.card{flex:0 0 auto;min-width:150px;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:8px 12px;cursor:pointer;display:flex;flex-direction:column;gap:2px;font:inherit;color:inherit}.card .t{font-weight:600}.card .n{font-size:18px;font-weight:700;color:var(--pri)}.card .s{font-size:12px;color:var(--mut)}.card .bar{height:4px;background:var(--line);border-radius:2px;overflow:hidden;margin-top:4px}.card .bar i{display:block;height:100%;background:var(--ok)}.card.on{border-color:var(--pri);box-shadow:0 0 0 2px var(--pri) inset}.card.mia .t:after{content:" · tuya";color:var(--ok);font-weight:400;font-size:12px}.filtros{display:flex;gap:8px;padding:0 16px 10px;flex-wrap:wrap;align-items:center}.filtros input[type=search]{flex:1 1 260px}.filtros input,.filtros select,.form input,.form select,.form textarea,.modal input,.add input{border:1px solid var(--line);border-radius:6px;padding:6px 8px;font:inherit;background:var(--card);color:var(--txt)}.chk{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.sp{flex:1}main#tabla{flex:1 1 auto;min-height:0;margin:0 16px 16px;background:var(--card);border:1px solid var(--line);border-radius:8px;overflow:hidden}.tabulator{font-size:13px;border:0}.tabulator .tabulator-header{background:var(--head)}.tabulator-row .tabulator-cell{padding:5px 6px}.tabulator-row.ro .tabulator-cell{color:#4b5a60}.tabulator-row.inactivo{opacity:.5;text-decoration:line-through}.tabulator-row .tabulator-cell.tabulator-editable:hover{background:var(--hov);cursor:text}.tabulator .tabulator-group{background:var(--grp);font-weight:700;padding:6px 10px;border-top:1px solid var(--line)}.tabulator .tabulator-group .gh{font-weight:400;color:var(--mut);margin-left:8px}.tabulator .tabulator-group .gh b{color:var(--ok)}.tabulator-row.tabulator-calcs{background:var(--calc)!important;font-weight:600}a.code{color:var(--tlink);cursor:pointer;font-family:Consolas,monospace;font-size:12.5px;text-decoration:none}a.code:hover{text-decoration:underline}.prel{cursor:pointer;color:var(--tlink);font-weight:600}.prel small{color:var(--mut);font-weight:400}.tag{display:inline-block;font-size:11px;padding:1px 6px;border-radius:10px;background:var(--soft);color:var(--mut);margin-left:4px;font-weight:600;text-decoration:none}.tag.ll{background:var(--ll-bg);color:var(--bad)}.tag.baja{background:#555;color:#fff}.tag.o-estimado{background:var(--warn);color:var(--warn-tx)}.tag.o-ajustado{background:var(--adj-bg);color:var(--ok)}.tag.o-nuevo{background:var(--new-bg);color:var(--new-tx)}.tag.o-Whinstone{background:var(--soft);color:var(--mut)}.drawer{position:fixed;top:0;right:0;width:min(640px,100vw);height:100vh;background:var(--card);color:var(--txt);box-shadow:-8px 0 30px var(--shadow);z-index:40;overflow-y:auto;padding:0 20px 30px}.dh{position:sticky;top:0;background:var(--card);display:flex;justify-content:space-between;align-items:center;padding:14px 0 10px;border-bottom:1px solid var(--line);margin-bottom:12px;z-index:2}.dh .code{font-size:16px;font-weight:700;font-family:Consolas,monospace}.x{border:0;background:transparent;cursor:pointer;font-size:18px;color:var(--mut)}.x.small{font-size:13px}.form{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.form label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--mut)}.form label.chk{flex-direction:row;align-items:center;gap:6px;color:var(--txt);font-size:13px}.form label.chk input{width:auto;margin:0}.form .full{grid-column:1 / -1}.form textarea,.form input,.form select{color:var(--txt);font-size:13px;width:100%}.form .hh{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.form output{font-size:18px;font-weight:700;color:var(--pri);padding-top:4px}.ref{font-size:12px;color:var(--mut);margin:0}h4{margin:20px 0 6px;font-size:14px}h4 small{font-weight:400;color:var(--mut)}table.mini{width:100%;border-collapse:collapse;font-size:12.5px}table.mini td{border-bottom:1px solid var(--line);padding:4px;vertical-align:middle}table.mini input[type=number]{width:56px}table.mini td.o{color:var(--mut);font-size:11px}table.mini td.num{white-space:nowrap}.vacio{color:var(--mut);font-style:italic;margin:4px 0}.add{display:flex;gap:6px;margin-top:6px}.add input{flex:1}.save{display:flex;align-items:center;gap:12px;margin-top:18px;position:sticky;bottom:0;background:var(--card);padding:10px 0;border-top:1px solid var(--line)}.hint{color:var(--mut);font-size:12.5px}.hist{font-size:12px;max-height:50vh;overflow-y:auto}.hist div{padding:3px 0;border-bottom:1px dotted var(--line)}.hist time{color:var(--mut)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#141e2373;z-index:60;display:grid;place-items:center;padding:16px}.modal[hidden]{display:none}.modal-box{position:relative;background:var(--card);color:var(--txt);border-radius:10px;width:min(860px,100%);max-height:90vh;overflow-y:auto;padding:18px 22px}.modal-box .cerrar{position:absolute;right:12px;top:10px}.modal-box h3{margin:0 30px 8px 0}.modal .row{display:flex;gap:16px;margin:10px 0}.modal .row label{display:flex;flex-direction:column;font-size:12px;color:var(--mut);gap:3px}.hito{border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:10px 0}.hito.malo{border-color:var(--bad);background:var(--bad-bg)}.hito .hh-top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.hito .hh-top span{color:var(--mut);font-size:12px}.hito input:not([type=number]){width:100%}.hito .res{margin:8px 0 0}.rojo{color:var(--bad)}h4.ok{color:var(--ok)}h4.malo{color:var(--bad)}h4.info{color:var(--mut)}.prev .it{padding:5px 0;border-bottom:1px solid var(--line);font-size:13px}.dif{font-size:12px;margin-left:14px}.dif span{color:var(--mut)}del{color:var(--bad)}ins{color:var(--ok);text-decoration:none;font-weight:600}#toasts{position:fixed;bottom:16px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:6px;z-index:80}.toast{background:#263238;color:#fff;padding:9px 14px;border-radius:6px;box-shadow:0 4px 14px #00000040;max-width:560px}.toast.ok{background:var(--ok)}.toast.error{background:var(--bad)}.fuera{max-width:520px;margin:15vh auto;text-align:center}.vista{flex:1;min-height:0;display:flex;flex-direction:column}.vista[hidden]{display:none}.tabs{display:flex;gap:2px;margin-left:18px;background:#ffffff1f;border-radius:7px;padding:3px}.tabs button{border:0;background:transparent;color:#fff;padding:5px 14px;border-radius:5px;cursor:pointer;font:inherit;opacity:.8}.tabs button.on{background:#fff;color:#1f4e5a;opacity:1;font-weight:600}.brand{flex-wrap:wrap}.dot{overflow-y:auto;padding:12px 16px 24px}.dot-ctrl{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px 12px}.dot-ctrl label{display:flex;flex-direction:column;font-size:12px;color:var(--mut);gap:3px}.dot-ctrl input{border:1px solid var(--line);border-radius:6px;padding:5px 8px;font:inherit;background:var(--card);color:var(--txt)}.seg{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}.seg button{border:0;background:var(--card);color:var(--txt);padding:6px 12px;cursor:pointer;font:inherit}.seg button.on{background:var(--pri);color:#fff}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:12px 0}.kpi{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column}.kpi span{font-size:12px;color:var(--mut)}.kpi b{font-size:24px;color:var(--pri)}.kpi small{color:var(--mut);font-size:11.5px}.kpi.malo{border-color:var(--bad-ln);background:var(--bad-bg)}.kpi.malo b{color:var(--bad)}.dot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:12px}.panel{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin-bottom:12px;overflow-x:auto}.panel h4{margin:2px 0 8px}table.tab{width:100%;border-collapse:collapse;font-size:13px}table.tab th{text-align:left;font-weight:600;color:var(--mut);font-size:12px;border-bottom:1px solid var(--line);padding:5px 6px}table.tab td{border-bottom:1px solid var(--line);padding:5px 6px;vertical-align:top}table.tab tfoot td{font-weight:700;border-top:2px solid var(--line)}table.tab .num{text-align:right}table.tab input[type=number]{width:58px;text-align:right;border:1px solid var(--line);border-radius:5px;padding:3px 5px;font:inherit;background:var(--card);color:var(--txt)}table.tab tr.malo td{background:var(--bad-bg)}.muted{color:var(--muted2)}.dotc{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}.chart{width:100%;height:auto;display:block}.chart .grid{stroke:var(--grid)}.chart .ax{font-size:11px;fill:var(--mut)}.chart .cap{stroke:var(--txt);stroke-dasharray:4 3}.ley{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;margin-top:6px}.aviso{background:var(--ok-bg);border:1px solid var(--ok-ln);border-radius:8px;padding:8px 12px;margin-top:12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pad{padding:4px 2px}.bar.big{height:8px;background:var(--line);border-radius:4px;overflow:hidden;margin:6px 0 10px}.bar.big i{display:block;height:100%;background:var(--pri2);transition:width .4s}.spin{display:inline-block;width:12px;height:12px;border:2px solid var(--line);border-top-color:var(--pri2);border-radius:50%;animation:g .8s linear infinite;vertical-align:-1px}@keyframes g{to{transform:rotate(360deg)}}details summary{cursor:pointer}.params{margin-top:12px}.params summary{padding:2px 0}.prow{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;align-items:flex-end}.prow label{display:flex;flex-direction:column;font-size:12px;color:var(--mut);gap:3px;max-width:220px}.prow label.chk{flex-direction:row;color:var(--txt)}.prow input[type=number]{width:80px;border:1px solid var(--line);border-radius:6px;padding:4px 6px;font:inherit;background:var(--card);color:var(--txt)}.prow .rep{display:flex;gap:4px;align-items:center}.prow .rep input{width:56px}:root[data-theme=dark]{color-scheme:dark;--pri: #5fb3c4;--pri2: #6cc3d4;--tlink: #7fd0e0;--bg: #0f1719;--card: #172124;--line: #2b3a3f;--txt: #dce6e9;--mut: #8fa2a8;--ok: #4fbf7f;--bad: #ff7b72;--warn: #3d3315;--warn-tx: #f2cf6b;--top: #10282e;--head: #1d2b2f;--grp: #20343a;--hov: #1f3a41;--calc: #1b282b;--soft: #24343a;--bad-bg: #2e1c1b;--bad-ln: #6b3330;--ok-bg: #16301f;--ok-ln: #2e5b3d;--tagd: #1f3a41;--ll-bg: #4a2220;--adj-bg: #183322;--new-bg: #2a2547;--new-tx: #b9adf5;--row2: #1a2528;--shadow: rgba(0,0,0,.6);--muted2: #4d5f65;--grid: #24343a}:root[data-theme=dark] .drawer .btn.primary,:root[data-theme=dark] .modal .btn.primary,:root[data-theme=dark] .seg button.on{background:#2c6b7a;border-color:#2c6b7a;color:#fff}:root[data-theme=dark] .toast{background:#2b3a3f}:root[data-theme=dark] .toast.ok{background:#2e7d4f}:root[data-theme=dark] .toast.error{background:#b3261e}:root[data-theme=dark] .modal{background:#0009}:root[data-theme=dark] .tag.baja{background:#8fa2a8;color:#0f1719}:root[data-theme=dark] .tabulator,:root[data-theme=dark] .tabulator .tabulator-tableholder,:root[data-theme=dark] .tabulator .tabulator-tableholder .tabulator-table{background:var(--card);color:var(--txt)}:root[data-theme=dark] .tabulator .tabulator-header,:root[data-theme=dark] .tabulator .tabulator-header .tabulator-col{background:var(--head);color:var(--txt);border-color:var(--line)}:root[data-theme=dark] .tabulator-row{background:var(--card);color:var(--txt);border-color:var(--line)}:root[data-theme=dark] .tabulator-row.tabulator-row-even{background:var(--row2)}:root[data-theme=dark] .tabulator-row .tabulator-cell{border-color:var(--line)}:root[data-theme=dark] .tabulator-row.tabulator-selectable:hover{background:var(--hov)}:root[data-theme=dark] .tabulator-row.ro .tabulator-cell{color:#a9b8bc}:root[data-theme=dark] .tabulator .tabulator-group{color:var(--txt);border-color:var(--line)}:root[data-theme=dark] .tabulator .tabulator-group:hover{background:var(--hov)}:root[data-theme=dark] .tabulator .tabulator-group .tabulator-arrow{border-left-color:var(--mut)}:root[data-theme=dark] .tabulator .tabulator-group.tabulator-group-visible .tabulator-arrow{border-top-color:var(--mut);border-left-color:transparent}:root[data-theme=dark] .tabulator-row .tabulator-cell.tabulator-editing{background:var(--card);border-color:var(--pri)}:root[data-theme=dark] .tabulator-row .tabulator-cell.tabulator-editing input,:root[data-theme=dark] .tabulator-row .tabulator-cell.tabulator-editing textarea,:root[data-theme=dark] .tabulator-row .tabulator-cell.tabulator-editing select{background:var(--card);color:var(--txt)}:root[data-theme=dark] .tabulator-edit-list{background:var(--card);color:var(--txt);border-color:var(--line)}:root[data-theme=dark] .tabulator-edit-list .tabulator-edit-list-item.active,:root[data-theme=dark] .tabulator-edit-list .tabulator-edit-list-item:hover{background:#2c6b7a;color:#fff}:root[data-theme=dark] .tabulator .tabulator-footer{background:var(--head);color:var(--txt)}:root[data-theme=dark] .tabulator .tabulator-placeholder .tabulator-placeholder-contents{color:var(--mut)}:root[data-theme=dark] .tabulator-tooltip{background:var(--head);color:var(--txt);border-color:var(--line)}.tema{min-width:36px}.resumen,.filtros{flex-shrink:0}:root{--d-CIV: #b08245;--d-EM: #3f82c4;--d-PC: #c9554a;--d-SA: #3fa36a;--d-EE: #8b6bbf;--d-MEC: #2aa3b2;--d-LT: #b9a33a;--sel: #dcebef}:root[data-theme=dark]{--sel: #1f3a41}.verde{color:var(--ok)}.tag.ok{background:var(--ok-bg);color:var(--ok)}.code.big{font-size:15px;font-weight:700}.filtros .seg button{padding:5px 10px}.mas-f{position:relative}.mas-f summary{list-style:none}.mas-f summary::-webkit-details-marker{display:none}.mas-fb{position:absolute;z-index:30;top:calc(100% + 4px);left:0;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:8px;box-shadow:0 6px 20px var(--shadow);min-width:240px}.agr{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--mut)}.tabulator-row{cursor:pointer}.val{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:4px;border:1.5px solid var(--muted2);font-weight:700;font-size:12px;line-height:1}.val.ed{cursor:pointer}.val.ed:hover{border-color:var(--ok)}.val.on{background:var(--ok);border-color:var(--ok);color:#fff}.ficha .fx-box{width:min(1180px,100%);height:min(820px,92vh);max-height:92vh;padding:0;display:flex;flex-direction:column;overflow:hidden}.fx-h{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;padding:14px 20px 10px;border-bottom:1px solid var(--line)}.fx-t{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.fx-h h2{grid-column:1;margin:2px 0 0;font-size:18px;font-weight:600;line-height:1.3}.fx-acc{grid-column:2;grid-row:1 / span 2;display:flex;align-items:flex-start;gap:8px}.fx-tabs{display:flex;gap:2px;padding:0 16px;border-bottom:1px solid var(--line);background:var(--head)}.fx-tabs button{border:0;background:none;color:var(--mut);padding:9px 14px;font:inherit;cursor:pointer;border-bottom:2px solid transparent}.fx-tabs button small{color:var(--mut);font-size:11.5px;margin-left:4px}.fx-tabs button.on{color:var(--txt);border-bottom-color:var(--pri);font-weight:600}.fx-body{flex:1;min-height:0;overflow:auto}.fx-pane{padding:16px 20px 20px}.fx-pane[hidden]{display:none}.fx-pane .save{margin-top:14px}.fx-prel{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px) minmax(0,1fr);gap:18px;align-items:start}.fx-prel .lado h5,.red .col h6{margin:0 0 8px;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}.fx-prel .lado h5 small,.red .col h6 small{text-transform:none;letter-spacing:0;font-weight:400;margin-left:4px}.fx-prel .centro{position:sticky;top:0;display:flex;flex-direction:column;align-items:center;gap:6px;padding-top:22px}.fx-prel .flecha{color:var(--mut);font-size:20px}.foco{width:100%;border:1px solid var(--line);border-left:4px solid var(--dc);border-radius:8px;background:var(--head);padding:12px 14px;display:flex;flex-direction:column;gap:4px}.foco b{font-size:14.5px;line-height:1.3}.foco dl,dl.tl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:2px 10px;margin:8px 0 0;font-size:12.5px}.foco dt,dl.tl dt{color:var(--mut)}.foco dd,dl.tl dd{margin:0;font-variant-numeric:tabular-nums}.arc{border:1px solid var(--line);border-left:3px solid var(--dc);border-radius:7px;padding:7px 9px;margin-bottom:7px;background:var(--card)}.arc.freno{border-color:var(--bad);border-left-color:var(--bad)}.arc-t{display:flex;align-items:center;gap:6px;font-size:12px}.arc-t .dn{color:var(--mut)}.arc-t .x,.arc-t .lock{margin-left:auto}.lock{font-size:11px;opacity:.6;cursor:help}.arc-n{font-size:13px;margin:2px 0 5px;line-height:1.3}.arc-c{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--mut);flex-wrap:wrap}.arc-c select,.arc-c input{border:1px solid var(--line);border-radius:5px;padding:2px 4px;font:inherit;background:var(--card);color:var(--txt)}.arc-c input{width:48px}.arc-c select:disabled,.arc-c input:disabled{opacity:.55}.arc-f{margin-left:auto}.arc.freno .arc-f b{color:var(--bad)}.fx-pane .add input{width:100%}.red{flex:1;min-height:0;display:grid;grid-template-columns:320px minmax(0,1fr)}.red-izq{border-right:1px solid var(--line);background:var(--card);display:flex;flex-direction:column;min-height:0}.red-f{padding:10px 12px;display:flex;flex-direction:column;gap:6px;border-bottom:1px solid var(--line)}.red-row{display:flex;gap:6px}.red-row select{flex:1;min-width:0}.red-f input,.red-f select{border:1px solid var(--line);border-radius:6px;padding:6px 8px;font:inherit;background:var(--card);color:var(--txt)}.red-lista{flex:1;overflow:auto;padding-bottom:12px}.red-lista h6{margin:0;padding:10px 12px 4px;font-size:11px;color:var(--mut);text-transform:uppercase;letter-spacing:.05em;position:sticky;top:0;background:var(--card)}.r-it{display:flex;gap:6px;align-items:center;width:100%;border:0;background:none;color:var(--txt);text-align:left;padding:5px 12px;font:inherit;font-size:13px;cursor:pointer}.r-it.on{background:var(--sel);font-weight:600}.r-it .n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.r-it .c{color:var(--mut);font-size:11.5px;font-variant-numeric:tabular-nums}.red-mapa{overflow:auto;min-width:0}.red-cab{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 18px;border-bottom:1px solid var(--line);position:sticky;left:0}.r-vacio{display:grid;place-items:center;height:100%;color:var(--mut)}.red-cols{position:relative;display:grid;grid-template-columns:repeat(5,minmax(190px,1fr));gap:44px;padding:16px 18px 40px;min-width:1150px}.red-cols svg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:visible}.red-cols .ln{fill:none;stroke:var(--muted2);stroke-width:1.3}.red-cols .ln.rojo{stroke:var(--bad);stroke-width:2}.stack{display:flex;flex-direction:column;gap:8px}.nd{position:relative;border:1px solid var(--line);border-left:3px solid var(--dc);background:var(--card);border-radius:7px;padding:7px 9px;font-size:12.5px;cursor:pointer}.nd:hover{border-color:var(--mut);border-left-color:var(--dc)}.nd .c{font-family:Consolas,monospace;font-size:11.5px;color:var(--mut);display:flex;justify-content:space-between;gap:6px}.nd .n{line-height:1.3;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.nd .f{font-size:11.5px;color:var(--mut);margin-top:3px}.nd.freno{border-color:var(--bad);border-left-color:var(--bad)}.nd.freno .f b{color:var(--bad)}.nd.foco{cursor:default;background:var(--head);border-left-width:4px;padding:12px 14px}.nd.foco .n{font-size:14.5px;font-weight:600;-webkit-line-clamp:4}.foco-b{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.tipo-arco{font-weight:700;color:var(--pri)}.stack .mas{align-self:flex-start}.resp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:24px;margin:14px 0;align-items:start}.resp .q{font-size:12px;color:var(--mut);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.resp .big{font-size:76px;font-weight:800;line-height:1;letter-spacing:-.02em;color:var(--pri);margin:4px 0}.resp .big small{font-size:20px;font-weight:500;color:var(--mut);letter-spacing:0;margin-left:8px}.resp p{margin:6px 0 0;max-width:60ch}.resp-h{display:flex;flex-direction:column;gap:8px}.hc{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px 12px}.hc-t{display:flex;justify-content:space-between;align-items:center}.hc-t b{font-size:16px}.hc-n{font-size:13px;margin:2px 0}.hc-n small{color:var(--mut)}.hc-f{font-size:12.5px;color:var(--mut)}.hc-f b{color:var(--txt);font-weight:600}.pill{font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:999px}.pill.ok{background:var(--ok-bg);color:var(--ok)}.pill.bad{background:var(--bad-bg);color:var(--bad)}.pill.warn{background:var(--warn);color:var(--warn-tx)}.gantt-wrap{overflow:auto;max-height:70vh;border:1px solid var(--line);border-radius:6px}.gantt{position:relative}.g-row{display:flex;min-height:24px;align-items:stretch}.g-l{position:sticky;left:0;z-index:2;width:320px;flex:none;background:var(--card);border-right:1px solid var(--line);padding:0 10px;display:flex;align-items:center;gap:6px;font-size:12.5px;white-space:nowrap;overflow:hidden}.g-l .n{overflow:hidden;text-overflow:ellipsis}.g-l .code{font-family:Consolas,monospace;font-size:11.5px;color:var(--mut);flex:none}.g-t{position:relative;flex:none}.g-row.hd{position:sticky;top:0;z-index:4;background:var(--head);border-bottom:1px solid var(--line);min-height:28px}.g-row.hd .g-l{background:var(--head);color:var(--mut);font-weight:600;font-size:12px;z-index:5}.g-mes{position:absolute;top:0;bottom:0;border-left:1px solid var(--line);font-size:11.5px;color:var(--mut);padding:6px 0 0 5px;white-space:nowrap}.g-row.disc{min-height:44px;border-top:1px solid var(--line);cursor:pointer;background:var(--head)}.g-row.disc .g-l{background:var(--head);font-weight:600;font-size:13px}.g-row.disc .car{color:var(--mut);width:12px}.g-s{margin-left:auto;font-weight:400;color:var(--mut);font-size:12px}.g-carga{position:absolute;left:0;top:2px}.g-row.prod{cursor:pointer}.g-row.prod:hover,.g-row.prod:hover .g-l{background:var(--hov)}.g-row.prod.tarde .g-l .code{color:var(--bad);font-weight:700}.g-bar{position:absolute;top:7px;height:10px;display:flex;border-radius:2px;overflow:hidden}.g-bar i{display:block;height:100%}.g-bar i.s1,.sw.s1{opacity:.95}.g-bar i.s2,.sw.s2{opacity:.3}.g-bar i.s3,.sw.s3{opacity:.65}.sw{display:inline-block;width:16px;height:8px;border-radius:2px;margin-right:5px;background:var(--txt);vertical-align:middle}.g-plazo{position:absolute;top:4px;width:2px;height:16px;background:var(--bad)}.g-hito{position:absolute;top:0;bottom:0;border-left:1.5px dashed var(--mut);z-index:3;pointer-events:none}.g-hito span{position:absolute;top:30px;left:3px;font-size:10.5px;font-weight:700;color:var(--mut);background:var(--card);padding:0 3px;white-space:nowrap}.crono h4 .hint{font-weight:400;margin-left:8px}@media(max-width:900px){.resp,.fx-prel{grid-template-columns:minmax(0,1fr)}.fx-prel .centro{position:static;order:-1}.red{grid-template-columns:minmax(0,1fr);grid-template-rows:240px minmax(0,1fr)}}.peso{display:block;height:10px;background:var(--soft);border-radius:3px;overflow:hidden;margin-top:3px}.peso i{display:block;height:100%;opacity:.85}#tabla.horas .tabulator-row .tabulator-cell{padding-top:6px;padding-bottom:6px}#tabla.horas .tabulator .tabulator-group{font-size:14px}.red-gen{position:relative;display:flex;gap:22px;padding:16px 18px 40px;width:max-content}.red-gen .col{width:210px;flex:none}.red-gen .nd.g .n{-webkit-line-clamp:2}.red-gen .nd .f{display:flex;gap:8px;flex-wrap:wrap}.red-gen .ext{color:var(--pri);font-weight:600;cursor:help}.red-gen .nd.marca{box-shadow:0 0 0 2px var(--sel)}#tabla.horas .tabulator-group{position:relative}.peso.gpeso{position:absolute;left:var(--peso-x, 60%);width:var(--peso-w, 200px);top:50%;margin:-5px 0 0}.gpct{position:absolute;left:calc(var(--peso-x, 60%) + var(--peso-w, 200px) + 10px);top:50%;transform:translateY(-50%);margin:0}:root{--pri: #2383e2;--pri2: #2383e2;--tlink: #2383e2;--bg: #ffffff;--card: #ffffff;--side: #f7f7f5;--line: #e9e9e7;--line2: #dfdfde;--txt: #37352f;--mut: #787774;--muted2: #b4b4b0;--ok: #0f7b6c;--bad: #e03e3e;--warn: #fbf3db;--warn-tx: #956400;--top: #ffffff;--head: #f7f7f5;--grp: #f7f7f5;--hov: rgba(55, 53, 47, .06);--calc: #fbfbfa;--soft: rgba(55, 53, 47, .08);--bad-bg: #fdebec;--bad-ln: #f5c6c6;--ok-bg: #ddedea;--ok-ln: #b7d9d2;--tagd: #e7f3f8;--ll-bg: #fdebec;--adj-bg: #ddedea;--new-bg: #eae4f2;--new-tx: #6940a5;--row2: #ffffff;--shadow: rgba(15, 15, 15, .12);--grid: #efefed;--sel: #e7f3f8;--d-CIV: #64473a;--d-EM: #0b6e99;--d-PC: #e03e3e;--d-SA: #0f7b6c;--d-EE: #6940a5;--d-MEC: #d9730d;--d-LT: #dfab01;--d-PROY: #9b9a97;font:14px/1.5 ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI Variable Text,Segoe UI,Helvetica,Arial,sans-serif}:root[data-theme=dark]{--pri: #529cca;--pri2: #529cca;--tlink: #6fb0de;--bg: #191919;--card: #191919;--side: #202020;--line: #2f2f2f;--line2: #373737;--txt: rgba(255, 255, 255, .81);--mut: #9b9b9b;--muted2: #5a5a5a;--ok: #4dab9a;--bad: #ff7369;--warn: #403a20;--warn-tx: #ffdc49;--top: #191919;--head: #202020;--grp: #202020;--hov: rgba(255, 255, 255, .055);--calc: #1e1e1e;--soft: rgba(255, 255, 255, .08);--bad-bg: #3a2524;--bad-ln: #5c2f2d;--ok-bg: #22332f;--ok-ln: #2f4a44;--tagd: #243442;--ll-bg: #3a2524;--adj-bg: #22332f;--new-bg: #2f2740;--new-tx: #b89be0;--row2: #191919;--shadow: rgba(0, 0, 0, .55);--grid: #262626;--sel: #243442;--d-CIV: #a27763;--d-EM: #529cca;--d-PC: #ff7369;--d-SA: #4dab9a;--d-EE: #9a6dd7;--d-MEC: #ffa344;--d-LT: #ffdc49;--d-PROY: #979a9b}body{-webkit-font-smoothing:antialiased}.top{background:var(--top);color:var(--txt);border-bottom:1px solid var(--line);padding:8px 16px}.brand small,.user small{color:var(--mut);opacity:1}.logo{background:var(--txt);color:var(--bg);border-radius:6px;width:30px;height:30px;font-size:16px}.top .btn{background:transparent;border-color:transparent;color:var(--txt)}.top .btn:hover{background:var(--hov)}.top .btn.primary{background:var(--pri);border-color:var(--pri);color:#fff;font-weight:500}.top .btn.primary:hover{filter:brightness(1.08);background:var(--pri)}.tabs{background:transparent;gap:2px;padding:0}.tabs button{color:var(--mut);opacity:1;border-radius:5px;padding:5px 10px}.tabs button:hover{background:var(--hov);color:var(--txt)}.tabs button.on{background:var(--soft);color:var(--txt);font-weight:600}.btn{border-color:var(--line2);border-radius:5px;background:transparent;transition:background .1s}.btn:hover{border-color:var(--line2);background:var(--hov)}.btn.ghost{border-color:transparent;color:var(--mut)}.btn.ghost:hover{color:var(--txt)}.btn.primary,.drawer .btn.primary,.modal .btn.primary,:root[data-theme=dark] .drawer .btn.primary,:root[data-theme=dark] .modal .btn.primary{background:var(--pri);border-color:var(--pri);color:#fff;font-weight:500}.btn.primary:hover{filter:brightness(1.08)}.seg{border-color:var(--line2);border-radius:5px}.seg button{background:transparent}.seg button:hover{background:var(--hov)}.seg button.on,:root[data-theme=dark] .seg button.on{background:var(--soft);color:var(--txt);font-weight:600;border-color:transparent}.filtros input,.filtros select,.form input,.form select,.form textarea,.modal input,.add input,.dot-ctrl input,table.tab input[type=number],.prow input[type=number],.red-f input,.red-f select{background:var(--soft);border:1px solid transparent;border-radius:5px}.filtros input:focus,.filtros select:focus,.form input:focus,.form select:focus,.form textarea:focus,.modal input:focus,.add input:focus,.red-f input:focus,.red-f select:focus{outline:none;border-color:var(--pri);background:var(--card);box-shadow:0 0 0 2px color-mix(in srgb,var(--pri) 25%,transparent)}select option{background:var(--card);color:var(--txt)}.card{border-color:var(--line);border-radius:6px;box-shadow:0 1px 2px var(--shadow);background:var(--card)}.card:hover{background:var(--hov)}.card .n{color:var(--txt)}.card.on{border-color:var(--pri);box-shadow:0 0 0 1px var(--pri) inset}.card .bar{background:var(--soft)}main#tabla,#tabla{border-color:var(--line);border-radius:4px}.tabulator,.tabulator .tabulator-tableholder,.tabulator .tabulator-tableholder .tabulator-table{background:var(--card);color:var(--txt)}.tabulator .tabulator-header,.tabulator .tabulator-header .tabulator-col{background:var(--card);color:var(--mut);border-color:var(--line);font-weight:500}.tabulator .tabulator-header{border-bottom:1px solid var(--line)}.tabulator-row,.tabulator-row.tabulator-row-even{background:var(--card);border-color:var(--line)}.tabulator-row .tabulator-cell{border-color:var(--line)}.tabulator-row.tabulator-selectable:hover{background:var(--hov)}.tabulator .tabulator-group{background:var(--grp);border-color:var(--line);font-weight:600}.tabulator .tabulator-group:hover{background:var(--hov)}.tabulator .tabulator-group .gh b{color:var(--txt)}.tabulator-row.ro .tabulator-cell,:root[data-theme=dark] .tabulator-row.ro .tabulator-cell{color:var(--mut)}.tag{border-radius:3px;font-weight:500;padding:0 6px}.tag.baja,:root[data-theme=dark] .tag.baja{background:var(--soft);color:var(--mut)}.tag.d{background:var(--tagd);color:var(--pri)}.panel,.dot-ctrl,.kpi,.hito{border-color:var(--line);border-radius:6px}.kpi b{color:var(--txt)}.modal{background:#0f0f0f66}.modal-box,.drawer{border-radius:8px;box-shadow:0 0 0 1px var(--line),0 12px 40px var(--shadow)}h4{font-weight:600}.red-izq{background:var(--side);border-color:var(--line)}.r-it:hover{background:var(--hov)}.nd{border-color:var(--line);border-left:3px solid var(--dc);border-radius:4px;box-shadow:0 1px 2px var(--shadow)}.nd .c span:first-child{color:var(--dc);font-weight:600}.nd:hover{background:var(--hov)}.toast,:root[data-theme=dark] .toast{background:#2f2f2f;color:#fff;border-radius:6px}.toast.ok,:root[data-theme=dark] .toast.ok{background:#0f7b6c}.toast.error,:root[data-theme=dark] .toast.error{background:#e03e3e}.spin{border-top-color:var(--pri)}.bar.big i{background:var(--pri)}*{scrollbar-width:thin;scrollbar-color:var(--muted2) transparent}.entrada{min-height:100vh;display:grid;place-items:center;padding:16px;background:var(--bg)}.entrada-caja{width:min(440px,100%);display:flex;flex-direction:column;gap:8px}.entrada-caja:has(.roles){width:min(640px,100%)}.entrada-caja .logo{width:44px;height:44px;font-size:22px;border-radius:8px}.entrada-caja h1{margin:10px 0 0;font-size:28px;font-weight:700;letter-spacing:-.01em}.entrada-caja form{display:flex;gap:8px;margin-top:10px}.entrada-caja input{flex:1;font:inherit;padding:8px 10px;border-radius:5px;border:1px solid transparent;background:var(--soft);color:var(--txt)}.entrada-caja input:focus{outline:none;border-color:var(--pri);background:var(--card)}.en-err{color:var(--bad);min-height:1.4em;margin:0}.roles{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;margin-top:10px}.rol{display:grid;grid-template-columns:auto 1fr;column-gap:4px;text-align:left;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--txt);padding:10px 12px;cursor:pointer;font:inherit;box-shadow:0 1px 2px var(--shadow)}.rol:hover{background:var(--hov)}.rol .dotc{margin-top:5px}.rol small{grid-column:2;color:var(--mut);font-size:12px}.user-m .user{border:0;background:transparent;color:var(--txt);font:inherit;cursor:pointer;padding:3px 8px;border-radius:5px;text-align:right}.user-m .user:hover{background:var(--hov)}.mi-nota{display:block;padding:8px 12px;color:var(--mut);font-size:12.5px}dl.claves{display:grid;grid-template-columns:max-content 1fr;gap:6px 12px}dl.claves dd{margin:0}dl.claves code{-webkit-user-select:all;user-select:all;background:var(--soft);padding:2px 6px;border-radius:4px}
