﻿.full-height {
    min-height: 100vh;
    display: flex;
    align-items: stretch;
    background-color: beige;
}

/* Background image styles */
.bgimage {
    background: url('../images/bg_login_blue.jpg') no-repeat center center;
    background-size: cover;
    min-height: 100%;
}

/* Login form container styles */
.login-form-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100%;
}

.login-form {
    margin: 0 auto;
    max-width: 400px;
    padding: 10px;
}

/* Logo styles */
.login-logo {
    max-width: 150px;
    display: block;
    margin: 0 auto 10px auto;
}

/* Form input styles */
/*input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="select"] {
    max-width: 280px;
}*/
/* In Site.css or your main stylesheet */
.backup-spinner {
    text-align: center;
    margin: 20px 0;
}

.calender td {
    padding: 5px !important;
}

/* Responsive styles */
@media screen and (min-width: 768px) {
    .login-form {
        margin-top: 20px;
        margin-bottom: 20px;
    }

    .login-logo {
        max-width: 125px;
    }
}

.menu_section {
    padding-top: 10px;
    padding-bottom: 10px;
}
/*Profile style*/
.user-profile {
    display: inline-block;
    position: relative;
}

.avatar {
    background-color: #ddd;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
    vertical-align: middle;
}

.user-name {
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
}

.user-dropdown {
    display: none;
    position: absolute;
    right: 0;
    top: 100%;
    background-color: white;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    border: 1px solid #ddd;
    border-radius: 4px;
    min-width: 160px;
    z-index: 1000;
}

.user-profile:hover .user-dropdown {
    display: block;
}

.user-dropdown a {
    display: block;
    padding: 8px 15px;
    color: #333;
    text-decoration: none;
}

    .user-dropdown a:hover {
        background-color: #f5f5f5;
    }

.user-dropdown:before {
    content: '';
    position: absolute;
    top: -6px;
    right: 10px;
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid white;
}
/* Base navbar styles */
.navbar-default {
    background-color: #f8f9fa;
    border-color: #e7e7e7;
    margin-bottom: 20px;
}

    .navbar-default .navbar-nav > li > a {
        color: #777;
    }

/* Desktop dropdown styles */
@media (min-width: 768px) {
    .dropdown:hover .dropdown-menu {
        display: block;
    }

    .dropdown-menu {
        margin-top: 0;
    }

    .navbar-nav > li > a {
        padding-top: 15px;
        padding-bottom: 15px;
    }
}

/* Mobile styles */
@media (max-width: 767px) {
    .navbar-default .navbar-nav .dropdown-menu {
position: static;
        float: none;
        width: auto;
        margin-top: 0;
        background-color: #f8f9fa;
        border: none;
     box-shadow: none;
        display: none; /* Hide by default */
    }

    .navbar-default .navbar-nav .dropdown.open .dropdown-menu {
        display: block; /* Show when parent has open class */
    }

    .navbar-default .navbar-nav .dropdown-menu > li > a {
      padding: 10px 15px 10px 25px;
      color: #777;
        line-height: 20px;
    }

    .dropdown-menu > li > a:hover,
    .dropdown-menu > li > a:focus {
        background-color: #e7e7e7;
    }

    .navbar-nav {
        margin: 0;
        width: 100%;
}

    .navbar-nav > li {
        float: none;
    }

    .navbar-nav > li > a {
        padding: 10px 15px;
        line-height: 20px;
    }

    .navbar-collapse {
    padding: 0;
        border-top: 1px solid #e7e7e7;
 }

    .navbar-collapse.collapse {
        display: none !important;
    }

    .navbar-collapse.collapse.in {
        display: block !important;
    }

    .navbar-toggle {
        display: block;
     margin-right: 15px;
    }

    /* Override hover behavior on mobile */
    .dropdown:hover .dropdown-menu {
        display: none;
    }

    .dropdown.open .dropdown-menu {
  display: block;
    }

    /* Make dropdown toggles more tappable */
    .dropdown-toggle {
        position: relative;
      width: 100%;
    }

    .caret {
        position: absolute;
        right: 15px;
   top: 50%;
        transform: translateY(-50%);
    }

    /* Improve tap targets */
    .navbar-nav .dropdown-menu > li > a {
        padding: 12px 25px;
        border-bottom: 1px solid rgba(0,0,0,0.05);
    }

    .navbar-nav .dropdown-menu > li:last-child > a {
        border-bottom: none;
 }
}

