.fc-icon,.fc-unselectable{-moz-user-select:none;-ms-user-select:none}.fc .fc-button,.fc-icon{text-transform:none;font-weight:400}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc .fc-button:not(:disabled),.fc a[data-navlink],.fc-event.fc-event-draggable,.fc-event[href]{cursor:pointer}.fc-unselectable{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.fc{display:flex;flex-direction:column;font-size:1em}.fc .fc-button,.fc-icon{display:inline-block;text-align:center}.fc,.fc *,.fc :after,.fc :before{box-sizing:border-box}.fc table{border-collapse:collapse;border-spacing:0;font-size:1em}.fc th{text-align:center}.fc td,.fc th{vertical-align:top;padding:0}.fc .fc-button,.fc .fc-button .fc-icon,.fc .fc-button-group,.fc .fc-timegrid-slot-label{vertical-align:middle}.fc a[data-navlink]:hover{text-decoration:underline}.fc .fc-button:hover,.fc .fc-list-event-title a,a.fc-event,a.fc-event:hover{text-decoration:none}.fc-direction-ltr{direction:ltr;text-align:left}.fc-direction-rtl{direction:rtl;text-align:right}.fc-theme-standard td,.fc-theme-standard th{border:1px solid #ddd;border:1px solid var(--fc-border-color,#ddd)}.fc-liquid-hack td,.fc-liquid-hack th{position:relative}@font-face{font-family:fcicons;src:url("data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBfAAAAC8AAAAYGNtYXAXVtKNAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5ZgYydxIAAAF4AAAFNGhlYWQUJ7cIAAAGrAAAADZoaGVhB20DzAAABuQAAAAkaG10eCIABhQAAAcIAAAALGxvY2ED4AU6AAAHNAAAABhtYXhwAA8AjAAAB0wAAAAgbmFtZXsr690AAAdsAAABhnBvc3QAAwAAAAAI9AAAACAAAwPAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpBgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6Qb//f//AAAAAAAg6QD//f//AAH/4xcEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAWIAjQKeAskAEwAAJSc3NjQnJiIHAQYUFwEWMjc2NCcCnuLiDQ0MJAz/AA0NAQAMJAwNDcni4gwjDQwM/wANIwz/AA0NDCMNAAAAAQFiAI0CngLJABMAACUBNjQnASYiBwYUHwEHBhQXFjI3AZ4BAA0N/wAMJAwNDeLiDQ0MJAyNAQAMIw0BAAwMDSMM4uINIwwNDQAAAAIA4gC3Ax4CngATACcAACUnNzY0JyYiDwEGFB8BFjI3NjQnISc3NjQnJiIPAQYUHwEWMjc2NCcB87e3DQ0MIw3VDQ3VDSMMDQ0BK7e3DQ0MJAzVDQ3VDCQMDQ3zuLcMJAwNDdUNIwzWDAwNIwy4twwkDA0N1Q0jDNYMDA0jDAAAAgDiALcDHgKeABMAJwAAJTc2NC8BJiIHBhQfAQcGFBcWMjchNzY0LwEmIgcGFB8BBwYUFxYyNwJJ1Q0N1Q0jDA0Nt7cNDQwjDf7V1Q0N1QwkDA0Nt7cNDQwkDLfWDCMN1Q0NDCQMt7gMIw0MDNYMIw3VDQ0MJAy3uAwjDQwMAAADAFUAAAOrA1UAMwBoAHcAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMhMjY1NCYjISIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAAVYRGRkR/qoRGRkRA1UFBAUOCQkVDAsZDf2rDRkLDBUJCA4FBQUFBQUOCQgVDAsZDQJVDRkLDBUJCQ4FBAVVAgECBQMCBwQECAX9qwQJAwQHAwMFAQICAgIBBQMDBwQDCQQCVQUIBAQHAgMFAgEC/oAZEhEZGRESGQAAAAADAFUAAAOrA1UAMwBoAIkAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMzFRQWMzI2PQEzMjY1NCYrATU0JiMiBh0BIyIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAgBkSEhmAERkZEYAZEhIZgBEZGREDVQUEBQ4JCRUMCxkN/asNGQsMFQkIDgUFBQUFBQ4JCBUMCxkNAlUNGQsMFQkJDgUEBVUCAQIFAwIHBAQIBf2rBAkDBAcDAwUBAgICAgEFAwMHBAMJBAJVBQgEBAcCAwUCAQL+gIASGRkSgBkSERmAEhkZEoAZERIZAAABAOIAjQMeAskAIAAAExcHBhQXFjI/ARcWMjc2NC8BNzY0JyYiDwEnJiIHBhQX4uLiDQ0MJAzi4gwkDA0N4uINDQwkDOLiDCQMDQ0CjeLiDSMMDQ3h4Q0NDCMN4uIMIw0MDOLiDAwNIwwAAAABAAAAAQAAa5n0y18PPPUACwQAAAAAANivOVsAAAAA2K85WwAAAAADqwNVAAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAOrAAEAAAAAAAAAAAAAAAAAAAALBAAAAAAAAAAAAAAAAgAAAAQAAWIEAAFiBAAA4gQAAOIEAABVBAAAVQQAAOIAAAAAAAoAFAAeAEQAagCqAOoBngJkApoAAQAAAAsAigADAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAcAAAABAAAAAAACAAcAYAABAAAAAAADAAcANgABAAAAAAAEAAcAdQABAAAAAAAFAAsAFQABAAAAAAAGAAcASwABAAAAAAAKABoAigADAAEECQABAA4ABwADAAEECQACAA4AZwADAAEECQADAA4APQADAAEECQAEAA4AfAADAAEECQAFABYAIAADAAEECQAGAA4AUgADAAEECQAKADQApGZjaWNvbnMAZgBjAGkAYwBvAG4Ac1ZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMGZjaWNvbnMAZgBjAGkAYwBvAG4Ac2ZjaWNvbnMAZgBjAGkAYwBvAG4Ac1JlZ3VsYXIAUgBlAGcAdQBsAGEAcmZjaWNvbnMAZgBjAGkAYwBvAG4Ac0ZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=") format('truetype');font-weight:400;font-style:normal}.fc-icon{width:1em;height:1em;-webkit-user-select:none;user-select:none;font-family:fcicons!important;speak:none;font-style:normal;font-variant:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fc-icon-chevron-left:before{content:"\e900"}.fc-icon-chevron-right:before{content:"\e901"}.fc-icon-chevrons-left:before{content:"\e902"}.fc-icon-chevrons-right:before{content:"\e903"}.fc-icon-minus-square:before{content:"\e904"}.fc-icon-plus-square:before{content:"\e905"}.fc-icon-x:before{content:"\e906"}.fc .fc-button{overflow:visible;text-transform:none;margin:0;font-family:inherit}.fc .fc-button::-moz-focus-inner{padding:0;border-style:none}.fc .fc-button{-webkit-appearance:button;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.4em .65em;font-size:1em;line-height:1.5;border-radius:.25em}.fc .fc-button:focus{outline:0;box-shadow:0 0 0 .2rem rgba(44,62,80,.25)}.fc .fc-button-primary:focus,.fc .fc-button-primary:not(:disabled).fc-button-active:focus,.fc .fc-button-primary:not(:disabled):active:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button:disabled{opacity:.65}.fc .fc-button-primary{color:#fff;color:var(--fc-button-text-color,#fff);background-color:#2C3E50;background-color:var(--fc-button-bg-color,#2C3E50);border-color:#2C3E50;border-color:var(--fc-button-border-color,#2C3E50)}.fc .fc-button-primary:hover{color:#fff;color:var(--fc-button-text-color,#fff);background-color:#1e2b37;background-color:var(--fc-button-hover-bg-color,#1e2b37);border-color:#1a252f;border-color:var(--fc-button-hover-border-color,#1a252f)}.fc .fc-button-primary:disabled{color:#fff;color:var(--fc-button-text-color,#fff);background-color:#2C3E50;background-color:var(--fc-button-bg-color,#2C3E50);border-color:#2C3E50;border-color:var(--fc-button-border-color,#2C3E50)}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{color:#fff;color:var(--fc-button-text-color,#fff);background-color:#1a252f;background-color:var(--fc-button-active-bg-color,#1a252f);border-color:#151e27;border-color:var(--fc-button-active-border-color,#151e27)}.fc .fc-button .fc-icon{font-size:1.5em}.fc .fc-button-group{position:relative;display:inline-flex}.fc .fc-button-group>.fc-button{position:relative;flex:1 1 auto}.fc .fc-button-group>.fc-button.fc-button-active,.fc .fc-button-group>.fc-button:active,.fc .fc-button-group>.fc-button:focus,.fc .fc-button-group>.fc-button:hover{z-index:1}.fc-direction-ltr .fc-button-group>.fc-button:not(:first-child){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.fc-direction-ltr .fc-button-group>.fc-button:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.fc-direction-rtl .fc-button-group>.fc-button:not(:first-child){margin-right:-1px;border-top-right-radius:0;border-bottom-right-radius:0}.fc-direction-rtl .fc-button-group>.fc-button:not(:last-child){border-top-left-radius:0;border-bottom-left-radius:0}.fc .fc-toolbar{display:flex;justify-content:space-between;align-items:center}.fc .fc-toolbar.fc-header-toolbar{margin-bottom:1.5em}.fc .fc-toolbar.fc-footer-toolbar{margin-top:1.5em}.fc .fc-toolbar-title{font-size:1.75em;margin:0}.fc-direction-ltr .fc-toolbar>*>:not(:first-child){margin-left:.75em}.fc-direction-rtl .fc-toolbar>*>:not(:first-child){margin-right:.75em}.fc-direction-rtl .fc-toolbar-ltr{flex-direction:row-reverse}.fc .fc-scroller{-webkit-overflow-scrolling:touch;position:relative}.fc .fc-scroller-liquid{height:100%}.fc .fc-scroller-liquid-absolute{position:absolute;top:0;right:0;left:0;bottom:0}.fc .fc-scroller-harness{position:relative;overflow:hidden;direction:ltr}.fc .fc-scroller-harness-liquid{height:100%}.fc-direction-rtl .fc-scroller-harness>.fc-scroller{direction:rtl}.fc-theme-standard .fc-scrollgrid{border:1px solid #ddd;border:1px solid var(--fc-border-color,#ddd)}.fc .fc-scrollgrid,.fc .fc-scrollgrid-section-footer>*,.fc .fc-scrollgrid-section-header>*{border-bottom-width:0}.fc .fc-scrollgrid,.fc .fc-scrollgrid table{width:100%;table-layout:fixed}.fc .fc-scrollgrid table{border-top-style:hidden;border-left-style:hidden;border-right-style:hidden}.fc .fc-scrollgrid{border-collapse:separate;border-right-width:0}.fc .fc-scrollgrid-liquid{height:100%}.fc .fc-scrollgrid-section,.fc .fc-scrollgrid-section table,.fc .fc-scrollgrid-section>td{height:1px}.fc .fc-scrollgrid-section-liquid>td{height:100%}.fc .fc-scrollgrid-section>*{border-top-width:0;border-left-width:0}.fc .fc-scrollgrid-section-body table,.fc .fc-scrollgrid-section-footer table{border-bottom-style:hidden}.fc .fc-scrollgrid-section-sticky>*{background:var(--fc-page-bg-color,#fff);position:sticky;z-index:3}.fc .fc-scrollgrid-section-header.fc-scrollgrid-section-sticky>*{top:0}.fc .fc-scrollgrid-section-footer.fc-scrollgrid-section-sticky>*{bottom:0}.fc .fc-scrollgrid-sticky-shim{height:1px;margin-bottom:-1px}.fc-sticky{position:sticky}.fc .fc-view-harness{flex-grow:1;position:relative}.fc .fc-bg-event,.fc .fc-highlight,.fc .fc-non-business,.fc .fc-view-harness-active>.fc-view{position:absolute;top:0;left:0;right:0;bottom:0}.fc .fc-col-header-cell-cushion{display:inline-block;padding:2px 4px}.fc .fc-non-business{background:rgba(215,215,215,.3);background:var(--fc-non-business-color,rgba(215,215,215,.3))}.fc .fc-bg-event{background:var(--fc-bg-event-color,#8fdf82);opacity:.3;opacity:var(--fc-bg-event-opacity,.3)}.fc .fc-bg-event .fc-event-title{margin:.5em;font-size:.85em;font-size:var(--fc-small-font-size,.85em);font-style:italic}.fc .fc-highlight{background:rgba(188,232,241,.3);background:var(--fc-highlight-color,rgba(188,232,241,.3))}.fc .fc-cell-shaded,.fc .fc-day-disabled{background:rgba(208,208,208,.3);background:var(--fc-neutral-bg-color,rgba(208,208,208,.3))}.fc-event .fc-event-main{position:relative;z-index:2}.fc-event-dragging:not(.fc-event-selected){opacity:.75}.fc-event-dragging.fc-event-selected{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-event .fc-event-resizer{display:none;position:absolute;z-index:4}.fc-event-selected .fc-event-resizer,.fc-event:hover .fc-event-resizer,.fc-h-event,.fc-v-event{display:block}.fc-event-selected .fc-event-resizer{border-radius:4px;border-radius:calc(var(--fc-event-resizer-dot-total-width,8px)/ 2);border-width:1px;border-width:var(--fc-event-resizer-dot-border-width,1px);width:8px;width:var(--fc-event-resizer-dot-total-width,8px);height:8px;height:var(--fc-event-resizer-dot-total-width,8px);border-style:solid;border-color:inherit;background:var(--fc-page-bg-color,#fff)}.fc-event-selected .fc-event-resizer:before{content:'';position:absolute;top:-20px;left:-20px;right:-20px;bottom:-20px}.fc-event-selected,.fc-event:focus{box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event-selected:before,.fc-event:focus:before{content:"";position:absolute;z-index:3;top:0;left:0;right:0;bottom:0}.fc-event-selected:after,.fc-event:focus:after{content:"";background:rgba(0,0,0,.25);background:var(--fc-event-selected-overlay-color,rgba(0,0,0,.25));position:absolute;z-index:1;top:-1px;left:-1px;right:-1px;bottom:-1px}.fc-h-event{border:1px solid #3788d8;border:1px solid var(--fc-event-border-color,#3788d8);background-color:#3788d8;background-color:var(--fc-event-bg-color,#3788d8)}.fc-h-event .fc-event-main{color:#fff;color:var(--fc-event-text-color,#fff)}.fc-h-event .fc-event-main-frame{display:flex}.fc-h-event .fc-event-time{max-width:100%;overflow:hidden}.fc-h-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-width:0}.fc-h-event .fc-event-title{display:inline-block;vertical-align:top;left:0;right:0;max-width:100%;overflow:hidden}.fc-h-event.fc-event-selected:before{top:-10px;bottom:-10px}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-start),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-end){border-top-left-radius:0;border-bottom-left-radius:0;border-left-width:0}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-end),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-start){border-top-right-radius:0;border-bottom-right-radius:0;border-right-width:0}.fc-h-event:not(.fc-event-selected) .fc-event-resizer{top:0;bottom:0;width:8px;width:var(--fc-event-resizer-thickness,8px)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end{cursor:w-resize;left:-4px;left:calc(-.5 * var(--fc-event-resizer-thickness,8px))}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start{cursor:e-resize;right:-4px;right:calc(-.5 * var(--fc-event-resizer-thickness,8px))}.fc-h-event.fc-event-selected .fc-event-resizer{top:50%;margin-top:-4px;margin-top:calc(-.5 * var(--fc-event-resizer-dot-total-width,8px))}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-start,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-end{left:-4px;left:calc(-.5 * var(--fc-event-resizer-dot-total-width,8px))}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-end,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-start{right:-4px;right:calc(-.5 * var(--fc-event-resizer-dot-total-width,8px))}.fc .fc-popover{position:absolute;z-index:9999;box-shadow:0 2px 6px rgba(0,0,0,.15)}.fc .fc-popover-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:3px 4px}.fc .fc-popover-title{margin:0 2px}.fc .fc-popover-close{cursor:pointer;opacity:.65;font-size:1.1em}.fc-theme-standard .fc-popover{border:1px solid #ddd;border:1px solid var(--fc-border-color,#ddd);background:var(--fc-page-bg-color,#fff)}.fc-theme-standard .fc-popover-header{background:rgba(208,208,208,.3);background:var(--fc-neutral-bg-color,rgba(208,208,208,.3))}:root{--fc-daygrid-event-dot-width:8px;--fc-list-event-dot-width:10px;--fc-list-event-hover-bg-color:#f5f5f5}.fc-daygrid-day-events:after,.fc-daygrid-day-events:before,.fc-daygrid-day-frame:after,.fc-daygrid-day-frame:before,.fc-daygrid-event-harness:after,.fc-daygrid-event-harness:before{content:"";clear:both;display:table}.fc .fc-daygrid-body{position:relative;z-index:1}.fc .fc-daygrid-day.fc-day-today{background-color:rgba(255,220,40,.15);background-color:var(--fc-today-bg-color,rgba(255,220,40,.15))}.fc .fc-daygrid-day-frame{position:relative;min-height:100%}.fc .fc-daygrid-day-top{display:flex;flex-direction:row-reverse}.fc .fc-day-other .fc-daygrid-day-top{opacity:.3}.fc .fc-daygrid-day-number{position:relative;z-index:4;padding:4px}.fc .fc-daygrid-day-events{margin-top:1px}.fc .fc-daygrid-body-balanced .fc-daygrid-day-events{position:absolute;left:0;right:0}.fc .fc-daygrid-body-unbalanced .fc-daygrid-day-events{position:relative;min-height:2em}.fc .fc-daygrid-body-natural .fc-daygrid-day-events{margin-bottom:1em}.fc .fc-daygrid-event-harness{position:relative}.fc .fc-daygrid-event-harness-abs{position:absolute;top:0;left:0;right:0}.fc .fc-daygrid-bg-harness{position:absolute;top:0;bottom:0}.fc .fc-daygrid-day-bg .fc-non-business{z-index:1}.fc .fc-daygrid-day-bg .fc-bg-event{z-index:2}.fc .fc-daygrid-day-bg .fc-highlight{z-index:3}.fc .fc-daygrid-event{z-index:6;margin-top:1px}.fc .fc-daygrid-event.fc-event-mirror{z-index:7}.fc .fc-daygrid-day-bottom{font-size:.85em;padding:2px 3px 0}.fc .fc-daygrid-day-bottom:before{content:"";clear:both;display:table}.fc .fc-daygrid-more-link{position:relative;z-index:4;cursor:pointer}.fc .fc-daygrid-week-number{position:absolute;z-index:5;top:0;padding:2px;min-width:1.5em;text-align:center;background-color:rgba(208,208,208,.3);background-color:var(--fc-neutral-bg-color,rgba(208,208,208,.3));color:grey;color:var(--fc-neutral-text-color,grey)}.fc .fc-more-popover .fc-popover-body{min-width:220px;padding:10px}.fc-direction-ltr .fc-daygrid-event.fc-event-start,.fc-direction-rtl .fc-daygrid-event.fc-event-end{margin-left:2px}.fc-direction-ltr .fc-daygrid-event.fc-event-end,.fc-direction-rtl .fc-daygrid-event.fc-event-start{margin-right:2px}.fc-direction-ltr .fc-daygrid-week-number{left:0;border-radius:0 0 3px}.fc-direction-rtl .fc-daygrid-week-number{right:0;border-radius:0 0 0 3px}.fc-liquid-hack .fc-daygrid-day-frame{position:static}.fc-daygrid-event{position:relative;white-space:nowrap;border-radius:3px;font-size:.85em;font-size:var(--fc-small-font-size,.85em)}.fc-daygrid-block-event .fc-event-time{font-weight:700}.fc-daygrid-block-event .fc-event-time,.fc-daygrid-block-event .fc-event-title{padding:1px}.fc-daygrid-dot-event{display:flex;align-items:center;padding:2px 0}.fc-daygrid-dot-event .fc-event-title{flex-grow:1;flex-shrink:1;min-width:0;overflow:hidden;font-weight:700}.fc-daygrid-dot-event.fc-event-mirror,.fc-daygrid-dot-event:hover{background:rgba(0,0,0,.1)}.fc-daygrid-dot-event.fc-event-selected:before{top:-10px;bottom:-10px}.fc-daygrid-event-dot{margin:0 4px;box-sizing:content-box;width:0;height:0;border:4px solid #3788d8;border:calc(var(--fc-daygrid-event-dot-width,8px)/ 2) solid var(--fc-event-border-color,#3788d8);border-radius:4px;border-radius:calc(var(--fc-daygrid-event-dot-width,8px)/ 2)}.fc-direction-ltr .fc-daygrid-event .fc-event-time{margin-right:3px}.fc-direction-rtl .fc-daygrid-event .fc-event-time{margin-left:3px}.fc-v-event{border:1px solid #3788d8;border:1px solid var(--fc-event-border-color,#3788d8);background-color:#3788d8;background-color:var(--fc-event-bg-color,#3788d8)}.fc-v-event .fc-event-main{color:#fff;color:var(--fc-event-text-color,#fff);height:100%}.fc-v-event .fc-event-main-frame{height:100%;display:flex;flex-direction:column}.fc-v-event .fc-event-time{flex-grow:0;flex-shrink:0;max-height:100%;overflow:hidden}.fc-v-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-height:0}.fc-v-event .fc-event-title{top:0;bottom:0;max-height:100%;overflow:hidden}.fc-v-event:not(.fc-event-start){border-top-width:0;border-top-left-radius:0;border-top-right-radius:0}.fc-v-event:not(.fc-event-end){border-bottom-width:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.fc-v-event.fc-event-selected:before{left:-10px;right:-10px}.fc-v-event .fc-event-resizer-start{cursor:n-resize}.fc-v-event .fc-event-resizer-end{cursor:s-resize}.fc-v-event:not(.fc-event-selected) .fc-event-resizer{height:8px;height:var(--fc-event-resizer-thickness,8px);left:0;right:0}.fc-v-event:not(.fc-event-selected) .fc-event-resizer-start{top:-4px;top:calc(var(--fc-event-resizer-thickness,8px)/ -2)}.fc-v-event:not(.fc-event-selected) .fc-event-resizer-end{bottom:-4px;bottom:calc(var(--fc-event-resizer-thickness,8px)/ -2)}.fc-v-event.fc-event-selected .fc-event-resizer{left:50%;margin-left:-4px;margin-left:calc(var(--fc-event-resizer-dot-total-width,8px)/ -2)}.fc-v-event.fc-event-selected .fc-event-resizer-start{top:-4px;top:calc(var(--fc-event-resizer-dot-total-width,8px)/ -2)}.fc-v-event.fc-event-selected .fc-event-resizer-end{bottom:-4px;bottom:calc(var(--fc-event-resizer-dot-total-width,8px)/ -2)}.fc .fc-timegrid .fc-daygrid-body{z-index:2}.fc .fc-timegrid-axis-chunk>table,.fc .fc-timegrid-body,.fc .fc-timegrid-slots{position:relative;z-index:1}.fc .fc-timegrid-divider{padding:0 0 2px}.fc .fc-timegrid-body{min-height:100%}.fc .fc-timegrid-axis-chunk{position:relative}.fc .fc-timegrid-slot{height:1.5em;border-bottom:0}.fc .fc-timegrid-slot:empty:before{content:'\00a0'}.fc .fc-timegrid-slot-minor{border-top-style:dotted}.fc .fc-timegrid-slot-label-cushion{display:inline-block;white-space:nowrap}.fc .fc-timegrid-axis-cushion,.fc .fc-timegrid-slot-label-cushion{padding:0 4px}.fc .fc-timegrid-axis-frame-liquid{height:100%}.fc .fc-timegrid-axis-frame{overflow:hidden;display:flex;align-items:center;justify-content:flex-end}.fc .fc-timegrid-axis-cushion{max-width:60px;flex-shrink:0}.fc-direction-ltr .fc-timegrid-slot-label-frame{text-align:right}.fc-direction-rtl .fc-timegrid-slot-label-frame{text-align:left}.fc-liquid-hack .fc-timegrid-axis-frame-liquid{height:auto;position:absolute;top:0;right:0;bottom:0;left:0}.fc .fc-timegrid-col.fc-day-today{background-color:rgba(255,220,40,.15);background-color:var(--fc-today-bg-color,rgba(255,220,40,.15))}.fc .fc-timegrid-col-frame{min-height:100%;position:relative}.fc-media-screen.fc-liquid-hack .fc-timegrid-col-frame{height:auto;position:absolute;top:0;right:0;bottom:0;left:0}.fc-media-screen .fc-timegrid-cols{position:absolute;top:0;left:0;right:0;bottom:0}.fc-media-screen .fc-timegrid-cols>table{height:100%}.fc-media-screen .fc-timegrid-col-bg,.fc-media-screen .fc-timegrid-col-events,.fc-media-screen .fc-timegrid-now-indicator-container{position:absolute;top:0;left:0;right:0}.fc .fc-timegrid-col-bg{z-index:2}.fc .fc-timegrid-col-bg .fc-non-business{z-index:1}.fc .fc-timegrid-col-bg .fc-bg-event{z-index:2}.fc .fc-timegrid-col-bg .fc-highlight,.fc .fc-timegrid-col-events{z-index:3}.fc .fc-timegrid-bg-harness{position:absolute;left:0;right:0}.fc .fc-timegrid-now-indicator-container{bottom:0;overflow:hidden}.fc-direction-ltr .fc-timegrid-col-events{margin:0 2.5% 0 2px}.fc-direction-rtl .fc-timegrid-col-events{margin:0 2px 0 2.5%}.fc-timegrid-event-harness{position:absolute}.fc-timegrid-event-harness>.fc-timegrid-event{position:absolute;top:0;bottom:0;left:0;right:0}.fc-timegrid-event-harness-inset .fc-timegrid-event,.fc-timegrid-event.fc-event-mirror,.fc-timegrid-more-link{box-shadow:0 0 0 1px #fff;box-shadow:0 0 0 1px var(--fc-page-bg-color,#fff)}.fc-timegrid-event,.fc-timegrid-more-link{font-size:.85em;font-size:var(--fc-small-font-size,.85em);border-radius:3px}.fc-timegrid-event{margin-bottom:1px}.fc-timegrid-event .fc-event-main{padding:1px 1px 0}.fc-timegrid-event .fc-event-time{white-space:nowrap;font-size:.85em;font-size:var(--fc-small-font-size,.85em);margin-bottom:1px}.fc-timegrid-event-short .fc-event-main-frame{flex-direction:row;overflow:hidden}.fc-timegrid-event-short .fc-event-time:after{content:'\00a0-\00a0'}.fc-timegrid-event-short .fc-event-title{font-size:.85em;font-size:var(--fc-small-font-size,.85em)}.fc-timegrid-more-link{position:absolute;z-index:9999;color:inherit;color:var(--fc-more-link-text-color,inherit);background:var(--fc-more-link-bg-color,#d0d0d0);cursor:pointer;margin-bottom:1px}.fc-timegrid-more-link-inner{padding:3px 2px;top:0}.fc-direction-ltr .fc-timegrid-more-link{right:0}.fc-direction-rtl .fc-timegrid-more-link{left:0}.fc .fc-timegrid-now-indicator-line{position:absolute;z-index:4;left:0;right:0;border-style:solid;border-color:red;border-color:var(--fc-now-indicator-color,red);border-width:1px 0 0}.fc .fc-timegrid-now-indicator-arrow{position:absolute;z-index:4;margin-top:-5px;border-style:solid;border-color:red;border-color:var(--fc-now-indicator-color,red)}.fc-direction-ltr .fc-timegrid-now-indicator-arrow{left:0;border-width:5px 0 5px 6px;border-top-color:transparent;border-bottom-color:transparent}.fc-direction-rtl .fc-timegrid-now-indicator-arrow{right:0;border-width:5px 6px 5px 0;border-top-color:transparent;border-bottom-color:transparent}.fc-theme-standard .fc-list{border:1px solid #ddd;border:1px solid var(--fc-border-color,#ddd)}.fc .fc-list-empty{background-color:rgba(208,208,208,.3);background-color:var(--fc-neutral-bg-color,rgba(208,208,208,.3));height:100%;display:flex;justify-content:center;align-items:center}.fc .fc-list-empty-cushion{margin:5em 0}.fc .fc-list-table{width:100%;border-style:hidden}.fc .fc-list-table tr>*{border-left:0;border-right:0}.fc .fc-list-sticky .fc-list-day>*{position:sticky;top:0;background:var(--fc-page-bg-color,#fff)}.fc .fc-list-table thead{position:absolute;left:-10000px}.fc .fc-list-table tbody>tr:first-child th{border-top:0}.fc .fc-list-table th{padding:0}.fc .fc-list-day-cushion,.fc .fc-list-table td{padding:8px 14px}.fc .fc-list-day-cushion:after{content:"";clear:both;display:table}.fc-theme-standard .fc-list-day-cushion{background-color:rgba(208,208,208,.3);background-color:var(--fc-neutral-bg-color,rgba(208,208,208,.3))}.fc-direction-ltr .fc-list-day-text,.fc-direction-rtl .fc-list-day-side-text{float:left}.fc-direction-ltr .fc-list-day-side-text,.fc-direction-rtl .fc-list-day-text{float:right}.fc-direction-ltr .fc-list-table .fc-list-event-graphic{padding-right:0}.fc-direction-rtl .fc-list-table .fc-list-event-graphic{padding-left:0}.fc .fc-list-event.fc-event-forced-url{cursor:pointer}.fc .fc-list-event:hover td{background-color:#f5f5f5;background-color:var(--fc-list-event-hover-bg-color,#f5f5f5)}.fc .fc-list-event-graphic,.fc .fc-list-event-time{white-space:nowrap;width:1px}.fc .fc-list-event-dot{display:inline-block;box-sizing:content-box;width:0;height:0;border:5px solid #3788d8;border:calc(var(--fc-list-event-dot-width,10px)/ 2) solid var(--fc-event-border-color,#3788d8);border-radius:5px;border-radius:calc(var(--fc-list-event-dot-width,10px)/ 2)}.fc .fc-list-event-title a{color:inherit}.fc .fc-list-event.fc-event-forced-url:hover a{text-decoration:underline}.fc-theme-bootstrap a:not([href]){color:inherit}.fc-theme-bootstrap5 a:not([href]){color:inherit;text-decoration:inherit}.fc-theme-bootstrap5 .fc-list,.fc-theme-bootstrap5 .fc-scrollgrid,.fc-theme-bootstrap5 td,.fc-theme-bootstrap5 th{border:1px solid var(--bs-gray-400)}.fc-theme-bootstrap5 .fc-scrollgrid{border-right-width:0;border-bottom-width:0}.fc-theme-bootstrap5-shaded{background-color:var(--bs-gray-200)}
/* ================================================================= */
/* CSS CONSOLIDADO DEL PROYECTO (anexado a la libreria FullCalendar). */
/* Incluye: CSS inline de las vistas + archivos .css propios.         */
/* Generado a peticion del usuario. Los originales se conservan.      */
/* ================================================================= */

/* ===== ORIGEN: public/css/_tmp_inline_consolidado.css ===== */

/* ============================================================= */
/* CSS INLINE EXTRAIDO DESDE LAS VISTAS (app/Views) */
/* Consolidado en main.min.css a peticion del usuario. */
/* ============================================================= */

/* --- app/Views/seguridad/qr_escanear.php --- */
#qr_solicitud_codigo_input {
	border-width: 2px !important;
}
#qr_solicitud_codigo_input:focus {
	border-width: 2px !important;
	box-shadow: 0 0 0 0.2rem rgba(64, 81, 137, 0.35);
}
#qr_detalle_card .tab-content {
	margin-top: 0.25rem;
}

