﻿
/*=============================================================
    Authour URL: www.designbootstrap.com
    
    http://www.designbootstrap.com/

    License: MIT

    http://opensource.org/licenses/MIT

    100% Free To use For Personal And Commercial Use.

    IN EXCHANGE JUST TELL PEOPLE ABOUT THIS WEBSITE
   
========================================================  */


/* =============================================================
   GENERAL STYLES
 ============================================================ */

 @import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap");
:root {
    --eunice-blue: #0066a8;
    --eunice-green: #78aa42;
    --eunice-red: #d53936;
    --eunice-yellow: #febf33;
    --eunice-gray: #555854;
    --eunice-ink: #0a0203;
    --eunice-ink-soft: rgba(0,0,0,0.65);
    --eunice-surface: #ffffff;
    --eunice-surface-soft: #f4f7fb;
    --eunice-surface-transparent: rgba(255, 255, 255, 0.8);
    --eunice-border: rgba(10, 2, 3, 0.1);
    --eunice-shadow: 0 24px 60px rgba(0, 50, 85, 0.18);
    --eunice-font-sans: "Montserrat", "Calibri", "Segoe UI", sans-serif;
}
html{
   font-size: 14px; 
}
 body {
    font-family: var(--eunice-font-sans);
    background-color: var(--eunice-surface);
    line-height: 30px;
    padding: 0 5px;
 }
  
 .set-radius-zero {
     border-radius: 0px;
     -moz-border-radius: 0px;
     -webkit-border-radius: 0px;
 }
 
 .content-wrapper {
     margin-top: 40px;
     min-height: 600px;
     padding-bottom: 60px;
 }

 .page-head-line {
     font-weight: 900;
     padding-bottom: 10px;
     border-bottom: 2px solid var(--eunice-ink) !important;
     text-transform: capitalize;
     color: var(--eunice-ink);
     font-size: 20px;
     margin-bottom: 40px;
 }

 .btn {
     border-radius: 0px;
     -webkit-border-radius: 0px;
     -moz-border-radius: 0px;
 }
 .btn-primary
 {
    background: #77caf4;
 }
 .progress {
     height: 8px;
     border-radius: 0px;
     -webkit-border-radius: 0px;
     -moz-border-radius: 0px;
 }
 .login-icon {
    height: 60px;
    width: 60px;
    padding: 13px;
    border-radius: 50%;
    font-size: 30px;
    margin-bottom: 20px;
    color: #fff;
    text-align: center;
    cursor:pointer;
    background-color: var(--eunice-ink);
    -webkit-border-radius:50%;
        -moz-border-radius:50%;
 }
 .truncate-text {
  max-width: 200px;  /* adjust as needed */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
}


.btn-email {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: var(--eunice-ink); /* Bootstrap primary */
  color: white;
  padding: 10px 16px;
  border-radius: 0px;
  text-decoration: none;
  font-weight: 500;
  transition: background-color 0.3s ease;
}

.btn-email:hover {
  background-color: var(--eunice-ink-soft); /* Lighter shade for hover */
  text-decoration: none;
  color: white;
}

.email-icon {
  width: 20px;
  height: 20px;
}

 /* =============================================================
    HEADER SECTION STYLES
  ============================================================ */
 header {
     background-color: white;
     color: #fff;
     /*padding: 10px;*/
     text-align: left;
 }

 .banner-container {
    display: flex;
    align-items: center;
    /* height: 400px; */
    overflow: hidden;
}

.banner-container h1 {
    flex: 1;
    margin: 0;
    padding: 0 1.5rem;
}

.banner-container .img-banner {
    flex: 0 0 100%;
    object-fit: cover;
    object-position: top center;
}

#user-info.user-info-card {
    background: linear-gradient(135deg, #f7f9fc 0%, #eef2f7 100%);
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-left: 5px solid var(--eunice-ink);
    border-radius: 12px;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.08);
    color: #1c1c1c;
    line-height: 1.4;
    padding: 14px 18px;
    width: 100%;
}

.user-info-kicker {
    color: var(--eunice-ink);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin: 0;
    text-transform: uppercase;
}

.user-info-name {
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
    text-transform: capitalize;
}