/* Restricted admin menu items */
.dropdown-menu > li.restricted-admin-item > a {
    background-color: rgba(217, 83, 79, 0.75); /* red @ 75% opacity */
    color: #fff;
}

.dropdown-menu > li.restricted-admin-item > a:hover,
.dropdown-menu > li.restricted-admin-item > a:focus {
    background-color: rgba(201, 48, 44, 0.75);
    color: #fff;
}

/* Admin Importer Messages */
.admin-importer-messages {
    max-height: 200px;
    overflow-y: auto;
    font-family: monospace;
    font-size: 12px;
    margin-bottom: 15px;
}

.admin-importer-messages .import-message {
    padding: 2px 0;
    border-bottom: 1px dotted #bce8f1;
}

/* Keep existing styles below this point... */

.footer {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #eee;
}

.disclaimer {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #eee;
}

/* GridView Paging Styles */
.gridview-pager {
    padding: 8px 15px;
    margin: 20px 0;
    text-align: center;
}

.gridview-pager table {
  margin: 0 auto;
}

.gridview-pager td {
    padding: 0 5px;
}

.gridview-pager a {
color: #007bff;
    background-color: #fff;
    border: 1px solid #dee2e6;
    padding: 8px 12px;
  margin: 0 4px;
    text-decoration: none;
    border-radius: 4px;
}

.gridview-pager a:hover {
    color: #0056b3;
    background-color: #e9ecef;
    border-color: #dee2e6;
    text-decoration: none;
}

.gridview-pager span {
    background-color: #007bff;
    color: #fff;
    border: 1px solid #007bff;
    padding: 8px 12px;
    margin: 0 4px;
    border-radius: 4px;
}

/* Column width classes */
.col-width-13 {
    width: 13%;
}

/* ========================================
   Edit/View Task Page Styles
   ======================================== */

/* Recurs label */
.recurs {
    padding-left: 10px;
}

/* Panels */
.panels {
  margin-top: 10px;
    background-color: lightgray;
    padding: 10px;
}

/* Form buttons */
.frm_buttons .btn {
    margin-right: 10px;
}

/* Auto style */
.auto-style1 {
    height: 20px;
}

/* Header weight */
.header_weight {
    font-weight: bold;
}

/* Bootstrap 3 radio button styling */
#rbType {
    display: block;
}

/* Target only the labels generated by RadioButtonList, not the preceding "Type" label */
.radio-list label {
    font-weight: normal;
    padding-left: 20px;
    margin-bottom: 5px;
    cursor: pointer;
}

/* Hide the br tags that ASP.NET adds between radio buttons */
.radio-list br {
    display: none;
}

#rbType input[type="radio"] {
    margin-left: -25px;
    margin-right: 8px;
    margin-top: 4px;
}

/* Bootstrap datepicker styling */
.input-group-addon {
 cursor: pointer;
}

/* ========================================
   Responsive Styles for Small Screens
   ======================================== */

@media (max-width: 767px) {
    /* Make all form labels stack on top */
    .form-group.row {
        display: block;
    }
    
    /* Make label full width */
    .form-group .col-md-3 {
        width: 100%;
  text-align: left;
        margin-bottom: 5px;
    }
  
    /* Make input container full width */
    .form-group .col-md-9 {
        width: 100%;
    }
    
    /* Ensure all form controls are 100% width */
    .form-control,
    .input-group {
    width: 100% !important;
    }
    
    /* Make buttons stack vertically on small screens */
    .frm_buttons {
    display: flex;
        flex-direction: column;
        gap: 10px;
    }
    
    .frm_buttons .btn {
        width: 100%;
 margin-right: 0;
     margin-bottom: 5px;
    }
    
    /* Make input groups full width and ensure proper layout */
    .input-group {
        display: table !important;
    width: 100% !important;
    }
    
    .input-group .form-control {
        display: table-cell !important;
        width: 100% !important;
    }
  
  /* Fix input group buttons */
    .input-group-btn,
    .input-group-addon {
        display: table-cell !important;
     width: 1% !important;
      white-space: nowrap;
        vertical-align: middle;
  }
    
    .input-group-btn .btn {
        width: auto !important;
    }
    
    /* Ensure dropdown lists are full width */
    select.form-control {
     width: 100% !important;
    }
    
    /* Make textareas full width */
  textarea.form-control {
        width: 100% !important;
    }
    
    /* Panel adjustments for mobile */
    .panels {
        padding: 10px 5px;
    }
    
    /* Make tables responsive */
    .table {
        font-size: 14px;
        display: block;
      overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    
    /* Adjust content width */
.col-md-9 {
   padding-left: 15px;
     padding-right: 15px;
}
    
    /* Fix DataGrid buttons */
    .table .btn,
    .table a {
        font-size: 12px;
   padding: 4px 8px;
    }
    
    /* Ensure container fluid takes full width */
    .container-fluid {
        padding-left: 10px;
        padding-right: 10px;
    }
}

/* ========================================
   Extra Small Screens (Phones in Portrait)
   ======================================== */

@media (max-width: 480px) {
    .table {
    font-size: 12px;
  }
    
    h3 {
        font-size: 20px;
    }
    
    h4 {
        font-size: 16px;
    }
    
    /* Make buttons even more compact */
    .btn-sm {
        padding: 4px 8px;
        font-size: 12px;
    }
}
.modal-backdrop.d-none {
    display: none !important;
}
.admin-section-header {
    overflow: hidden;
    margin: 14px 0 8px 0;
}

.admin-section-title {
    float: left;
    line-height: 30px;
}

.admin-actions {
    float: right;
}

    .admin-actions .btn {
        margin-left: 8px;
    }

.admin-delete-user-page {
    margin-top: 20px;
}

.admin-delete-user-warning,
.admin-delete-user-confirmation-alert {
    margin-bottom: 20px;
}

.admin-delete-user-status {
    display: block;
    margin-bottom: 15px;
}

.admin-delete-user-password-panel {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #eee;
}

.modal-backdrop {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.4);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}
.modal-spinner {
    background: #fff;
    padding: 32px 48px;
    border-radius: 8px;
    box-shadow: 0 2px 16px rgba(0,0,0,0.2);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 220px;
    min-height: 120px;
}