/* --- app/Views/interno/solicitudes/index.php --- */
@keyframes ca-sol-btn-borde-parpadeo {
	0%, 100% {
		border-color: var(--bs-btn-border-color, #405189);
		box-shadow: none;
	}
	50% {
		border-color: #f7b84b;
		box-shadow: 0 0 0 2px rgba(247, 184, 75, 0.45);
	}
}
.btn.ca-sol-btn-borde-parpadeo {
	animation: ca-sol-btn-borde-parpadeo 1.15s ease-in-out infinite;
}
.btn.btn-outline-success.ca-sol-btn-borde-parpadeo {
	--bs-btn-border-color: var(--bs-success);
}
.ca-modal-fragment-body .ca-badge-estado-sol {
	font-weight: 500;
	padding: 0.5rem 0.85rem;
	line-height: 1.35;
	white-space: normal;
	display: inline-block;
	max-width: 15rem;
	text-align: center;
}

/* --- app/Views/seguridad/vehiculos/index.php --- */
#seg_veh_conductor_input_wrap {
	z-index: 2;
}
#seg_veh_conductor_suggest {
	top: calc(100% + 2px);
	z-index: 1060;
	max-height: 220px;
	overflow-y: auto;
	background: #fff;
	border: 1px solid var(--vz-border-color, #dee2e6);
	border-radius: 0.375rem;
}
#seg_veh_conductor_suggest .list-group-item {
	cursor: pointer;
	border-left: 0;
	border-right: 0;
}
#seg_veh_conductor_suggest .list-group-item:first-child {
	border-top: 0;
}
#seg_veh_conductor_suggest .list-group-item:hover {
	background-color: var(--vz-light, #f3f6f9);
}
#seg_veh_conductor_wrap + div {
	margin-top: 0.25rem;
}