.user-info-item {
    color: #404040;
    font-size: 0.92rem;
    margin: 0;
    overflow-wrap: anywhere;
}

.env-badge {
    background-color: #fef4e9;
    border: 1px solid #f2c48b;
    border-radius: 999px;
    color: #8b3f00;
    display: inline-block;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 1.25;
    margin-top: 4px;
    padding: 6px 12px;
    text-transform: uppercase;
}

/* DataTables specific styles */
.page-item.active .page-link {
    background-color: var(--eunice-ink);
    border-color: var(--eunice-ink);
}
 
 /* =============================================================
    LOGO SECTION STYLES
  ============================================================ */
 .left-div {
     padding-left: 30px;
     margin-top: 40px;
     margin-bottom: 30px;
 }
 
 .navbar-brand {
     /*
     width: 250px;
     padding-top: 30px;
     */
 }

 .logo {
  max-width: 250;
  max-height: 150;
}
 
 /* USER SETTINGS DIV */
 .user-settings-wrapper .nav > li > a {
     position: relative;
     display: block;
     padding: 15px 18px;
     border-radius: 50%;
     -webkit-border-radius: 50%;
     -moz-border-radius: 50%;
     height: 60px;
     width: 60px;
     background-color: #808080;
     color: #fff;
 }
 
 .user-settings-wrapper {
     margin-top: 10px;
 }
 
     .user-settings-wrapper li {
         display: inline-block;
     }
 
     .user-settings-wrapper .dropdown-settings {
         width: 200px;
         padding: 10px;
     }
 
     .user-settings-wrapper .nav > li > a:hover,.user-settings-wrapper .nav > li > a:focus {
         text-decoration: none;
         background-color: #808080!important;
     }
 
     .user-settings-wrapper img {
         height: 64px;
         width: 64px;
         border: 1px solid #000000;
     }
 
     .user-settings-wrapper .dropdown-menu {
         margin: 0px;
         border-radius: 0px!important;
         -moz-border-radius: 0px!important;
         -webkit-border-radius: 0px!important;
     }
 
     .user-settings-wrapper .btn {
         border-radius: 0px!important;
         -moz-border-radius: 0px!important;
         -webkit-border-radius: 0px!important;
     }
 
     .user-settings-wrapper .media-heading {
         padding-top: 10px;
     }
 
 /* MENU LINKS SECTION*/
 
.btn-primary {
    background-color: var(--eunice-ink) !important;
    border-color: var(--eunice-ink) !important;
    color: #fff !important;
    transition: background-color 0.15s, border-color 0.15s;
}
.btn-primary:hover,
.btn-primary:focus-visible {
    background-color: var(--eunice-gray) !important;
    border-color: var(--eunice-gray) !important;
    color: #fff !important;
}

.nav-item a {
    font-weight: 500 !important;
    text-transform: uppercase !important;
}

.navbar,
.navbar > .container-fluid {
    padding-top: 0;
    padding-bottom: 0;
    align-items: stretch;
}

.navbar-collapse {
    align-items: stretch;
}

.navbar-nav {
    align-items: stretch;
}

.navbar-nav .nav-item {
    display: flex;
}

