﻿/* Import Inter font */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap');

html {
    font-size: 14px !important;
}

body {
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
    line-height: 1.6;
    background-color: #ECF0F1; /* light neutral background */
    color: #2C3E50; /* dark neutral text */
}


.border-primary {
    border-color: #2C3E50 !important;
}

.border-secondary {
    border-color: #3CA08E !important;
}

.separator-dotted {
    border-top: 2px dotted #2C3E50; /* dotted line in your accent blue */
    opacity: 0.7; /* softer look */
}

.subheader-separator {
    height: 1px;
    background: linear-gradient(to right, #2C3E50, #3498DB);
    border: none;
    opacity: 0.7;
}


/* Modern Page Title */
.page-title {
    font-family: 'Inter', sans-serif;
    font-weight: 400; /* lighter than bold */
    font-size: 2.1rem; /* scalable size */
    letter-spacing: 0.5px; /* subtle spacing for sleekness */
    color: #1a1a1a; /* deep neutral tone */
    text-align: center;
    margin-bottom: 1rem;
}

.page-title2 {
    font-family: 'Inter', sans-serif;
    font-weight: 400; /* lighter than bold */
    font-size: 1.6rem; /* scalable size */
    letter-spacing: 0.5px; /* subtle spacing for sleekness */
    color: #1a1a1a; /* deep neutral tone */
    text-align: center;
    margin-bottom: 1rem;
}

/* Subtitle */
.page-subtitle {
    font-family: 'Inter', sans-serif;
    font-weight: 400; /* extra light */
    font-size: 1.1rem;
    color: #404040; /* muted gray #6c757d */
    text-align: center;
    margin-bottom: 2rem;
}

/* Subtitle */
.de-subtitle {
    font-family: 'Inter', sans-serif;
    font-weight: 500; /* extra light */
    font-size: 1.1rem;
    color: #3CA08E; 
    text-align: center;
}


/* Label */
.form-label {
    font-weight: 600;
    font-size: 0.95rem;
    color: #1a1a1a; /*#333;*/
}


/* Text Input, Dropdown, Password */
.form-control {
    font-size: 1rem; /* keep text slightly smaller */
    padding: 0.6rem 0.75rem; /* reduce padding for slimmer height */
    border-radius: 8px; /* slightly less rounded corners */
    border: 1px solid #ddd; /* lighter border color */
    background-color: #fff; /* clean white background */
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    font-weight: 400;
}

    /* Focus state */
    .form-control:focus {
        border-color: #3498DB; /* your accent blue */
        box-shadow: 0 0 0 2px rgba(52, 152, 219, 0.2); /* subtle glow */
        outline: none; /* remove default outline */
    }

/* Checkbox and Radio */
.form-check-input {
    width: 1.2em;
    height: 1.2em;
    margin-top: 0.3em;
    border-color: #3498DB;
}

.form-check-label {
    font-size: 0.90rem;
    font-weight: 400;
    color: #333;
}

/* Notes / Information */
.form-note {
    font-size: 0.8rem;
    color: #6c757d;
    margin-top: 0.25rem;
    display: block;
}

.form-notebolder {
    font-size: 0.8rem;
    font-weight: 500;
    color: #1a1a1a;
    margin-top: 0.8rem;
    display: block;
}

.Login-title {
    font-family: 'Inter', sans-serif;
    font-weight: 400; /* lighter than bold */
    font-size: 1.9rem; /* scalable size */
    letter-spacing: 0.5px; /* subtle spacing for sleekness */
    color: #1a1a1a; /* deep neutral tone */
    text-align: center;
    margin-bottom: 1rem;
}

/* Icon next to title */
.login-title-icon {
    width: 30px; /* adjust size */
    height: 30px;
    object-fit: contain; /* keeps proportions */
}

.bg-surface {
    background-color: #f5f5f5;
}

.Login-footer {
    font-family: 'Inter', sans-serif;
    font-size: 0.80rem;
    color: #6c757d; /* muted gray */
    padding: 0.5rem 0;
    background-color: #f5f5f5; /* light background */
    border-top: 1px solid #e0e0e0;
}
/* Responsive container spacing */
@media (max-width: 768px) {
    .page-title {
        font-size: 1.5rem;
    }

    .page-subtitle {
        font-size: 1rem;
    }

    .form-control {
        padding: 0.65rem 0.9rem;
        font-size: 0.95rem;
    }
}



/* Buttons */
.btn-primary {
    background-color: #EC4758; /* red */
    border-color: #EC4758;
    color: #fff;
}

    .btn-primary:hover {
        background-color: #d63c4b;
        border-color: #d63c4b;
    }

.btn-success {
    background-color: #18A689; /* green */
    border-color: #18A689;
    color: #fff;
}

    .btn-success:hover {
        background-color: #138a6f;
        border-color: #138a6f;
    }

.btn-secondary {
    background-color: #3498DB; /* blue accent */
    border-color: #3498DB;
    color: #fff;
}

    .btn-secondary:hover {
        background-color: #2c82c9;
        border-color: #2c82c9;
    }

.btn-next {
    background-color: #17a2b8; /* teal */
    border-color: #17a2b8;
    color: #fff;
}

    .btn-next:hover,
    .btn-next:focus {
        background-color: #138496;
        border-color: #117a8b;
        color: #FFEB3B;
    }

.btn-previous {
    background-color: #5c6f82; /* blue-gray */
    border-color: #5c6f82;
    color: #fff;
}

    .btn-previous:hover,
    .btn-previous:focus {
        background-color: #4a5a6b;
        border-color: #4a5a6b;
        color: #FFEB3B;
    }



.btn-login {
    background-color: #2C3E50; /* blue accent */
    border-color: #2C3E50;
    color: #fff;
    font-size: 1rem;
    font-weight: 500;
    padding: 8px;
}

    .btn-login:hover {
        background-color: #F39C12;
        border-color: #F39C12;
        font-weight: 500;
    }

.bg-nav {
    background-color: #2C3E50;
    color: #fff;
    border: none;
}

.nav-brand {
    color: #76D7C4;  /*#D1F2EB; #76D7C4; #1ABC9C; #072348*/
    border: none;
    text-decoration: none;
}
    .nav-brand:hover {
        color: #FFCCBC; /*#FFCCBC; #072348*/
        border: none;
        text-decoration: none;
        transition: color 0.3s ease; /* Smooth transition */
    }

.text-nav-menu {
    font-weight: 300;
    font-size: 1rem;
    color: #fff;
    border: none;
}
    .text-nav-menu:hover, .text-nav-menu:active {
        color: #F1C40F; /*#FFF;*/
        border: none;
    }

/* Alerts */
.alert-danger {
    background-color: #EC4758;
    color: #fff;
    border: none;
}

.alert-success {
    background-color: #18A689;
    color: #fff;
    border: none;
}

.alert-info {
    background-color: #3498DB;
    color: #fff;
    border: none;
}

.alert-warning {
    background-color: #F39C12;
    color: #fff;
    border: none;
}



/* Links */

.link-a {
    color: #3CA08E;
    font-weight: 500;
    font-size: 0.875rem;
}

    .link-a:hover {
        text-decoration: underline;
        color: #2C3E50;
    }


/* Footer */
.footer {
    font-size: 0.7rem;
    font-weight: 600;
    color: #1a1a1a;
    padding-top: .25rem; /* smaller vertical padding */
    padding-bottom: .25rem;
    background-color: #D5DBDB;
    border-top: 5px solid #1a1a1a;
    text-align: center;
}

.menu-title {
    font-family: 'Inter', sans-serif;
    font-weight: 400; /* extra light */
    font-size: .9rem;
    color: #404040; /* muted gray #6c757d */
    text-align: center;
    margin-bottom: 2rem;
}


/*
    a {
    color: #3498DB;
    text-decoration: none;
}

    a:hover {
        
        text-decoration: underline;
    }
a .rounded-circle:hover {
    transform: scale(1.05);
    transition: 0.2s ease-in-out;
}

.nav-link {
    transition: background-color 0.2s ease-in-out;
}

    .nav-link:hover {
        background-color: #d5dbdb;
    }
    */

.icon-nav {
    background-color: #2C3E50;
    color: #fff;
    border: none;
}

/* Base tab link */
.nav-tabs .nav-link {
    border: none; /* remove default border */
    color: #555; /* neutral text color */
    font-weight: 500; /* medium weight */
    padding: 10px 20px; /* comfortable spacing */
    border-radius: 6px 6px 0 0; /* rounded top corners */
    transition: all 0.3s ease; /* smooth hover/active effect */
}

    /* Hover effect */
    .nav-tabs .nav-link:hover {
        color: #1ABC9C;
        ; /* your accent color */
        background-color: #f8f9fa; /* light hover background */
    }

    /* Active tab */
    .nav-tabs .nav-link.active {
        color: #fff; /* white text */
        background-color: #1ABC9C; /* accent background */
        border-radius: 6px 6px 0 0; /* keep rounded corners */
        box-shadow: 0 -2px 8px rgba(0,0,0,0.1); /* subtle shadow */
    }

/*
.nav-tabs .nav-link {
    border: none;
    color: #555;
    font-weight: 500;
    padding: 10px 20px;
    border-radius: 6px 6px 0 0;
    transition: all 0.3s ease;
    background-color: #f8f9fa;
}

    .nav-tabs .nav-link:hover {
        color: #3498DB;
        background-color: #eaf2f8;
    }

    .nav-tabs .nav-link.active {
        color: #fff;
        background-color: #3498DB;
        border-radius: 6px 6px 0 0;
        box-shadow: 0 -2px 8px rgba(0,0,0,0.1);
    }*/


.text-icon {
    color: #1ABC9C;
}

.text-icon2 {
    color: #2C3E50;
}


.btn-add {
    background-color: #2980B9; /* Muted Blue */
    color: #fff;
}

.btn-edit {
    background-color: #F39C12; /* Amber Orange */
    color: #fff;
}

.btn-view {
    background-color: #2C3E50; /* Deep Navy */
    color: #fff;
}

.btn-back {
    background-color: #7F8C8D; /* Cool Gray */
    color: #fff;
}

.btn-delete {
    background-color: #E74C3C; /* Soft Red */
    color: #fff;
}

.btn-save {
    background-color: #27AE60; /* Emerald Green */
    color: #fff;
}

/* New Search Button */
.btn-search {
    background-color: #28AAA6; /* Sleek #00558C; */
    color: #fff;
}

    /*.btn-add:hover,
    .btn-edit:hover,
    .btn-view:hover,
    .btn-back:hover,
    .btn-delete:hover,
    .btn-save:hover {
        opacity: 0.9;*/ /* subtle hover effect */
    /*}*/

/*    .btn-add:hover,
    .btn-edit:hover,
    .btn-view:hover,
    .btn-back:hover,
    .btn-delete:hover,
    .btn-save:hover {
        box-shadow: 0 0 10px rgba(0,0,0,0.2);
        transform: translateY(-2px);
    }
*/

    /*.btn-add:hover,
    .btn-edit:hover,
    .btn-view:hover,
    .btn-back:hover,
    .btn-delete:hover,
    .btn-save:hover {
        background-color: #fff !important;*/ /* white background */
        /*color: inherit !important;*/ /* use button’s base color for text */
        /*border: 2px solid currentColor;*/ /* keep outline in the original color */
    /*}*/

/* Save */
.btn-save:hover {
    background-color: #ECFDF5 !important; /* very light green */
    color: #145A32 !important; /* deep green text */
    border: 2px solid #27AE60;
}

/* Edit */
.btn-edit:hover {
    background-color: #FFF4E6 !important; /* soft light orange */
    color: #B9770E !important; /* darker amber text */
    border: 2px solid #F39C12;
}

/* Add */
.btn-add:hover {
    background-color: #EBF5FB !important; /* light blue background */
    color: #1B4F72 !important; /* navy text */
    border: 2px solid #2980B9;
}

/* Back */
.btn-back:hover {
    background-color: #F2F4F4 !important; /* light gray */
    color: #2C3E50 !important; /* dark slate text */
    border: 2px solid #7F8C8D;
}

/* Delete */
.btn-delete:hover {
    background-color: #FDEDEC !important; /* light red background */
    color: #922B21 !important; /* deep red text */
    border: 2px solid #E74C3C;
}

/* View */
.btn-view:hover {
    background-color: #EAECEE !important; /* light slate background */
    color: #1a252f !important; /* deep navy text */
    border: 2px solid #2C3E50;
}

/* Search */
.btn-search:hover {
    background-color: #EBF2EE !important; /* light slate background */
    color: #1a252f !important; /* deep navy text */
    border: 2px solid #28AAA6;
}

/*
.btn-add:hover,
.btn-edit:hover,
.btn-view:hover,
.btn-back:hover,
.btn-delete:hover,
.btn-save:hover {
    transform: scale(1.05);
}*/

.table-secondary {
    background-color: #2C3E50;
    color: #1a1a1a;
    font-weight: 500;
    font-size: .9rem;
}

/* Label */
.table-text {
    font-weight: 500;
    font-size: .85rem;
    color: #1a1a1a; /*#333;*/
}

/* Change font size of the info text */
.dataTables_info {
    font-family: 'Inter', sans-serif;
    font-size: .9rem; /* or 14px, adjust as needed */
    color: #1a1a1a; /* optional: softer text color */
    font-weight: 500; /* optional: make it slightly bolder */
}

/* Show X entries dropdown */
.dataTables_length {
    font-family: 'Inter', sans-serif;
    font-size: 1rem; /* adjust text size */
    margin-bottom: 10px; /* spacing below */
    color: #1a1a1a; /* optional: softer text color */
    font-weight: 300; /* optional: make it slightly bolder */
    padding: 4px 8px;
}

    .dataTables_length select {
        font-family: 'Inter', sans-serif;
        font-size: 0.9rem; /* dropdown font size */
        border-radius: 4px; /* rounded corners */
        color: #1a1a1a; /* optional: softer text color */
        font-weight: 300; /* optional: make it slightly bolder */
    }



/* Show X entries dropdown */
.dataTables_length label {
    color: #0d6efd !important; /* Bootstrap primary blue */
    font-weight: 500;
}

.dataTables_length select {
    color: #0d6efd !important;
    border: 1px solid #0d6efd;
    border-radius: 4px;
}


/* Search box */
.dataTables_filter {
    font-family: 'Inter', sans-serif;
    font-size: 1rem; /* label font size */
    margin-bottom: 10px;
    font-weight: 600;
}

    .dataTables_filter input {
        font-size: 0.9rem; /* input font size */
        padding: 4px 8px;
        border-radius: 4px;
        border: 1px solid #ccc;
    }


    .dataTables_filter label {
        color: #2C3E50 !important; /* Bootstrap success green */
    }



/* Give more space to Name and Email */
.w-05 { width: 5%;}
.w-08 { width: 8%;}
.w-10 { width: 10%;}
.w-15 { width: 15%;}
.w-20 { width: 20%;}
.w-30 { width: 30%;}
.w-40 { width: 40%;}



/* Spinner when page is save or submitted */

#pageOverlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.7);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    opacity: 0;
    transition: opacity 0.4s ease;
}

    #pageOverlay.active {
        display: flex;
        opacity: 1;
    }

    #pageOverlay .spinner-border {
        width: 3rem;
        height: 3rem;
    }

.wizard-step {
    display: none;
}

    .wizard-step.active {
        display: block;
    }

.fade-toggle {
    opacity: 0;
    transition: opacity 0.3s ease;
    display: none;
}

    .fade-toggle.show {
        display: block; /* or flex if you want row layout */
        opacity: 1;
    }
/*Override the original to include Red Cross on validation failure*/
/* Treat ASP.NET's input-validation-error like Bootstrap's is-invalid */
input.input-validation-error {
    border-color: #dc3545 !important;
    padding-right: calc(1.5em + .75rem);
    background-image: var(--bs-form-invalid-bg-image);
    background-repeat: no-repeat;
    background-position: right calc(.375em + .1875rem) center;
    background-size: calc(.75em + .375rem) calc(.75em + .375rem);
}

