/*-----------------------------------------------------------*/
body {
    user-select: none;
}
.fa {
    cursor: pointer;
}
.fa-cog {
    font-size: 25px;
}

.cssNone {display:none;}

.cssPxButtonToTop {
    position: fixed;
    bottom: 3%;
    left: 3%;
    font-size: 18px;
    border: none;
    outline: none;
    background-image: linear-gradient(#0050FE,#6495ED);
    color: white;
    cursor: pointer;
    padding: 15px;
    width: 93vw;
}
/*-----------------------------------------------------------*/
.cssMainCont {
    display: flex;
    background-image: linear-gradient(#4983ff, #87CEEB);
    border-top: 4px solid #191970;
    border-left: 4px solid #191970;
}

.cssMainTab {
    display: flex;
    width: 100%;
    font-size: 25px;
    color: white;
    overflow: hidden;
    text-overflow: ellipsis;
    border-right: 4px solid #191970;
    text-align: center;
    white-space: nowrap;
    font-weight: bold;
    cursor: pointer;
}

.cssMainTxt {
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 15px;
    margin-left: auto;
    margin-right: auto;
}
/*-----------------------------------------------------------*/
.cssP2ClkCont {
    border: 4px solid #191970;
    position: sticky;
    top: 0;
}

.cssP2ClkSubCount {
    display: flex;
    /*border-top: 4px solid #191970;*/
    font-size: 35px;
    font-weight: bold;
    background-color: #0050FE;
    color: white;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cssP2ClkSubCountSet {
    border-top: 4px solid #191970;
    font-weight: bold;
    background-color: #0050FE;
    color: white;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cssP2ClkSubCountSet div {padding: 20px;}

.cssP2ClkTxt {
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 20px 3px;
    text-align: center;
    white-space: nowrap;
}
/*-----------------------------------------------------------*/
.cssP2CalCont {
    display: flex;
    border-right: 4px solid #191970;
    border-left: 4px solid #191970;
    font-size: 30px;
    font-weight: bold;
    background-color: #0050FE;
    color: white;
}
.cssP2CalDiv {
    display: flex;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 0px 0px;
    text-align: center;
}
.cssP2CalBck {
    padding: 25px 0px;
}
.cssP2CalImg {
    padding: 23px 0px;
}
.cssP2CalTxt {
    padding: 20px 0px;
    overflow: hidden;
    text-overflow: ellipsis;
}
.cssP2CalSlc {
    padding: 20px 0px;
    text-align: center;
    font-size: 15px;
    color: red;
}

.cssP2CalSel {
    width: 0;
    height: 0;
    opacity: 0;
    visibility: hidden;
}

#p2DatePickerMain {
    width: 0px;
    height: 0px;
}
/*-----------------------------------------------------------*/
.cssP2ChkCont {
    display: flex;
    border-top: 4px solid #191970;
    border-left: 4px solid #191970;
    border-bottom: 4px solid #191970;
    background-image: linear-gradient(#4983ff, #87CEEB);
    color: white;
}
.cssP2ChkTab {
    display: flex;
    width: 100%;
    font-size: 22px;
    color: white;
    overflow: hidden;
    text-overflow: ellipsis;
    border-right: 4px solid #191970;
    font-weight: bold;
    font-size: 27px;
}

.cssP2ChkTxt {
    display: inline-block;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 15px;
    margin-left: auto;
    margin-right: auto;
}
/*-----------------------------------------------------------*/
.cssP2ChkPre {
    display: flex;
    width: 100%;
    /*border-top: 4px solid #191970;*/
    border-left: 4px solid #191970;
}

.cssP2ChkPreTab {
    display: flex;
    width: 100%;
    font-size: 22px;
    overflow: hidden;
    text-overflow: ellipsis;
    border-right: 4px solid #191970;
    font-weight: bold;
    font-size: 27px;
}

.cssP2ChkPreTxt {
    display: inline-block;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 5px;
    margin-left: auto;
    margin-right: auto;
}
.cssP2ChkPreBRD {
    border-bottom: 4px solid #191970;
}
.cssP2ChkPreBrdTop {
    border-top: 4px solid #191970;
}
/*-----------------------------------------------------------*/
.sysSubPages2 {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.cssP2ChkLstTbl {
    width: 100%;
    /*border: 4px solid #191970;*/
    border-bottom: 4px solid #191970;
    border-left: 4px solid #191970;
    border-right: 4px solid #191970;
    table-layout: fixed;
    border-collapse: collapse;
    font-weight: bold;
    font-size: 25px;
}

.cssP2ChkLstTd {
    /*border: 4px solid #191970;*/
    padding: 10px;
}

.cssP2ChkLstTdBRD {
    border-bottom: 4px solid #191970;
}

.cssP2ChkLstTblNam {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cssP2ChkLstTblClk {
    white-space: nowrap;
}

.cssP2ChkLstTblLnk {
    overflow: hidden;
    text-overflow: ellipsis;
}
/*-----------------------------------------------------------*/
.cssP2ChkHdTbl {
    width: 100%;
    border-bottom: 4px solid #191970;
    border-left: 4px solid #191970;
    border-right: 4px solid #191970;
    border-collapse: collapse;
    font-weight: bold;
    font-size: 25px;
}

.cssP2ChkHdTblTd {
    width:0;
    white-space: nowrap;
    border-bottom: 4px solid #191970;
    border-left: 4px solid #191970;
    border-right: 4px solid #191970;
}
.cssP2ChkHdTblNam {
    max-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    border-bottom: 4px solid #191970;
    border-left: 4px solid #191970;
    border-right: 4px solid #191970;
}

.cssP2Tab_ChkMGMT {
    width: 100%;
    border-collapse: collapse;
    font-weight: bold;
    font-size: 18px;
    border: 2px solid #191970;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cssP2TabTd_ChkMGMT{
    padding: 5;
    overflow: hidden;
    text-overflow: ellipsis;
    border: 2px solid #191970;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cssP2TabTdnowrap_ChkMGMT{
    width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/*-----------------------------------------------------------*/
.cssP2BlkTmpChk { display:block; }
.cssP2FieldSetTmpChk { padding:0; border:0; margin-top:25px; }
.cssP2StyleTmpChk {margin-bottom:12px; width:100%; padding: .4em; }
.ui-dialog .ui-state-error { padding: .3em; }
.cssP2TitleTmpChk { border: 1px solid transparent; padding: 0.3em; }
.cssP2paddTopTmpChk {padding-top:.6em;}


.cssP2Blk_EditChk { display:block; }
.cssP2FieldSet_EditChk {padding:0; border:0; margin-top:25px; }
.cssP2Style_EditChk {width:100%; padding: .4em; }
.ui-dialog .ui-state-error { padding: .3em; }
.cssP2Title_EditChk { border: 1px solid transparent; padding: 0.3em; }
.cssP2paddTop_EditChk {padding-top:.6em;}
.cssP2InlineCnt_EditChk{display: flex;}
.cssP2With_EditChk{width: 100%;}
#cssP2ContinerTAG_EditChk{padding: 0px;border: solid 1px black; background-color: white;width: 100%; min-height: 37px;}
.ui-dialog-content{background-color:white !important}
.cssP2CalSel_EditChk {width: 0; height: 0; opacity: 0; visibility: hidden;}
.cssP2TblTest_EditChk {width: 100%;border: 1px solid #191970; border-collapse: collapse;}
.cssP2TblTest_EditChk td{border: 1px solid #191970;}

/*-----------------------------------------------------------*/
.ui-datepicker-week-end a {
    color: red !important;
}

.ui-datepicker-week-end {
    color: red !important;
}

.ui-datepicker-holiday {
    background-color: red !important;
}

.ui-datepicker-holiday a {
    color: red !important;
}

.ui-datepicker-calendar .ui-state-active {
    color: black !important;
}
.ui-datepicker-today a.ui-state-highlight {
    color: black !important;
}
.ui-widget-overlay {
    background: #000 !important;
}

.ui-state-error::placeholder{
    color: white !important;
}

.ui-datepicker-current {
    color: black !important;
}




/* CheckApp - lock GitHub e sincronizzazione */
.checkLockOwnerPanel {
    margin: 0 0 14px 0;
    padding: 12px;
    border: 1px solid #6f8f6f;
    border-radius: 6px;
    background: #eef8ee;
    color: #203520;
}

.checkLockOwnerPanelWarning {
    border-color: #b56a00;
    background: #fff3df;
    color: #5f3700;
}

.checkLockOwnerHeader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    font-weight: bold;
    margin-bottom: 6px;
}

.checkLockOwnerStatus,
.checkLockWaitHint,
.checkLockWaitTimerLabel {
    margin: 7px 0;
}

.checkLockCountdown {
    display: inline-block;
    min-width: 72px;
    padding: 5px 9px;
    border: 1px solid currentColor;
    border-radius: 5px;
    text-align: center;
    font-family: monospace;
    font-size: 1.15em;
    font-weight: bold;
}

#checkLockWaitCountdown {
    display: block;
    width: fit-content;
    margin: 12px auto;
    font-size: 1.5em;
}

.checkAppToast {
    display: none;
    position: fixed;
    z-index: 100000;
    left: 50%;
    bottom: 24px;
    transform: translateX(-50%);
    max-width: min(680px, calc(100vw - 40px));
    padding: 12px 16px;
    border: 1px solid #777;
    border-radius: 6px;
    background: rgba(30, 30, 30, 0.94);
    color: white;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

/* CheckApp - indicatore globale delle operazioni asincrone */
body.checkAppBusyActive {
    cursor: wait;
}

.checkAppBusyOverlay {
    position: fixed;
    z-index: 200000;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(0, 0, 0, 0.58);
    opacity: 0;
    transition: opacity 120ms ease;
}

.checkAppBusyOverlay.checkAppBusyVisible {
    opacity: 1;
}

.checkAppBusyBox {
    width: min(520px, calc(100vw - 40px));
    box-sizing: border-box;
    padding: 24px 22px;
    border: 1px solid #777;
    border-radius: 8px;
    background: #fff;
    color: #222;
    text-align: center;
    box-shadow: 0 5px 22px rgba(0, 0, 0, 0.38);
}

.checkAppBusySpinner {
    width: 42px;
    height: 42px;
    margin: 0 auto 16px;
    border: 5px solid #d4d4d4;
    border-top-color: #333;
    border-radius: 50%;
    animation: checkAppBusySpin 0.85s linear infinite;
}

.checkAppBusyTitle {
    margin-bottom: 9px;
    font-size: 1.25em;
    font-weight: bold;
}

.checkAppBusyMessage {
    min-height: 2.8em;
    line-height: 1.4;
}

.checkAppBusyHint {
    margin-top: 13px;
    color: #666;
    font-size: 0.9em;
}

@keyframes checkAppBusySpin {
    to {transform: rotate(360deg)}
}

@media (prefers-reduced-motion: reduce) {
    .checkAppBusyOverlay {
        transition: none;
    }
    .checkAppBusySpinner {
        animation-duration: 1.8s;
    }
}