/* --- app/Views/extras/mapa-programaciones-diario.php --- */
.mapa-prog-page .page-content { padding-bottom: 0 !important; }
.mapa-prog-toolbar {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	margin-bottom: 0.75rem;
	text-align: center;
}
.mapa-prog-fecha-bloque {
	width: 100%;
	max-width: 42rem;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.mapa-prog-fecha-bloque .border-top {
	width: 100%;
}
.mapa-prog-leyenda {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	font-size: 0.875rem;
}
.mapa-prog-leyenda span { display: inline-flex; align-items: center; gap: 0.35rem; }
.mapa-prog-dot { width: 12px; height: 12px; border-radius: 50%; display: inline-block; border: 1px solid rgba(0,0,0,.2); }
.mapa-prog-dot--rojo { background: #e53935; }
.mapa-prog-dot--verde { background: #81c784; border-color: rgba(0, 0, 0, 0.18); }
.mapa-prog-dot--salida { background: #4fc3f7; border-color: rgba(0, 0, 0, 0.15); }
.mapa-prog-region-tabs {
	margin-bottom: 0.5rem;
}
.mapa-prog-region-tabs .nav-link {
	cursor: pointer;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}
.mapa-prog-region-tabs .nav-link:not(.active) {
	color: #6c757d;
}
#mapa-programaciones-diario {
	width: 100%;
	height: calc(100vh - 12.5rem);
	min-height: 22rem;
	border-radius: 0.25rem;
	z-index: 1;
}
@media (max-width: 991.98px) {
	#mapa-programaciones-diario { height: calc(100vh - 14rem); }
}
.mapa-prog-divicon-root {
	background: transparent !important;
	border: none !important;
	overflow: visible !important;
}
.leaflet-marker-icon.mapa-prog-divicon-root {
	overflow: visible !important;
}
.mapa-prog-marca {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: max-content;
	max-width: 11rem;
	min-width: 3.25rem;
	pointer-events: auto;
}
.mapa-prog-marca-circulo {
	width: 18px;
	height: 18px;
	border-radius: 50%;
	border: 2px solid;
	box-sizing: border-box;
	flex-shrink: 0;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
}
.mapa-prog-marca-sst {
	margin-top: 4px;
	padding: 3px 8px;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.25;
	text-align: center;
	color: #1a1a1a;
	background: rgba(255, 255, 255, 0.96);
	border: 1px solid rgba(0, 0, 0, 0.18);
	border-radius: 4px;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
	word-break: break-word;
	max-width: 11rem;
}

/* --- app/Views/extras/listar-programaciones.php --- */
/* Nota: el bloque original contiene un condicional PHP ($vistaColaboradorProgramaciones). */
/* Aqui se incluyen todas las reglas de forma estatica. */
#tabla-programaciones th,
#tabla-programaciones td {
	text-align: center;
}
#tabla-programaciones .form-control,
#tabla-programaciones .form-select {
	width: 100%;
	text-align: center;
}
#tabla-programaciones input.form-control[data-field="sst"] {
	background-color: #fff9c4;
	border-color: rgba(245, 180, 0, 0.45);
}
#tabla-programaciones input.form-control[data-field="sst"]:focus {
	background-color: #fff59d;
	border-color: #f9a825;
	box-shadow: 0 0 0 0.2rem rgba(249, 168, 37, 0.22);
}
#tabla-programaciones .select2-container .select2-selection--single .select2-selection__rendered {
	text-align: center;
}
/* Vista admin (solo si !$vistaColaboradorProgramaciones): anchos columnas 1-25 */
#tabla-programaciones th:nth-child(1),
#tabla-programaciones td:nth-child(1) { min-width: 11rem; }
#tabla-programaciones th:nth-child(2),
#tabla-programaciones td:nth-child(2) { min-width: 13rem; }
#tabla-programaciones th:nth-child(3),
#tabla-programaciones td:nth-child(3) { min-width: 10.5rem; }
#tabla-programaciones th:nth-child(4),
#tabla-programaciones td:nth-child(4) { min-width: 11rem; }
#tabla-programaciones th:nth-child(5),
#tabla-programaciones td:nth-child(5) { min-width: 12rem; }
#tabla-programaciones th:nth-child(6),
#tabla-programaciones td:nth-child(6) { min-width: 17rem; }
#tabla-programaciones th:nth-child(7),
#tabla-programaciones td:nth-child(7) { min-width: 8rem; }
#tabla-programaciones th:nth-child(8),
#tabla-programaciones td:nth-child(8) { min-width: 8.5rem; }
#tabla-programaciones th:nth-child(9),
#tabla-programaciones td:nth-child(9) { min-width: 9.5rem; }
#tabla-programaciones th:nth-child(10),
#tabla-programaciones td:nth-child(10) { min-width: 3.25rem; }
#tabla-programaciones th:nth-child(11),
#tabla-programaciones td:nth-child(11) { min-width: 22rem; }
#tabla-programaciones th:nth-child(12),
#tabla-programaciones td:nth-child(12) { min-width: 10.5rem; }
#tabla-programaciones th:nth-child(13),
#tabla-programaciones td:nth-child(13) { min-width: 10.5rem; }
#tabla-programaciones th:nth-child(14),
#tabla-programaciones td:nth-child(14) { min-width: 11rem; }
#tabla-programaciones th:nth-child(15),
#tabla-programaciones td:nth-child(15) { min-width: 7.5rem; }
#tabla-programaciones th:nth-child(16),
#tabla-programaciones td:nth-child(16) { min-width: 7.5rem; }
#tabla-programaciones th:nth-child(17),
#tabla-programaciones td:nth-child(17) { min-width: 7.5rem; }
#tabla-programaciones th:nth-child(18),
#tabla-programaciones td:nth-child(18) { min-width: 7.5rem; }
#tabla-programaciones th:nth-child(19),
#tabla-programaciones td:nth-child(19) { min-width: 9rem; }
#tabla-programaciones th:nth-child(20),
#tabla-programaciones td:nth-child(20) { min-width: 10.5rem; }
#tabla-programaciones th:nth-child(21),
#tabla-programaciones td:nth-child(21) { min-width: 10.5rem; }
#tabla-programaciones th:nth-child(22),
#tabla-programaciones td:nth-child(22) { min-width: 10.5rem; }
#tabla-programaciones th:nth-child(23),
#tabla-programaciones td:nth-child(23) { min-width: 9rem; }
#tabla-programaciones th:nth-child(24),
#tabla-programaciones td:nth-child(24) { min-width: 11rem; }
#tabla-programaciones th:nth-child(25),
#tabla-programaciones td:nth-child(25) { min-width: 5rem; }
#tabla-programaciones th.col-prog-coord,
#tabla-programaciones td.col-prog-coord {
	min-width: 10.5rem;
	box-sizing: border-box;
}
#tabla-programaciones th.col-prog-maps,
#tabla-programaciones td.col-prog-maps {
	width: 2.85rem;
	min-width: 2.85rem !important;
	max-width: 3.25rem !important;
	padding-left: 0.2rem;
	padding-right: 0.2rem;
	box-sizing: border-box;
}
#tabla-programaciones td.col-prog-maps .btn {
	padding-left: 0.35rem;
	padding-right: 0.35rem;
}
#tabla-programaciones th.col-prog-estado,
#tabla-programaciones td.col-prog-estado {
	width: 12rem;
	min-width: 11.5rem !important;
	max-width: 14rem !important;
	padding-left: 0.4rem;
	padding-right: 0.4rem;
	white-space: nowrap;
	box-sizing: border-box;
}
#tabla-programaciones td.col-prog-estado .badge {
	font-size: 0.65rem;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	display: inline-block;
	max-width: 100%;
	word-break: normal;
	padding: 0.28em 0.45em;
}