.navbar-nav .nav-link {
    display: flex;
    align-items: center;
    padding-top: 0;
    padding-bottom: 0;
    transition: background-color 0.15s, color 0.15s;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus-visible,
.dropdown-item:hover,
.dropdown-item:focus {
    background-color: var(--eunice-ink) !important;
    color: #fff !important;
}

.navbar-nav .nav-link.active {
    border-bottom: 3px solid var(--eunice-ink);

}
 /* =============================================================
    FOOTER SECTION STYLES
  ============================================================ */
 footer {
     padding: 10px;
     color: #fff;
     font-size: 12px;
     background-color: var(--eunice-ink-soft);
    
 }
 
     footer a, footer a:hover {
         color: #fff;
         text-decoration: none;
     }
 
 /*==============================================
     DASHBOARD  STYLES    
  =============================================*/
 
 /* DASHBOARD ICONS */
 
 .bk-clr-one {
     background-color: #B9B739;
 }
 
 .bk-clr-two {
     background-color: #F94C4C;
 }
 
 .bk-clr-three {
     background-color: #119c7e;
 }
 
 .bk-clr-four {
     background-color: #b739b9;
 }
 
 .dashboard-div-icon {
     height: 75px;
     width: 75px;
     border: 2px solid #fff;
     padding: 20px;
     border-radius: 50%;
     -webkit-border-radius:50%;
     -moz-border-radius:50%;
     font-size: 30px;
     margin-bottom: 20px;
     color: #fff;
 }
 
 .dashboard-div-wrapper {
     border-radius: 5px;
     text-align: center;
     padding: 15px;
     color: #fff;
     margin-bottom: 50px;
 }
 
     .dashboard-div-wrapper .progress {
         height: 2px;
     }
 
 /* NOTICE BOARD */
 
 
 .notice-board .panel {
     border-radius: 0px;
     -webkit-border-radius: 0px;
     -moz-border-radius: 0px;
 }
 
 .notice-board ul {
     padding-left: 0px;
     list-style: none;
 }
 
 .notice-board li {
     padding: 10px;
     border-bottom: 1px solid #E5E5E5;
 }
 
     .notice-board li span {
         margin-right: 10px;
         border: 1px solid #DBDBDB;
         padding: 5px;
     }
 
     .notice-board li a, .notice-board li a:hover {
         text-decoration: none;
         color: #000;
     }
 
 /* SOCIAL BUTTONS */
 .btn-social {
     color: white;
     opacity: 0.8;
 }
 
     .btn-social:hover {
         color: white;
         opacity: 1;
         text-decoration: none;
     }
 
 .btn-facebook {
     background-color: #192d59;
 }
 
 .btn-twitter {
     background-color: #00aced;
 }
 
 .btn-linkedin {
     background-color: #0e76a8;
 }
 
 .btn-google {
     background-color: #c32f10;
 }

 /* added by Nazia Jamil 2.7.2025 for the export buttons in appao.php */
.buttons-html5{
    margin: 0 0.15em !important;
    background-color: var(--eunice-ink) !important;
    color: white !important;
    border-radius: 0 !important;
    border: 0 !important;
    padding: 6px 12px !important;
    font-size: 14px !important;
    font-weight: normal !important;
    line-height: 1.42857143 !important;
    text-align: center !important;
    white-space: nowrap !important;
    vertical-align: middle !important;
    cursor: pointer !important;
}
.buttons-html5:hover{
    background-color: var(--eunice-ink-soft) !important;
    color: white !important;
}

.dtsp-titleRow .btn-subtle{
    margin: 0 0.15em !important;
    background-color: var(--eunice-ink) !important;
    color: white !important;
    border-radius: 0 !important;
    border: 0 !important;
    padding: 6px 12px !important;
    font-size: 14px !important;
    font-weight: normal !important;
    line-height: 1.42857143 !important;
    text-align: center !important;
    white-space: nowrap !important;
    vertical-align: middle !important;
    cursor: pointer !important;
}
.dtsp-titleRow .btn-subtle:hover{
    background-color: var(--eunice-ink-soft) !important;
    color: white !important;
}
 /* =============================================================
     COLLAPSE STYLES 
   ============================================================ */
   .collapsible {
    display: inline-block;
    padding: 6px 12px;
    margin-bottom: 5px;
    font-size: 14px;
    font-weight: normal;
    line-height: 1.42857143;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 4px;
   
}       

.content-collapse {
    padding: 0 18px;
    display: none;
    overflow: hidden;
    background-color: #f9f9f9;
}
hr.bold-red {
    border: none;
    border-top: 3px solid var(--eunice-ink) !important;
    height: 0;
    margin: 1em 0;
    opacity: 1 !important;
}
/*nav section */
nav{
    font-size: 0.9rem !important;
}
 /* =============================================================
     COLLAPSE STYLES
   ============================================================ */

   /*added by Nazia Jamil 12.5.2025 for the matched profile rows*/
   .highlight-green {
        background-color: #155724 !important;
    }

th.hide-export, td.hide-export {
  display: none;
}

/* Form styles */
.form-control {
    border-radius: 0 !important;
    border-color: var(--eunice-border) !important;
    box-shadow: none !important;
}

/* SimpleSAML Discovery styles */
/* ── Screen-reader-only utility ──────────────────────────── */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ── Wrapper card ─────────────────────────────────────────── */
.disco-wrapper {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.10);
    width: 100%;
    max-width: 560px;
    padding: 2.5rem 2rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

/* ── Header ───────────────────────────────────────────────── */
.disco-header {
    text-align: center;
}

.disco-header h1 {
    font-size: 1.75rem;
    font-weight: 700;
    color: #1a1a2e;
    letter-spacing: -0.02em;
}

.disco-subtitle {
    margin-top: 0.35rem;
    font-size: 0.95rem;
    color: #6b7280;
}

/* ── Alerts ───────────────────────────────────────────────── */
.alert {
    padding: 0.85rem 1rem;
    border-radius: 8px;
    font-size: 0.9rem;
    line-height: 1.5;
}

.alert-error {
    background: #fee2e2;
    color: #991b1b;
    border: 1px solid #fca5a5;
}

.alert-warning {
    background: #fef9c3;
    color: #713f12;
    border: 1px solid #fde68a;
}

/* ── Search box ───────────────────────────────────────────── */
.search-box {
    position: relative;
}

.search-box input[type="search"] {
    width: 100%;
    padding: 0.65rem 1rem 0.65rem 1rem;
    border: 1.5px solid #d1d5db;
    border-radius: 8px;
    font-size: 0.95rem;
    color: #1a1a2e;
    background: #f9fafb;
    transition: border-color 0.15s, box-shadow 0.15s;
    outline: none;
    /* Remove native clear button in WebKit */
    -webkit-appearance: none;
}

.search-box input[type="search"]:focus {
    border-color: #4f46e5;
    box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.15);
    background: #ffffff;
}

