label.required::after {
    content : "*";
    color:#d00;
    display:inline-block;
    padding-left: .5rem;
}

.c-pointer, .delete-button{
    cursor:pointer;
}

.has-transition {
    transition: .3s ease;
    -moz-transition: .3s ease;
    -o-transition: .3s ease;
    -webkit-transition: .3s ease;
    -ms-transition: .3s ease;
}


/* Custom Plugin */
.daterangepicker.single .ranges{
    display:none;
}

.daterangepicker.single .calendar-table tbody td.today:not(.active){
    color:#999;
}



/* Image Plugin — thumbnail format (visual theme lives in cms-modern.css).
   Functional hooks used by custom.js — do not rename selectors. */
.custom-input[data-plugin="image"] {
    position:relative;
}

.custom-input[data-plugin="image"] .image-metadata-controller {
    display:none;
}

.custom-input[data-plugin="image"] .image-preview {
    position:relative;
    cursor:pointer;
}

.custom-input[data-plugin="image"] .image-preview img {
    display:block;
}

.custom-input[data-plugin="image"] .remover {
    display:none;
}
.custom-input[data-plugin="image"][has-image] .image-preview:hover .remover {
    display:inline-flex;
}

/* Upload / Change label swap (pure CSS, driven by [has-image]) */
.custom-input[data-plugin="image"] .lbl-filled {
    display:none;
}
.custom-input[data-plugin="image"][has-image] .lbl-filled {
    display:inline;
}
.custom-input[data-plugin="image"][has-image] .lbl-empty {
    display:none;
}

/* File Plugin */
.custom-input[data-plugin="file"] {
    position:relative;
}

.custom-input[data-plugin="file"] .btn, .custom-input[data-plugin="file"] .remover, .custom-input[data-plugin="file"][has-file] input[type="file"] {
    display:none;
}

.custom-input[data-plugin="file"][has-file] .btn, .custom-input[data-plugin="file"][has-file] .remover, .custom-input[data-plugin="file"] input[type="file"] {
    display:block;
}
.custom-input[data-plugin="file"] .remover {
    display:none;
}

@media (max-width: 767px) {
    .datatable-holder{
        overflow-x: scroll;
    }
    .hide-on-mobile {
        display:none!important;
    }

    table.table-privilege, table.table-privilege thead, table.table-privilege tbody, table.table-privilege tr, table.table-privilege td, table.table-privilege th {
        display:block;
    }

    table.table-privilege tr {
        border-bottom:1px solid #ddd;
    }

    table.table-privilege td {
        border:none!important;
    }
}

/* Custom Switcher */
.switch.switch-component {
    position: relative;
    display: inline-block;
    width: 120px;
    height: 34px;
}
   
.switch.switch-component input {
    display: none;
}

.switch.switch-component .slider {
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #3C3C3C;
-webkit-transition: .4s;
transition: .4s;
border-radius: 34px;
}

.switch.switch-component .slider:before {
position: absolute;
content: "";
height: 26px;
width: 26px;
left: 4px;
bottom: 4px;
background-color: white;
-webkit-transition: .4s;
transition: .4s;
border-radius: 50%;
}

.switch.switch-component input:checked + .slider {
background-color: #20c997;
}

.switch.switch-component input:focus + .slider {
box-shadow: 0 0 1px #2196F3;
}

.switch.switch-component input:checked + .slider:before {
-webkit-transform: translateX(26px);
-ms-transform: translateX(26px);
transform: translateX(85px);
}

/*------ ADDED CSS ---------*/
.switch.switch-component .slider:after {
content: attr(data-no);
color: white;
display: block;
position: absolute;
transform: translate(-50%,-50%);
top: 50%;
left: 50%;
font-size: 10px;
font-family: Verdana, sans-serif;
}

.switch.switch-component input:checked + .slider:after {
content: attr(data-yes);
}

a.paginate_button {
    cursor: pointer;
}
a.paginate_button.disabled {
    cursor:no-drop;
    opacity: .5;
}
a.paginate_button.current {
    background: #333;
    color:#fff; 
    width: 25px;
    border-radius: 20px;
    display:inline-block;
    text-align: center;
    margin: 0;
}

/* ------ Risk Analysis score display (resources/views/modules/risk/form-risk-analysis.blade.php) ------ */
.score-block,
.risk-owner-display {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: .5rem .85rem;
    border: 1px solid #e5e9f2;
    border-radius: 8px;
    background-color: #f7f8fc;
    font-weight: 600;
    line-height: 1.25;
    text-align: center;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

.score-block:empty {
    background-color: #fbfcfe;
    border-style: dashed;
    border-color: #dfe3ee;
}

/* Empty state placeholder while probability/impact (or effectivity) are incomplete. */
.score-block:empty::before {
    content: "\2014";
    color: #b6bdd4;
    font-weight: 400;
}

.score-block .score-label {
    white-space: normal;
}

.score-block .score-number {
    font-variant-numeric: tabular-nums;
    margin-left: .35rem;
}

.score-block .score-number::before {
    content: "(";
    margin-right: .1rem;
}

.score-block .score-number::after {
    content: ")";
    margin-left: .1rem;
}

/* Risk Owner mirrors the score blocks but keeps a neutral surface. */
.risk-owner-display {
    color: #272b41;
    font-weight: 500;
}