/* ===== ORIGEN: public/css/login-sentrix.css ===== */
/* Login split-screen — Sentrix Accesos */
:root {
	--sx-login-blue-deep: #1c1c1c;
	--sx-login-blue-mid: #2c2c2c;
	--sx-login-blue-bright: #3a3a3a;
	--sx-login-gold: #f7941d;
	--sx-login-gold-soft: #f9a94a;
	--sx-login-panel-bg: #f4f1ee;
	--sx-login-card-bg: #ffffff;
	--sx-login-text-muted: #6b7280;
	--sx-login-primary: #f7941d;
	--sx-login-primary-hover: #e07d0a;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html,
body.sx-login-body {
	margin: 0;
	min-height: 100%;
	font-family: 'Montserrat', "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
	background: var(--sx-login-panel-bg);
}

.sx-login {
	display: flex;
	min-height: 100vh;
	width: 100%;
}

/* —— Panel izquierdo —— */
.sx-login-hero {
	position: relative;
	flex: 1 1 50%;
	overflow: hidden;
	background:
		radial-gradient(ellipse 80% 60% at 20% 80%, rgba(247, 148, 29, 0.22), transparent 60%),
		radial-gradient(ellipse 60% 50% at 80% 20%, rgba(247, 148, 29, 0.14), transparent 55%),
		linear-gradient(145deg, var(--sx-login-blue-deep) 0%, var(--sx-login-blue-mid) 45%, var(--sx-login-blue-bright) 100%);
	color: #fff;
	padding: 3rem 2.5rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.sx-login-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(255, 255, 255, 0.07) 1px, transparent 1px);
	background-size: 28px 28px;
	opacity: 0.35;
	pointer-events: none;
}

.sx-login-hero-inner {
	position: relative;
	z-index: 1;
	max-width: 520px;
	margin: 0 auto;
	width: 100%;
}

.sx-login-visual {
	position: relative;
	height: 220px;
	margin-bottom: 2rem;
}

.sx-login-mountain {
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 280px;
	height: 140px;
	opacity: 0.9;
}

.sx-login-mountain svg {
	width: 100%;
	height: 100%;
}

.sx-login-chart-bars {
	position: absolute;
	left: 50%;
	top: 28%;
	transform: translateX(-50%);
	display: flex;
	align-items: flex-end;
	gap: 10px;
	height: 72px;
}

.sx-login-chart-bars span {
	display: block;
	width: 14px;
	border-radius: 4px 4px 0 0;
	background: linear-gradient(180deg, var(--sx-login-gold-soft), var(--sx-login-gold));
	opacity: 0.85;
}

.sx-login-chart-bars span:nth-child(1) { height: 35%; }
.sx-login-chart-bars span:nth-child(2) { height: 55%; }
.sx-login-chart-bars span:nth-child(3) { height: 80%; }
.sx-login-chart-bars span:nth-child(4) { height: 100%; }
.sx-login-chart-bars span:nth-child(5) { height: 65%; }

.sx-login-flag {
	position: absolute;
	left: 58%;
	top: 8%;
	color: var(--sx-login-gold);
	font-size: 1.5rem;
}

.sx-login-float-card {
	position: absolute;
	background: rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(8px);
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 12px;
	padding: 0.65rem 0.85rem;
	font-size: 0.72rem;
	line-height: 1.35;
	max-width: 150px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.sx-login-float-card strong {
	display: block;
	font-size: 0.95rem;
	font-weight: 700;
	margin-top: 0.15rem;
}

.sx-login-float-card i {
	font-size: 1rem;
	color: var(--sx-login-gold-soft);
	margin-bottom: 0.2rem;
	display: inline-block;
}

.sx-login-float-card--tl { top: 0; left: 0; }
.sx-login-float-card--tr { top: 12px; right: 0; }
.sx-login-float-card--bl { bottom: 18px; left: 0; }
.sx-login-float-card--br { bottom: 0; right: 0; }

.sx-login-hero h1 {
	font-size: clamp(1.65rem, 3vw, 2.15rem);
	font-weight: 700;
	line-height: 1.25;
	margin: 0 0 1rem;
	letter-spacing: -0.02em;
}

.sx-login-hero h1 em {
	font-style: normal;
	color: var(--sx-login-gold);
}

.sx-login-hero p {
	margin: 0 0 1.75rem;
	font-size: 0.95rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.78);
	max-width: 420px;
}

.sx-login-stats {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem 2rem;
}

.sx-login-stat {
	font-size: 0.8rem;
	color: rgba(255, 255, 255, 0.65);
}

.sx-login-stat strong {
	display: block;
	font-size: 1.35rem;
	font-weight: 700;
	color: var(--sx-login-gold);
	line-height: 1.2;
}

.sx-login-hero-footer {
	position: absolute;
	bottom: 1.5rem;
	left: 2.5rem;
	right: 2.5rem;
	font-size: 0.75rem;
	color: rgba(255, 255, 255, 0.45);
	z-index: 1;
}

/* —— Panel derecho —— */
.sx-login-panel {
	flex: 1 1 50%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 2rem 1.5rem;
	background: var(--sx-login-panel-bg);
}

.sx-login-brand {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 2rem;
}

.sx-login-brand-logo {
	display: block;
	width: auto;
	max-width: min(260px, 72vw);
	height: auto;
	max-height: 56px;
	object-fit: contain;
}