/* Dropdown Menu Width */
.nav .dropdown-menu {
    min-width: 220px;
}

/* Dropdown Submenu */
.dropdown-submenu {
    position: relative;
}

.dropdown-submenu > .dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -1px;
    margin-left: 0;
    border-radius: 0 4px 4px 4px;
    display: none !important;
}

.dropdown-submenu.open > .dropdown-menu {
    display: block !important;
}

.dropdown-submenu > a::after {
    content: "\f0da";
    font-family: FontAwesome;
    float: right;
    margin-left: 8px;
}

@media (max-width: 767px) {
    .dropdown-submenu > .dropdown-menu {
        position: static;
        left: 0;
        margin-left: 15px;
        box-shadow: none;
        border: none;
        background-color: transparent;
    }
}

/* Admin Importer */
.admin-importer-page {
    max-width: 100%;
}

.admin-importer-page .admin-importer-results {
    margin-bottom: 20px;
}

.admin-importer-page .table-responsive {
    width: 100%;
    overflow-x: auto;
}

/* Admin Add Company */
.admin-add-company-page .admin-add-company-status {
    display: block;
    margin-bottom: 15px;
}

/* Admin Add Facility */
.admin-add-facility-page .admin-add-facility-status {
    display: block;
    margin-bottom: 15px;
}

/* Admin Edit Company/Facility */
.admin-edit-cf-page .admin-edit-cf-status {
    display: block;
    margin-bottom: 15px;
}

/* Admin Manage Users */
.admin-manage-users-page .admin-manage-users-status {
    display: block;
    margin-bottom: 15px;
}

@media (max-width: 767px) {
    .admin-manage-users-page .wcm-table thead {
        display: none;
    }
}

/* Admin Add User */
.admin-add-user-page .admin-add-user-status {
    display: block;
    margin-bottom: 15px;
}

/* General Admin Page Status Labels */
.text-danger.alert,
.text-success.alert {
    display: block;
    margin-bottom: 15px;
}

.admin-importer-page .table {
    width: 100% !important;
}

.admin-importer-page .admin-importer-email-validation {
    margin-top: 15px;
    margin-bottom: 15px;
}

.admin-importer-page .admin-importer-email-validation h5 {
    margin-top: 0;
    font-weight: bold;
}

.admin-importer-page .admin-importer-email-validation .table {
    background-color: #fff;
    margin-bottom: 10px;
}

.admin-importer-page .admin-importer-company-mismatch {
    margin-top: 15px;
    margin-bottom: 15px;
}

.admin-importer-page .admin-importer-company-mismatch h5 {
    margin-top: 0;
    font-weight: bold;
}

.admin-importer-page .admin-importer-company-mismatch .table {
    background-color: #fff;
    margin-bottom: 0;
}

/* Admin Add Missing Users */
.admin-add-users-page .admin-add-users-status {
    display: block;
    margin-bottom: 15px;
}
