:root {
   --card-shadow: 0 0 2rem #0004;
}

html {
   font-size: 14px;
}

@media (min-width: 768px) {
   html {
      font-size: 16px;
   }
}

html {
   position: relative;
   min-height: 100%;
}

body {
   margin-bottom: 60px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
   color: var(--bs-secondary-color);
   text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
   text-align: start;
}

.navbar-brand {
   color: var(--bs-primary) !important;
}

   .navbar-brand img {
      height: 80px;
   }

section#login {
   max-width: 450px;
   margin: 0 auto;
   padding: 40px;
   border-radius: 20px;
   background: #eee;
   border: 1px solid var(--bs-primary);
}

   section#login .input-group-text {
      width: 120px;
   }

.invalid-feedback {
   text-align: right;
   display: block;
   height: 1.25rem;
}

/* invalid */

.input-validation-error {
   border-color: var(--bs-danger) !important;
   padding-right: calc(1.5em + 0.75rem) !important;
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23911f29'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23911f29'/%3e%3c/svg%3e") !important;
   background-repeat: no-repeat !important;
   background-position: right calc(0.375em + 0.1875rem) center !important;
   background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) !important;
   z-index: 3;
}

.input-group > .input-validation-error:not(:first-child) {
   border-top-left-radius: 0 !important;
   border-bottom-left-radius: 0 !important;
}

.input-group > .input-validation-error:has(+ .field-validation-error),
.input-group > .input-validation-error:has(+ .field-validation-valid) {
   border-top-right-radius: 0.375rem !important;
   border-bottom-right-radius: 0.375rem !important;
}

.input-group > .input-validation-error:not(:last-child):not(:has(+ .field-validation-error:last-child)) {
   border-top-right-radius: 0 !important;
   border-bottom-right-radius: 0 !important;
}

.input-group > .field-validation-error {
   flex: 1 1 100%; /* Force the error message to a new line */
   font-size: 0.875em;
   color: var(--bs-danger);
   margin-top: 0.25rem;
}

.validation-summary-errors ul {
   list-style: none;
   padding-left: 0;
}

/* valid */
/* Unified Valid Styles - Checkmark in standard position */
input.valid:not([type="checkbox"]):not([type="radio"]),
select.valid {
   border-color: #00aac8 !important;
   padding-right: calc(1.5em + 0.75rem) !important;
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300aac8' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") !important;
   background-repeat: no-repeat !important;
   background-position: right calc(0.375em + 0.1875rem) center !important;
   background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) !important;
   z-index: 3;
}

/* Grouped Input-Group Logic */
.input-group > :is(input, select).valid:not(:first-child) {
   border-top-left-radius: 0 !important;
   border-bottom-left-radius: 0 !important;
}

.input-group > :is(input, select).valid:has(+ .field-validation-valid),
.input-group > :is(input, select).valid:has(+ .field-validation-error) {
   border-top-right-radius: 0.375rem !important;
   border-bottom-right-radius: 0.375rem !important;
}

/* Combined Focus States */
:is(input, select).valid:focus {
   border-color: var(--bs-primary) !important;
   box-shadow: 0 0 0 0.25rem rgba(0, 170, 200, 0.25) !important;
}

input.input-validation-error:focus {
   border-color: var(--bs-danger) !important;
   box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25) !important;
}

.drug-count {
   font-size: 1.5rem;
   font-weight: 300;
   color: #333;
   width: 2rem;
   display: inline-block;
}

.group-title {
   font-size: 1rem;
   color: #555;
   line-height: 1.2;
   display: flex;
   align-items: center;
}

.search {
   max-width: 400px;
}

.section-dark {
   background: #eee;
}

.report-summary {
   background: #e4f7fd;
}

.reco-icon {
   margin-top: 2px;
}

.border-reco-a {
   border-color: var(--reco-a-color) !important;
}

.border-reco-b {
   border-color: var(--reco-b-color) !important;
}

.border-reco-c {
   border-color: var(--reco-c-color) !important;
}

.border-reco-d {
   border-color: var(--reco-d-color) !important;
}

.border-reco-a.border-reco-light {
   border-color: var(--reco-a-color-light) !important;
}

.border-reco-b.border-reco-light {
   border-color: var(--reco-b-color-light) !important;
}

.border-reco-c.border-reco-light {
   border-color: var(--reco-c-color-light) !important;
}

.border-reco-d.border-reco-light {
   border-color: var(--reco-d-color-light) !important;
}

.bg-reco-a {
   background: var(--reco-a-background-color) !important;
}

.bg-reco-b {
   background: var(--reco-b-background-color) !important;
}

.bg-reco-c {
   background: var(--reco-c-background-color) !important;
}

.bg-reco-d {
   background: var(--reco-d-background-color) !important;
}

.text-reco-a {
   color: var(--reco-a-color) !important;
}

.text-reco-b {
   color: var(--reco-b-color) !important;
}

.text-reco-c {
   color: var(--reco-c-color) !important;
}

.text-reco-d {
   color: var(--reco-d-color) !important;
}

.reco-grade-title {
   font-size: 1.3rem;
}

.corporate-nav {
   font-family: "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.corporate-link {
   font-weight: 600;
   color: #444 !important;
   padding: 0.6rem 1.2rem !important;
   border-radius: 4px;
   transition: all 0.2s ease-out;
   margin: 0 2px;
}

   .corporate-link:hover {
      background-color: var(--bs-primary) !important;
      color: #fff !important;
   }

   .corporate-link.active {
      background-color: rgba(var(--bs-dark-rgb), 1);
      color: #fff !important;
   }

.corporate-btn-logout {
   border: 1px solid var(--bs-danger);
   background: var(--bs-danger);
   color: #fff !important;
   border-radius: 4px;
   font-weight: 600;
   font-size: .85rem;
   transition: all 0.2s;
}

   .corporate-btn-logout:hover {
      background-color: rgba(var(--bs-danger-rgb), .1);
      color: var(--bs-danger) !important;
   }

.position-relative > #Password.valid + #toggle-password,
.position-relative > #Password.input-validation-error + #toggle-password {
   margin-right: 2.5rem !important;
}

.section-light {
   background-color: #f8f9fa;
}

.recommendation-card {
   background-color: #f0f7ff;
   line-height: 1.6;
}

.report-item label {
   letter-spacing: 0.5px;
   font-size: 0.75rem;
}

.input-group > .position-relative > :not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
   margin-left: calc(var(--bs-border-width) * -1);
   border-top-left-radius: 0;
   border-bottom-left-radius: 0;
}

.input-group:not(.has-validation) > .position-relative > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating) {
   border-top-right-radius: 0;
   border-bottom-right-radius: 0;
}

.tooltip-inner {
   text-align: left !important;
   white-space: pre-wrap !important;
   max-width: 300px;
}

.validation-summary-errors ul {
    margin-bottom: 0;
}

   .validation-summary-errors ul li {
      white-space: pre-line;
   }

.table-medication {
}

   .table-medication td:nth-child(1) {
      width: 25%;
   }

   .table-medication td:nth-child(2) {
      width: 130px;
   }

   .table-medication td:nth-child(3) {
      width: 180px;
   }

   .table-medication td:nth-child(4) {
   }


   .table-medication td:nth-child(5) {
      width: 180px;
   }