.sx-login-card {
	width: 100%;
	max-width: 400px;
	background: var(--sx-login-card-bg);
	border-radius: 16px;
	padding: 2rem 2rem 1.75rem;
	box-shadow: 0 4px 24px rgba(15, 23, 42, 0.08);
	border: 1px solid rgba(15, 23, 42, 0.06);
}

.sx-login-card h2 {
	margin: 0 0 1.5rem;
	font-size: 1.35rem;
	font-weight: 700;
	color: #111827;
}

.sx-login-field {
	margin-bottom: 1.15rem;
}

.sx-login-field label {
	display: block;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sx-login-text-muted);
	margin-bottom: 0.4rem;
}

.sx-login-field input.form-control {
	border-radius: 8px;
	border: 1px solid #d1d5db;
	padding: 0.65rem 0.85rem;
	font-size: 0.95rem;
	transition: border-color 0.15s, box-shadow 0.15s;
}

.sx-login-field input.form-control:focus {
	border-color: var(--sx-login-primary);
	box-shadow: 0 0 0 3px rgba(247, 148, 29, 0.2);
}

.sx-login-pass-wrap {
	position: relative;
}

.sx-login-pass-wrap .form-control {
	padding-right: 2.75rem;
}

.sx-login-pass-wrap .password-addon {
	position: absolute;
	right: 0;
	top: 0;
	height: 100%;
	border: none;
	background: transparent;
	color: var(--sx-login-text-muted);
	padding: 0 0.85rem;
}

.sx-login-pass-wrap .password-addon:hover {
	color: var(--sx-login-blue-deep);
}

.sx-login-options {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0.25rem 0 1.25rem;
	font-size: 0.85rem;
}

.sx-login-options a {
	color: var(--sx-login-text-muted);
	text-decoration: none;
}

.sx-login-options a:hover {
	color: var(--sx-login-primary);
	text-decoration: underline;
}

.sx-login-submit {
	width: 100%;
	border: none;
	border-radius: 8px;
	padding: 0.75rem 1rem;
	font-size: 1rem;
	font-weight: 600;
	color: #fff;
	background: var(--sx-login-primary);
	transition: background 0.15s, transform 0.1s;
}

.sx-login-submit:hover {
	background: var(--sx-login-primary-hover);
}

.sx-login-submit:active {
	transform: scale(0.99);
}

.sx-login-alert {
	border-radius: 8px;
	font-size: 0.85rem;
	margin-bottom: 1rem;
}

.sx-login-panel-footer {
	margin-top: 2rem;
	font-size: 0.75rem;
	color: var(--sx-login-text-muted);
	text-align: center;
}

@media (max-width: 991.98px) {
	.sx-login {
		flex-direction: column;
	}

	.sx-login-hero {
		flex: none;
		min-height: auto;
		padding: 2.5rem 1.5rem 3rem;
	}

	.sx-login-hero-footer {
		position: static;
		margin-top: 2rem;
		text-align: center;
	}

	.sx-login-visual {
		height: 180px;
		margin-bottom: 1.5rem;
	}

	.sx-login-float-card {
		font-size: 0.65rem;
		max-width: 130px;
		padding: 0.5rem 0.65rem;
	}
}

@media (max-width: 575.98px) {
	.sx-login-float-card--tr,
	.sx-login-float-card--bl {
		display: none;
	}

	.sx-login-card {
		padding: 1.5rem 1.25rem;
	}
}


/* ===== ORIGEN: public/css/acciones-tabla.css ===== */
/**
 * Contenedor de acciones en filas de tabla (sin estilos de botón; usar Bootstrap: btn-dark / btn-danger).
 */
.acciones-fila-tabla {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
}


/* ===== ORIGEN: public/css/examen-rendir.css ===== */
.examen-moodle-body {
	background: #f5f5f5;
	min-height: 100vh;
}

.examen-moodle-topbar {
	background: #fff;
	border-bottom: 3px solid #0f6cbf;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}

.examen-moodle-topbar .examen-brand {
	color: #0f6cbf;
	font-weight: 600;
}

.examen-moodle-layout {
	display: flex;
	min-height: calc(100vh - 56px);
}

.examen-moodle-nav {
	width: 4.5rem;
	flex-shrink: 0;
	background: #fff;
	border-right: 1px solid #dee2e6;
	padding: 0.75rem 0.5rem;
	overflow-y: auto;
}

.examen-moodle-nav .small {
	font-size: 0.7rem;
	line-height: 1.2;
	text-align: center;
}

.examen-moodle-nav .nav-q {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.35rem;
}

.examen-moodle-nav .nav-q button {
	border: 1px solid #ced4da;
	background: #fff;
	border-radius: 4px;
	padding: 0.4rem 0;
	min-width: 0;
	width: 100%;
	font-size: 0.8rem;
	font-weight: 600;
	color: #495057;
}

.examen-moodle-nav .nav-q button.active {
	background: #0f6cbf;
	border-color: #0f6cbf;
	color: #fff;
}

.examen-moodle-nav .nav-q button.answered {
	background: #e7f1fb;
	border-color: #0f6cbf;
}

.examen-moodle-main {
	flex: 1;
	padding: 1.25rem 1.5rem 5rem;
	overflow-y: auto;
}

.examen-q-card {
	background: #fff;
	border: 1px solid #dee2e6;
	border-radius: 6px;
	padding: 1.25rem 1.5rem;
	margin-bottom: 1rem;
	display: none;
}

.examen-q-card.active {
	display: block;
}

.examen-q-card .q-head {
	margin-bottom: 0;
	color: #212529;
}

.examen-q-card .q-head-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 0.65rem;
}

.examen-q-card .q-num {
	font-size: 0.9rem;
	font-weight: 600;
	color: #6c757d;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.examen-q-card .q-texto {
	font-size: 1.1rem;
	font-weight: 600;
	line-height: 1.45;
	color: #212529;
}

.examen-q-card .examen-q-imagen {
	margin: 1.25rem 0 0;
	padding: 0.5rem;
	background: #f8f9fa;
	border: 1px solid #e9ecef;
	border-radius: 6px;
	text-align: center;
}

.examen-q-card .examen-q-imagen img {
	max-height: 360px;
	width: auto;
	max-width: 100%;
	object-fit: contain;
	display: block;
	margin: 0 auto;
}

.examen-q-card .examen-opciones {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.examen-q-card .examen-opcion-item {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	margin: 0;
	padding: 0.85rem 1rem;
	border: 2px solid #ced4da;
	border-radius: 8px;
	background: #fff;
	cursor: pointer;
	transition: border-color 0.15s, background-color 0.15s, box-shadow 0.15s;
}

.examen-q-card .examen-opcion-item:hover {
	border-color: #86b7e8;
	background: #f8fbff;
}

.examen-q-card .examen-opcion-item:has(.examen-opcion-input:checked) {
	border-color: #0f6cbf;
	background: #e7f1fb;
	box-shadow: 0 0 0 1px #0f6cbf;
}

.examen-q-card .examen-opcion-input {
	flex-shrink: 0;
	width: 1.35rem;
	height: 1.35rem;
	margin: 0.15rem 0 0;
	cursor: pointer;
	accent-color: #0f6cbf;
	border: 2px solid #6c757d;
}

.examen-q-card .examen-opcion-texto {
	flex: 1;
	font-size: 1rem;
	line-height: 1.4;
	color: #212529;
	padding-top: 0.1rem;
}

.examen-moodle-footer {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	background: #fff;
	border-top: 1px solid #dee2e6;
	padding: 0.75rem 1.5rem;
	z-index: 100;
}

.examen-progress {
	height: 6px;
	background: #e9ecef;
	border-radius: 3px;
	overflow: hidden;
}

.examen-progress .bar {
	height: 100%;
	background: #0f6cbf;
	transition: width 0.2s;
}

@media (max-width: 768px) {
	.examen-moodle-layout {
		flex-direction: column;
	}
	.examen-moodle-nav {
		width: 100%;
		border-right: 0;
		border-bottom: 1px solid #dee2e6;
		padding: 0.75rem;
	}

	.examen-moodle-nav .small {
		text-align: left;
	}

	.examen-moodle-nav .nav-q {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.examen-moodle-nav .nav-q button {
		width: 2.25rem;
		flex: 0 0 auto;
	}
}

.examen-intro-wrap {
	max-width: 820px;
	margin: 0 auto;
	padding: 1.5rem 1rem 3rem;
}

.examen-intro-card {
	background: #fff;
	border: 1px solid #dee2e6;
	border-radius: 8px;
	padding: 1.75rem 2rem;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}

.examen-intro-titulo {
	color: #0f6cbf;
	font-weight: 700;
}

.examen-intro-tabla th {
	font-weight: 600;
	font-size: 0.9rem;
	vertical-align: middle;
}

.examen-intro-tabla td {
	vertical-align: middle;
}


/* ===== ORIGEN: public/css/custom.min.css ===== */
/* Cabeceras del sidebar (menu-title) - color #ed2939 */
html {
	--vz-vertical-menu-title-color: #ed2939;
	--vz-vertical-menu-title-color-dark: #ed2939;
}
#navbar-nav .menu-title,
#navbar-nav .menu-title span,
#navbar-nav li.menu-title,
#navbar-nav li.menu-title span {
	color: #fff !important;
}

/* Buscador del menú: queda fijo bajo el logo al desplazar el listado (sticky; no altera altura de #scrollbar / SimpleBar) */
[data-layout=vertical] .navbar-menu .sidebar-nav-search {
	position: sticky;
	top: 0;
	z-index: 6;
	background-color: var(--vz-vertical-menu-bg);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);
}
[data-layout=vertical][data-sidebar=dark] .navbar-menu .sidebar-nav-search {
	background-color: #002664;
}

/* Menú lateral: Velzon declara .navbar-menu position:fixed pero no left; en algunos navegadores queda franja clara al borde. */
[data-layout=vertical] .app-menu.navbar-menu {
	left: 0;
	right: auto;
}

/* Modal tipos de acceso: solo el botón Agregar alineado con inputs sm (form-select-sm sin tocar) */
.form-agregar-doc-tipo-acceso .btn.btn-sm {
	--vz-btn-padding-y: 0.25rem;
	--vz-btn-padding-x: 0.5rem;
	height: calc(1.5em + 0.5rem + 2px);
	min-height: calc(1.5em + 0.5rem + 2px);
	max-height: calc(1.5em + 0.5rem + 2px);
	padding: 0.25rem 0.5rem;
	font-size: 0.7109375rem;
	line-height: 1.5;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	border-width: 1px;
}

/* Logo del portal (sidebar y cabecera) */
.navbar-brand-box .ca-portal-logo-img {
	width: auto;
	max-width: 100%;
	object-fit: contain;
}
.navbar-brand-box .ca-portal-logo-cliente {
	max-height: 68px;
}
.navbar-brand-box .logo span.logo-sm .ca-portal-logo-cliente {
	max-height: 52px;
}
[data-layout=vertical][data-sidebar-size=sm] .navbar-brand-box .ca-portal-logo-cliente {
	max-height: 48px;
	max-width: 62px;
}
.ca-cliente-logo-preview {
	max-height: 140px;
	width: auto;
	max-width: 100%;
	object-fit: contain;
}

.main-content > .page-content {
	padding-bottom: calc(60px + 1.5rem);
}

/*# sourceMappingURL=custom.min.css.map */


/* ===== ORIGEN: public/css/views-inline.css ===== */
/* views-inline.css — generado scripts/build_views_inline_css.py */
/* ========== Estilos extraidos desde vistas (app/Views) ========== */