/* ── IdP list ─────────────────────────────────────────────── */
.idp-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    max-height: 360px;
    overflow-y: auto;
    padding-right: 4px; /* room for scrollbar */
}

/* Custom scrollbar */
.idp-list::-webkit-scrollbar          { width: 6px; }
.idp-list::-webkit-scrollbar-track    { background: transparent; }
.idp-list::-webkit-scrollbar-thumb    { background: #d1d5db; border-radius: 3px; }
.idp-list::-webkit-scrollbar-thumb:hover { background: #9ca3af; }

/* ── IdP button ───────────────────────────────────────────── */
.idp-btn {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    width: 100%;
    padding: 0.75rem 1rem;
    background: #f9fafb;
    border: 1.5px solid #e5e7eb;
    border-radius: 10px;
    cursor: pointer;
    text-align: left;
    font-size: 0.95rem;
    color: #1a1a2e;
    transition: background 0.15s, border-color 0.15s, transform 0.1s, box-shadow 0.15s;
}

.idp-btn:hover,
.idp-btn:focus-visible {
    background: #eef2ff;
    border-color: #4f46e5;
    box-shadow: 0 2px 8px rgba(79, 70, 229, 0.12);
    outline: none;
    transform: translateY(-1px);
}

.idp-btn:active {
    transform: translateY(0);
    background: #e0e7ff;
}

/* Logo or placeholder */
.idp-logo {
    width: 40px;
    height: 40px;
    object-fit: contain;
    border-radius: 6px;
    flex-shrink: 0;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    padding: 3px;
}

.idp-logo-placeholder {
    width: 40px;
    height: 40px;
    border-radius: 6px;
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
    color: #ffffff;
    font-weight: 700;
    font-size: 1.1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    user-select: none;
}

.idp-name {
    flex: 1;
    font-weight: 500;
    line-height: 1.3;
}

.idp-arrow {
    font-size: 1.25rem;
    color: #9ca3af;
    flex-shrink: 0;
    transition: color 0.15s;
}

.idp-btn:hover .idp-arrow,
.idp-btn:focus-visible .idp-arrow {
    color: #4f46e5;
}

/* ── Count label ──────────────────────────────────────────── */
.idp-count {
    font-size: 0.8rem;
    color: #9ca3af;
    text-align: right;
}

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 480px) {
    .disco-wrapper {
        padding: 1.75rem 1.25rem;
    }

    .disco-header h1 {
        font-size: 1.4rem;
    }
}