/* --- app/Views/extras/confirmar-crear-requerimientos.php --- */
.table-conf-requerimientos { table-layout: fixed; }
								.table-conf-requerimientos th:nth-child(1),
								.table-conf-requerimientos td:nth-child(1) { width: 10%; }
								.table-conf-requerimientos th:nth-child(2),
								.table-conf-requerimientos td:nth-child(2) { width: 7%; }
								.table-conf-requerimientos td:nth-child(3),
								.table-conf-requerimientos td:nth-child(4) { width: 33.5%; overflow: hidden; }
								.table-conf-requerimientos th:nth-child(5),
								.table-conf-requerimientos td:nth-child(5) { width: 16%; }
								.table-conf-requerimientos td:nth-child(5) .form-select,
								.table-conf-requerimientos td:nth-child(5) .form-control { max-width: 100%; }
								.table-conf-requerimientos .note-editor { max-width: 100%; }
								.table-conf-requerimientos .note-editable { word-break: break-word; overflow-wrap: break-word; white-space: normal; max-width: 100%; }
								.table-conf-requerimientos .note-editable * { max-width: 100%; box-sizing: border-box; }

/* listar-analisis placeholders: body.page-analisis-gastos-pcots */
/* --- app/Views/extras/listar-asistencias-regularizar.php --- */
#tablaAsistenciasRegularizar th,
    #tablaAsistenciasRegularizar td {
        vertical-align: middle;
    }

/* --- app/Views/extras/listar-centro-costo.php --- */
.spin {
	animation: spin 1s linear infinite;
}
@keyframes spin {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}
.fila-nueva {
	background-color: #e7f3ff !important;
}
tr[data-editando="true"] {
	background-color: #fff3cd !important;
}
/* Eliminar línea extra del wrapper de DataTables con scrollX */
#scroll-horizontal_wrapper .dataTables_scrollBody {
	border: none !important;
}
#scroll-horizontal_wrapper .dataTables_scrollHeadInner {
	border-bottom: 1px solid #dee2e6;
}
/* Ocultar el tr de sincronización con height: 0px */
#scroll-horizontal_wrapper .dataTables_scrollHead thead tr[style*="height: 0px"],
#scroll-horizontal_wrapper .dataTables_scrollHead thead tr[style*="height:0px"] {
	display: none !important;
	height: 0 !important;
	visibility: hidden !important;
}

/* --- app/Views/extras/listar-cobertura.php --- */
#monitor-cobertura .monitor-filtro-estado {
						cursor: pointer;
						user-select: none;
						transition: box-shadow 0.15s ease, transform 0.1s ease;
					}
					#monitor-cobertura .monitor-filtro-estado:hover {
						box-shadow: 0 0.35rem 0.75rem rgba(0, 0, 0, 0.1) !important;
					}
					#monitor-cobertura .monitor-filtro-estado:focus-visible {
						outline: 2px solid #0d6efd;
						outline-offset: 2px;
					}
					#monitor-cobertura .monitor-filtro-estado.monitor-filtro-estado-active {
						box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.35) !important;
					}
					#tabla-cobertura_wrapper table.dataTable thead th,
					#tabla-cobertura_wrapper table.dataTable tbody td {
						text-align: center !important;
						vertical-align: middle !important;
					}

/* --- app/Views/extras/listar-cobertura.php --- */
#modalMapaCobertura .leaflet-tooltip.mapa-cobertura-sucursal-label {
					background: rgba(255, 255, 255, 0.95);
					border: 1px solid rgba(0, 0, 0, 0.12);
					border-radius: 4px;
					box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
					color: #212529;
					font-size: 11px;
					font-weight: 600;
					padding: 3px 8px;
					max-width: 200px;
					white-space: normal;
					text-align: center;
					line-height: 1.25;
					pointer-events: none;
				}
				#modalMapaCobertura .leaflet-tooltip.mapa-cobertura-sucursal-label::before {
					display: none;
				}

/* --- app/Views/extras/listar-cobertura.php --- */
#modalDetalleCobertura .table thead th,
				#modalDetalleCobertura .table tbody td {
					text-align: center !important;
					vertical-align: middle !important;
				}

/* --- app/Views/extras/listar-estructura-costo.php --- */
/* Asegurar que los modales sean scrolleables */
.modal-dialog-scrollable .modal-body {
	max-height: calc(100vh - 200px);
	overflow-y: auto;
}

#editarEstructuraCosto .modal-body {
	max-height: calc(100vh - 200px);
	overflow-y: auto;
}

/* --- app/Views/extras/listar-pre-cotizacion.php --- */
#anadirPreCotizacion .modal-body,
#editarPreCotizacion .modal-body {
	max-height: calc(100vh - 200px);
	overflow-y: auto;
}
#empresaAutocompleteWrap {
	position: relative;
	overflow: visible;
}
#empresaAutocompleteList {
	border: 1px solid rgba(0,0,0,.15);
	border-radius: 0.25rem;
	background: #fff;
	z-index: 9999;
	box-shadow: 0 0.5rem 1rem rgba(0,0,0,.15);
}
#empresaAutocompleteList .list-group-item {
	border-left: 0;
	border-right: 0;
	cursor: pointer;
	background: #fff;
}
#empresaAutocompleteList .list-group-item:hover,
#empresaAutocompleteList .list-group-item.list-group-item-primary {
	background: #e7f1ff;
}
#empresaAutocompleteList .list-group-item:first-child {
	border-top: 0;
}
#empresaAutocompleteWrapEditar {
	position: relative;
	overflow: visible;
}
#empresaAutocompleteListEditar {
	border: 1px solid rgba(0,0,0,.15);
	border-radius: 0.25rem;
	background: #fff;
	z-index: 9999;
	box-shadow: 0 0.5rem 1rem rgba(0,0,0,.15);
}
#empresaAutocompleteListEditar .list-group-item {
	border-left: 0;
	border-right: 0;
	cursor: pointer;
	background: #fff;
}
#empresaAutocompleteListEditar .list-group-item:hover,
#empresaAutocompleteListEditar .list-group-item.list-group-item-primary {
	background: #e7f1ff;
}
#empresaAutocompleteListEditar .list-group-item:first-child {
	border-top: 0;
}

/* --- app/Views/extras/listar-requerimientos-instalacion.php --- */
/* Evita scroll horizontal en el modal: la tabla + Select2 + inputs tienen ancho mínimo grande sin límite */
#modalDetalleRequerimiento .req-detalle-instal-tablas-outer {
	max-width: 100%;
	min-width: 0;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
#modalDetalleRequerimiento.modal .modal-dialog-scrollable .modal-body {
	min-width: 0;
}
.table-req-detalle-instal {
	font-size: 0.9rem;
	table-layout: fixed;
	width: 100%;
	max-width: 100%;
}
.table-req-detalle-instal thead th {
	background: #ed2939 !important;
	color: #fff !important;
	font-weight: 600;
	text-align: center;
	vertical-align: middle;
	word-wrap: break-word;
	hyphens: auto;
}
.table-req-detalle-instal tbody td,
.table-req-detalle-instal tfoot td {
	text-align: center;
	vertical-align: middle;
	word-wrap: break-word;
	overflow-wrap: anywhere;
}
.table-req-detalle-instal tfoot td.table-req-detalle-total-label {
	font-weight: 700;
}
#modalDetalleRequerimiento .table-req-detalle-instal select.form-select {
	max-width: 100%;
	box-sizing: border-box;
}
#modalDetalleRequerimiento .table-req-detalle-instal .req-emp-asig-wrap {
	max-width: 100%;
	min-width: 0;
}
#modalDetalleRequerimiento .table-req-detalle-instal .input-empleado-asig-busqueda {
	max-width: 100%;
}

/* --- app/Views/extras/listar-requerimientos-personal.php --- */
#modalConfirmarCrearContenido .note-editor { max-width: 100%; }
						#modalConfirmarCrearContenido .note-editable { word-break: break-word; overflow-wrap: break-word; white-space: normal; max-width: 100%; }
						#modalConfirmarCrearContenido .note-editable * { max-width: 100%; box-sizing: border-box; }

/* --- app/Views/extras/listar-roles-servicio.php --- */
.roles-servicio-scroll {
        overflow-x: auto;
        overflow-y: visible;
        -webkit-overflow-scrolling: touch;
    }

    .roles-servicio-scroll table {
        width: 100%;
    }

    /* Columnas fijas (solo los días hacen scroll) - fondo opaco para que no se trasluzca */
    #tablaRolesServicio th.rol-col-fija,
    #tablaRolesServicio td.rol-col-fija {
        position: sticky;
        z-index: 1;
        background: #fff !important;
        box-shadow: 2px 0 4px rgba(0,0,0,.08);
        isolation: isolate;
    }
    #tablaRolesServicio thead th.rol-col-fija {
        z-index: 2;
        background: #e9ecef !important;
    }
    #tablaRolesServicio tbody tr:nth-child(odd) td.rol-col-fija {
        background: #fff !important;
    }
    #tablaRolesServicio tbody tr:nth-child(even) td.rol-col-fija {
        background: #f8f9fa !important;
    }
    #tablaRolesServicio thead th.rol-col-fija:nth-child(1) { left: 0; }
    #tablaRolesServicio thead th.rol-col-fija:nth-child(2) { left: 110px; }
    #tablaRolesServicio thead th.rol-col-fija:nth-child(3) { left: 280px; }
    #tablaRolesServicio tbody td.rol-col-fija:nth-child(1) { left: 0; }
    #tablaRolesServicio tbody td.rol-col-fija:nth-child(2) { left: 110px; }
    #tablaRolesServicio tbody td.rol-col-fija:nth-child(3) { left: 280px; }

    #tablaRolesServicio th,
    #tablaRolesServicio td {
        white-space: nowrap;
    }
    /* Resaltar día actual en la tabla de roles de servicio */
    #tablaRolesServicio th.rol-dia-actual,
    #tablaRolesServicio td.rol-dia-actual {
        background-color: #cfe2ff !important;
        font-weight: 600;
    }
    /* Resaltar día seleccionado (al hacer clic en th o celda): color distinto al día actual */
    #tablaRolesServicio th.rol-dia-seleccionado,
    #tablaRolesServicio td.rol-dia-seleccionado {
        background-color: #d1e7dd !important;
        font-weight: 600;
    }
    /* Encabezado del día (th) clicable */
    #tablaRolesServicio thead th.rol-th-dia {
        cursor: pointer;
    }
    #tablaRolesServicio thead th.rol-th-dia:hover {
        background-color: #e7f1ff !important;
    }
    /* Días anteriores: no seleccionables */
    #tablaRolesServicio th.rol-dia-pasado,
    #tablaRolesServicio td.rol-dia-pasado {
        opacity: 0.65;
        cursor: not-allowed !important;
    }
    #tablaRolesServicio thead th.rol-dia-pasado:hover {
        background-color: inherit !important;
    }
    #tablaRolesServicio tbody td.rol-dia-pasado .btnRolDia {
        cursor: not-allowed !important;
        pointer-events: none;
    }
    /* Celdas de día en el body clicables */
    #tablaRolesServicio tbody td:has(.btnRolDia) {
        cursor: pointer;
        padding: 0.25rem;
    }
    #tablaRolesServicio tbody td .btnRolDia {
        width: 100%;
        min-height: 2rem;
        cursor: pointer;
    }

/* --- app/Views/extras/listar-tareaje-diario.php --- */
/* Scroll horizontal forzado desde el inicio */
    .tareaje-scroll {
        overflow-x: auto !important;
        overflow-y: visible;
        -webkit-overflow-scrolling: touch;
        width: 100%;
        display: block;
    }

    .tareaje-scroll table {
        min-width: 2000px !important;
        width: 100%;
        table-layout: auto;
        margin: 0;
    }

    .tareaje-scroll table th,
    .tareaje-scroll table td {
        white-space: nowrap;
        padding: 12px 15px !important;
        font-size: 12px !important;
        vertical-align: middle;
    }

    .tareaje-scroll table th {
        position: sticky;
        top: 0;
        background-color: #f8f9fa !important;
        z-index: 10;
        font-weight: 600;
        border-bottom: 2px solid #dee2e6;
    }

    /* Selects más anchos en tareo */
    .tareaje-select {
        min-width: 270px !important;
        width: 100% !important;
        font-size: 14px !important;
        padding: 0.65rem 0.85rem !important;
    }

    .tareaje-select .select2-container {
        width: 100% !important;
        min-width: 270px !important;
    }

    .tareaje-select .select2-container .select2-selection--single {
        height: 42px !important;
        line-height: 40px !important;
        padding: 0 10px !important;
    }

    .tareaje-select .select2-container .select2-selection--single .select2-selection__rendered {
        line-height: 40px !important;
        padding-left: 0 !important;
        font-size: 14px !important;
    }

    .tareaje-select .select2-container .select2-selection--single .select2-selection__arrow {
        height: 40px !important;
        right: 10px !important;
    }

    /* Color de fondo del select Turno horario según opción seleccionada */
    #filtroTurnoHorario.turno-diu {
        background-color: #fff3cd;
        color: #856404;
        border-color: #ffc107;
    }
    #filtroTurnoHorario.turno-noc {
        background-color: #cce5ff;
        color: #004085;
        border-color: #0d6efd;
    }
    #filtroTurnoHorario.turno-re {
        background-color: #f8f9fa;
    }

    /* Mejorar espaciado de columnas en la tabla */
    .tareaje-scroll table th:nth-child(1),
    .tareaje-scroll table td:nth-child(1) {
        width: 50px;
        min-width: 50px;
    }

    .tareaje-scroll table th:nth-child(2),
    .tareaje-scroll table td:nth-child(2) {
        width: 100px;
        min-width: 100px;
    }

    .tareaje-scroll table th:nth-child(3),
    .tareaje-scroll table td:nth-child(3) {
        width: 90px;
        min-width: 90px;
    }

    .tareaje-scroll table th:nth-child(4),
    .tareaje-scroll table td:nth-child(4) {
        width: 180px;
        min-width: 270px;
    }

    .tareaje-scroll table th:nth-child(5),
    .tareaje-scroll table td:nth-child(5) {
        width: 200px;
        min-width: 270px;
    }

    .tareaje-scroll table th:nth-child(6),
    .tareaje-scroll table td:nth-child(6) {
        width: 180px;
        min-width: 550px;
    }

    .tareaje-scroll table th:nth-child(7),
    .tareaje-scroll table td:nth-child(7) {
        width: 150px;
        min-width: 250px;
    }

    .tareaje-scroll table th:nth-child(8),
    .tareaje-scroll table td:nth-child(8) {
        width: 200px;
        min-width: 270px;
    }

    .tareaje-scroll table th:nth-child(9),
    .tareaje-scroll table td:nth-child(9) {
        width: 180px;
        min-width: 270px;
    }

    .tareaje-scroll table th:nth-child(10),
    .tareaje-scroll table td:nth-child(10) {
        width: 150px;
        min-width: 270px;
    }

    .tareaje-scroll table th:nth-child(11),
    .tareaje-scroll table td:nth-child(11) {
        width: 150px;
        min-width: 150px;
    }

    .tareaje-scroll table th:nth-child(12),
    .tareaje-scroll table td:nth-child(12) {
        width: 80px;
        min-width: 80px;
    }

    .tareaje-scroll table th:nth-child(13),
    .tareaje-scroll table td:nth-child(13) {
        width: 80px;
        min-width: 80px;
    }

    .tareaje-scroll table th:nth-child(14),
    .tareaje-scroll table td:nth-child(14) {
        width: 80px;
        min-width: 80px;
    }

    .tareaje-scroll table th:nth-child(15),
    .tareaje-scroll table td:nth-child(15) {
        width: 80px;
        min-width: 80px;
    }

    .tareaje-scroll table th:nth-child(16),
    .tareaje-scroll table td:nth-child(16) {
        width: 120px;
        min-width: 120px;
    }

    /* Celdas HT, HE 25% y HE 35% pintadas según la información del turno (solo la celda td, no los inputs) */
    .tareaje-scroll table td.celda-segun-turno {
        background-color: #e8f4fc !important;
    }
    .tareaje-scroll table tr.table-danger td.celda-segun-turno {
        background-color: #ffe8e8 !important;
    }
    .tareaje-scroll table tr.table-success td.celda-segun-turno {
        background-color: #d4edda !important;
    }

    @media (max-width: 1600px) {
        .tareaje-scroll table {
            min-width: 2000px !important;
        }
    }

    @media (max-width: 1400px) {
        .tareaje-scroll table {
            min-width: 2000px !important;
        }
    }

    @media (max-width: 1200px) {
        .tareaje-scroll table {
            min-width: 2000px !important;
        }
    }

/* --- app/Views/extras/sucursal-qr-ver.php --- */
#mapaQr { height: 420px; width: 100%; border-radius: 6px; }

/* --- Scoped: asistencia-libre --- */
html.page-asistencia-libre, body.page-asistencia-libre { height: 100%; margin: 0; }
body.page-asistencia-libre {
	min-height: 100vh; padding: 1rem; background: #f0f2f5;
	display: flex; align-items: center; justify-content: center; box-sizing: border-box;
}
body.page-asistencia-libre > .container { display: flex; align-items: center; justify-content: center; }
body.page-asistencia-libre .card { max-width: 480px; width: 100%; }
body.page-asistencia-libre #reader { border-radius: 8px; overflow: hidden; min-height: 280px; }
body.page-asistencia-libre #reader video { width: 100%; }
body.page-asistencia-libre #reader__scan_region { background: #000; }
body.page-asistencia-libre .contenedorScanner .btn-outline-secondary { display: inline-block; }
body.page-asistencia-libre .qr-placeholder {
	background: #e9ecef; border: 2px dashed #adb5bd; border-radius: 8px;
	min-height: 280px; display: flex; align-items: center; justify-content: center; color: #6c757d;
}
body.page-asistencia-libre .qr-error { color: #dc3545; font-size: 0.9rem; }

/* --- Scoped: error 404 --- */
body.page-error-404 div.logo {
	height: 200px; width: 155px; display: inline-block; opacity: 0.08;
	position: absolute; top: 2rem; left: 50%; margin-left: -73px;
}
body.page-error-404 {
	height: 100%; background: #fafafa;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; color: #777; font-weight: 300;
}
body.page-error-404 h1 { font-weight: lighter; letter-spacing: 0.8; font-size: 3rem; margin-top: 0; margin-bottom: 0; color: #222; }
body.page-error-404 .wrap {
	max-width: 1024px; margin: 5rem auto; padding: 2rem; background: #fff; text-align: center;
	border: 1px solid #efefef; border-radius: 0.5rem; position: relative;
}
body.page-error-404 pre { white-space: normal; margin-top: 1.5rem; }
body.page-error-404 code {
	background: #fafafa; border: 1px solid #efefef; padding: 0.5rem 1rem; border-radius: 5px; display: block;
}
body.page-error-404 p { margin-top: 1.5rem; }
body.page-error-404 .footer {
	margin-top: 2rem; border-top: 1px solid #efefef; padding: 1em 2em 0 2em; font-size: 85%; color: #999;
}
body.page-error-404 a:active, body.page-error-404 a:link, body.page-error-404 a:visited { color: #dd4814; }

/* --- Scoped: boleta PDF --- */
body.page-boleta-pdf { font-family: Arial, sans-serif; font-size: 9pt; margin: 14px; }
body.page-boleta-pdf table { width: 100%; border-collapse: collapse; }
body.page-boleta-pdf th, body.page-boleta-pdf td {
	border: 1px solid #333; padding: 4px 6px; text-align: left; vertical-align: middle;
}
body.page-boleta-pdf th { background: #333; color: #fff; font-weight: bold; text-align: center; font-size: 8pt; }
body.page-boleta-pdf .header-empresa { text-align: center; margin-bottom: 8px; }
body.page-boleta-pdf .header-empresa .razon { font-size: 11pt; font-weight: bold; }
body.page-boleta-pdf .header-empresa .direccion { font-size: 8pt; color: #444; }
body.page-boleta-pdf .header-empresa .ruc { font-size: 8pt; }
body.page-boleta-pdf .titulo-boleta { font-size: 12pt; font-weight: bold; text-align: center; margin: 10px 0 6px 0; }
body.page-boleta-pdf .periodo { text-align: center; font-size: 9pt; margin-bottom: 10px; }
body.page-boleta-pdf .fila-label { background: #e8e8e8; font-weight: bold; font-size: 8pt; }
body.page-boleta-pdf .seccion { background: #d0d0d0; font-weight: bold; font-size: 8pt; }
body.page-boleta-pdf .total-seccion { background: #e8e8e8; font-weight: bold; }
body.page-boleta-pdf .total-ingresos { background: #d4edda; font-weight: bold; }
body.page-boleta-pdf .total-descuentos { background: #f8d7da; font-weight: bold; }
body.page-boleta-pdf .neto { background: #fff3cd; font-weight: bold; }
body.page-boleta-pdf .text-right { text-align: right; }
body.page-boleta-pdf .text-center { text-align: center; }
body.page-boleta-pdf .pie { margin-top: 18px; text-align: center; }
body.page-boleta-pdf .pie-firma { margin-top: 24px; display: table; width: 100%; }
body.page-boleta-pdf .pie-trabajador { font-size: 8pt; margin-top: 12px; text-align: center; }

/* --- Scoped: ver logs --- */
body.page-ver-logs { padding: 1rem; background: #f5f5f5; }
body.page-ver-logs .log-container {
	background: #1e1e1e; color: #d4d4d4; padding: 1rem; border-radius: 6px; overflow-x: auto;
	font-family: Consolas, Monaco, monospace; font-size: 13px; line-height: 1.5;
}
body.page-ver-logs .log-container pre { margin: 0; white-space: pre-wrap; word-break: break-all; }
body.page-ver-logs .log-line-error { color: #f48771; }
body.page-ver-logs .log-line-critical { color: #e51400; font-weight: bold; }

/* --- Análisis gastos: placeholders --- */
.page-analisis-gastos-pcots .form-control::placeholder { text-align: center; opacity: 0.6; }
.page-analisis-gastos-pcots .form-control::-webkit-input-placeholder { text-align: center; opacity: 0.6; }
.page-analisis-gastos-pcots .form-control::-moz-placeholder { text-align: center; opacity: 0.6; }
.page-analisis-gastos-pcots .form-control:-ms-input-placeholder { text-align: center; opacity: 0.6; }

/* welcome_message — .welcome-ci4-root */
.welcome-ci4-root * {
			transition: background-color 300ms ease, color 300ms ease;
		}
		.welcome-ci4-root *:focus {
			background-color: rgba(221, 72, 20, .2);
			outline: none;
		}
		.welcome-ci4-root {
			color: rgba(33, 37, 41, 1);
			font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
			font-size: 16px;
			margin: 0;
			padding: 0;
			-webkit-font-smoothing: antialiased;
			-moz-osx-font-smoothing: grayscale;
			text-rendering: optimizeLegibility;
		}
		.welcome-ci4-root header {
			background-color: rgba(247, 248, 249, 1);
			padding: .4rem 0 0;
		}
		.welcome-ci4-root .menu {
			padding: .4rem 2rem;
		}
		.welcome-ci4-root header ul {
			border-bottom: 1px solid rgba(242, 242, 242, 1);
			list-style-type: none;
			margin: 0;
			overflow: hidden;
			padding: 0;
			text-align: right;
		}
		.welcome-ci4-root header li {
			display: inline-block;
		}
		.welcome-ci4-root header li a {
			border-radius: 5px;
			color: rgba(0, 0, 0, .5);
			display: block;
			height: 44px;
			text-decoration: none;
		}
		.welcome-ci4-root header li.menu-item a {
			border-radius: 5px;
			margin: 5px 0;
			height: 38px;
			line-height: 36px;
			padding: .4rem .65rem;
			text-align: center;
		}
		.welcome-ci4-root header li.menu-item a:hover,
		header li.menu-item a:focus {
			background-color: rgba(221, 72, 20, .2);
			color: rgba(221, 72, 20, 1);
		}
		.welcome-ci4-root header .logo {
			float: left;
			height: 44px;
			padding: .4rem .5rem;
		}
		.welcome-ci4-root header .menu-toggle {
			display: none;
			float: right;
			font-size: 2rem;
			font-weight: bold;
		}
		.welcome-ci4-root header .menu-toggle button {
			background-color: rgba(221, 72, 20, .6);
			border: none;
			border-radius: 3px;
			color: rgba(255, 255, 255, 1);
			cursor: pointer;
			font: inherit;
			font-size: 1.3rem;
			height: 36px;
			padding: 0;
			margin: 11px 0;
			overflow: visible;
			width: 40px;
		}
		.welcome-ci4-root header .menu-toggle button:hover,
		header .menu-toggle button:focus {
			background-color: rgba(221, 72, 20, .8);
			color: rgba(255, 255, 255, .8);
		}
		.welcome-ci4-root header .heroe {
			margin: 0 auto;
			max-width: 1100px;
			padding: 1rem 1.75rem 1.75rem 1.75rem;
		}
		.welcome-ci4-root header .heroe h1 {
			font-size: 2.5rem;
			font-weight: 500;
		}
		.welcome-ci4-root header .heroe h2 {
			font-size: 1.5rem;
			font-weight: 300;
		}
		.welcome-ci4-root section {
			margin: 0 auto;
			max-width: 1100px;
			padding: 2.5rem 1.75rem 3.5rem 1.75rem;
		}
		.welcome-ci4-root section h1 {
			margin-bottom: 2.5rem;
		}
		.welcome-ci4-root section h2 {
			font-size: 120%;
			line-height: 2.5rem;
			padding-top: 1.5rem;
		}
		.welcome-ci4-root section pre {
			background-color: rgba(247, 248, 249, 1);
			border: 1px solid rgba(242, 242, 242, 1);
			display: block;
			font-size: .9rem;
			margin: 2rem 0;
			padding: 1rem 1.5rem;
			white-space: pre-wrap;
			word-break: break-all;
		}
		.welcome-ci4-root section code {
			display: block;
		}
		.welcome-ci4-root section a {
			color: rgba(221, 72, 20, 1);
		}
		.welcome-ci4-root section svg {
			margin-bottom: -5px;
			margin-right: 5px;
			width: 25px;
		}
		.welcome-ci4-root .further {
			background-color: rgba(247, 248, 249, 1);
			border-bottom: 1px solid rgba(242, 242, 242, 1);
			border-top: 1px solid rgba(242, 242, 242, 1);
		}
		.welcome-ci4-root .further h2:first-of-type {
			padding-top: 0;
		}
		.welcome-ci4-root footer {
			background-color: rgba(221, 72, 20, .8);
			text-align: center;
		}
		.welcome-ci4-root footer .environment {
			color: rgba(255, 255, 255, 1);
			padding: 2rem 1.75rem;
		}
		.welcome-ci4-root footer .copyrights {
			background-color: rgba(62, 62, 62, 1);
			color: rgba(200, 200, 200, 1);
			padding: .25rem 1.75rem;
		}
		@media (max-width: 559px) {
			.welcome-ci4-root header ul {
				padding: 0;
			}
			.welcome-ci4-root header .menu-toggle {
				padding: 0 1rem;
			}
			.welcome-ci4-root header .menu-item {
				background-color: rgba(244, 245, 246, 1);
				border-top: 1px solid rgba(242, 242, 242, 1);
				margin: 0 15px;
				width: calc(100% - 30px);
			}
			.welcome-ci4-root header .menu-toggle {
				display: block;
			}
			.welcome-ci4-root header .hidden {
				display: none;
			}
			.welcome-ci4-root header li.menu-item a {
				background-color: rgba(221, 72, 20, .1);
			}
			.welcome-ci4-root header li.menu-item a:hover,
			.welcome-ci4-root header li.menu-item a:focus {
				background-color: rgba(221, 72, 20, .7);
				color: rgba(255, 255, 255, .8);
			}
		}

/* ver-log-acciones — body.page-log-acciones */
body.page-log-acciones {
			--log-bg: #0f1419;
			--log-surface: #1a2332;
			--log-border: #2d3a4d;
			--log-text: #e6edf3;
			--log-muted: #8b9cb3;
			--log-accent: #58a6ff;
			--log-success: #3fb950;
			--log-warning: #d29922;
			--log-danger: #f85149;
			--log-json-bg: #161b22;
			font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
			background: var(--log-bg);
			color: var(--log-text);
			min-height: 100vh;
			margin: 0;
			padding: 0;
		}
		body.page-log-acciones * { box-sizing: border-box; }
		.log-page {
			max-width: 1400px;
			margin: 0 auto;
			padding: 1.5rem;
		}
		.log-header {
			display: flex;
			align-items: center;
			justify-content: space-between;
			flex-wrap: wrap;
			gap: 1rem;
			margin-bottom: 1.5rem;
			padding-bottom: 1rem;
			border-bottom: 1px solid var(--log-border);
		}
		.log-title {
			display: flex;
			align-items: center;
			gap: 0.75rem;
			font-size: 1.35rem;
			font-weight: 700;
			color: var(--log-text);
			margin: 0;
		}
		.log-title i { color: var(--log-accent); font-size: 1.5rem; }
		.log-toolbar {
			display: flex;
			align-items: center;
			gap: 1rem;
			flex-wrap: wrap;
		}
		.log-toolbar .form-select {
			background: var(--log-surface);
			border: 1px solid var(--log-border);
			color: var(--log-text);
			border-radius: 8px;
			padding: 0.4rem 2rem 0.4rem 0.75rem;
			font-size: 0.9rem;
		}
		.log-toolbar .form-select:focus {
			border-color: var(--log-accent);
			box-shadow: 0 0 0 2px rgba(88, 166, 255, 0.2);
		}
		.log-count {
			font-size: 0.9rem;
			color: var(--log-muted);
		}
		.log-card {
			background: var(--log-surface);
			border: 1px solid var(--log-border);
			border-radius: 12px;
			overflow: hidden;
		}
		.log-table-wrap { overflow-x: auto; }
		.log-table {
			width: 100%;
			border-collapse: collapse;
			font-size: 0.875rem;
		}
		.log-table th {
			text-align: left;
			padding: 0.85rem 1rem;
			font-weight: 600;
			color: var(--log-muted);
			text-transform: uppercase;
			letter-spacing: 0.04em;
			background: rgba(0,0,0,.2);
			border-bottom: 1px solid var(--log-border);
		}
		.log-table td {
			padding: 0.75rem 1rem;
			border-bottom: 1px solid var(--log-border);
			vertical-align: top;
		}
		.log-table tbody tr:hover { background: rgba(88, 166, 255, 0.06); }
		.log-table tbody tr:last-child td { border-bottom: none; }
		.log-time {
			color: var(--log-muted);
			font-variant-numeric: tabular-nums;
			white-space: nowrap;
		}
		.log-badge {
			display: inline-block;
			padding: 0.25rem 0.6rem;
			border-radius: 6px;
			font-size: 0.7rem;
			font-weight: 600;
			letter-spacing: 0.02em;
		}
		.log-badge--crear    { background: rgba(63, 185, 80, 0.2);  color: var(--log-success); }
		.log-badge--actualizar { background: rgba(88, 166, 255, 0.2); color: var(--log-accent); }
		.log-badge--eliminar { background: rgba(248, 81, 73, 0.2);  color: var(--log-danger); }
		.log-badge--reactivar { background: rgba(210, 153, 34, 0.2); color: var(--log-warning); }
		.log-badge--default  { background: rgba(139, 156, 179, 0.2); color: var(--log-muted); }
		.log-origen {
			font-weight: 500;
			color: var(--log-text);
		}
		.log-user { color: var(--log-muted); }
		.log-json {
			font-family: 'Consolas', 'Monaco', 'Ubuntu Mono', monospace;
			font-size: 11px;
			line-height: 1.45;
			background: var(--log-json-bg);
			border: 1px solid var(--log-border);
			border-radius: 8px;
			padding: 0.5rem 0.65rem;
			max-width: 320px;
			max-height: 120px;
			overflow: auto;
			white-space: pre-wrap;
			word-break: break-word;
			color: #7ee787;
		}
		.log-json-inline {
			font-family: 'Consolas', 'Monaco', monospace;
			font-size: 11px;
			background: var(--log-json-bg);
			padding: 0.25rem 0.5rem;
			border-radius: 6px;
			color: var(--log-muted);
			max-width: 280px;
			overflow: hidden;
			text-overflow: ellipsis;
		}
		.log-pagination {
			display: flex;
			align-items: center;
			justify-content: space-between;
			flex-wrap: wrap;
			gap: 0.75rem;
			padding: 0.85rem 1rem;
			background: rgba(0,0,0,.15);
			border-top: 1px solid var(--log-border);
		}
		.log-pagination a {
			display: inline-flex;
			align-items: center;
			padding: 0.4rem 0.9rem;
			border-radius: 8px;
			font-size: 0.875rem;
			font-weight: 500;
			color: var(--log-accent);
			text-decoration: none;
			border: 1px solid var(--log-border);
			background: var(--log-surface);
			transition: background .15s, border-color .15s;
		}
		.log-pagination a:hover {
			background: rgba(88, 166, 255, 0.12);
			border-color: var(--log-accent);
			color: var(--log-text);
		}
		.log-pagination .log-pag-info { color: var(--log-muted); font-size: 0.875rem; }
		.log-empty {
			text-align: center;
			padding: 3rem 1.5rem;
			color: var(--log-muted);
		}
		.log-empty i { font-size: 2.5rem; margin-bottom: 0.75rem; opacity: 0.5; }
		.log-empty p { margin: 0; font-size: 1rem; }

/* --- app/Views/estructura/header_dashboard.php --- */
#sidebarMenuSearch::placeholder { color: rgba(255,255,255,.45); }
#sidebarMenuSearch:focus { background: rgba(255,255,255,.12) !important; color: #fff; border-color: rgba(255,255,255,.4) !important; box-shadow: none; }
/* Opción activa del menú: colores dinámicos en <style> de header_dashboard.php (no fijar fondo blanco aquí). */

/* --- app/Views/layouts/app.php --- */
body, .btn, .form-control, .form-select { font-family: 'Montserrat', sans-serif; }

/* --- app/Views/api/swagger.php --- */
body.swagger-api-page { margin: 0; }
#swagger-ui { max-width: 100%; }

/* --- Login: checkbox "Recordarme" visible (no carga app.min.css) --- */
.sx-login-options .form-check { display: flex; align-items: center; gap: 0.45rem; padding-left: 0; margin-bottom: 0; }
.sx-login-options .form-check-input { float: none; margin: 0; width: 1.05rem; height: 1.05rem; border: 1px solid #b8bcc4; background-color: #fff; cursor: pointer; }
.sx-login-options .form-check-input:checked { background-color: #f7941d; border-color: #f7941d; }
.sx-login-options .form-check-input:focus { outline: none; box-shadow: 0 0 0 0.2rem rgba(247, 148, 29, 0.25); }
.sx-login-options .form-check-label { cursor: pointer; margin: 0; }

