/**
 * PrimeVueTheme4 component CSS extensions.
 * Auto-generated from @nshift/themes — do not edit manually.
 * Sizing/typography literals are rewritten to var(--ns-*) references,
 * resolved by the base tokens declared in prime-theme-tokens.css.
 * Generated: 2026-07-24T09:40:01.041Z
 */

/* --- dialog --- */

/* Dialog - Per Figma design */
.p-dialog {
    border: 1px solid #C2C2C2 !important;
    border-radius: var(--ns-radius-md) !important;
    box-shadow: 1px 2px 10px 0px rgba(0, 0, 0, 0.15) !important;
    overflow: hidden;
}
.p-dialog .p-dialog-header {
    padding: var(--ns-spacing-6) !important;
    border-bottom: 1px solid #E9E9E9 !important;
    background: #FFFFFF;
}
.p-dialog .p-dialog-title {
    font-size: var(--ns-text-16);
    font-weight: var(--ns-font-weight-medium);
    color: #191919;
    line-height: 1.5rem;
}
.p-dialog .p-dialog-content {
    padding: var(--ns-spacing-6) !important;
    background: #FFFFFF;
}
.p-dialog .p-dialog-footer {
    padding: var(--ns-spacing-6) !important;
    border-top: 1px solid #E9E9E9 !important;
    background: #FFFFFF;
    gap: var(--ns-spacing-2);
}
/* Close button styling */
.p-dialog .p-dialog-header-actions button {
    width: 1.5rem;
    height: 1.5rem;
    border-radius: var(--ns-radius-md);
}
        

/* --- message --- */

        .p-message {
            position: relative;
            border: 0 !important;
            outline: none !important;
            box-shadow: none !important;
            border-radius: var(--ns-radius-md);
            --ns-message-accent: #DADADA;
        }
        .p-message::before {
            content: "";
            position: absolute;
            left: 0;
            top: 0;
            bottom: 0;
            width: 0.25rem;
            background: var(--ns-message-accent);
            border-top-left-radius: var(--ns-radius-md);
            border-bottom-left-radius: var(--ns-radius-md);
        }
        .p-message.p-message-info {
            background: #F2F3FA;
            color: #4044D9;
            --ns-message-accent: #4044D9;
        }
        .p-message.p-message-success {
            background: #C7E7D6;
            color: #156545;
            --ns-message-accent: #21784A;
        }
        .p-message.p-message-warn {
            background: #FFF5D9;
            color: #5A3C00;
            --ns-message-accent: #F6C900;
        }
        .p-message.p-message-warning {
            background: #FFEED4;
            color: #66381A;
            --ns-message-accent: #F98923;
        }
        .p-message.p-message-error {
            background: #FED1CD;
            color: #7D251F;
            --ns-message-accent: #C53728;
        }
        .p-message.p-message-flare {
            background: #EAD2FA;
            color: #4C166B;
            --ns-message-accent: #B249D7;
        }
        .p-message.p-message-secondary {
            background: #F2F2F2;
            color: #2B2B2B;
            --ns-message-accent: #DADADA;
        }
        .p-message.p-message-contrast {
            background: #191919;
            color: #F5F5F5;
            --ns-message-accent: #7A7A7A;
        }
        

/* --- inputtext --- */

          /* Invalid: red border only — keep default field background (no error container fill) */
          .p-inputtext.p-invalid,
          .p-inputtext.p-invalid:enabled:hover,
          .p-inputtext.p-invalid:enabled:focus {
              border-color: #C53728 !important;
          }
        

/* --- select --- */

/* Select root - proper border */
.p-select {
    border: 1px solid #C2C2C2;
    min-height: 2.25rem; /* 36px - match input height */
    align-items: center;
}
/* Select label (selected option) and placeholder - match input font size */
.p-select-label,
.p-select .p-select-placeholder {
    font-size: var(--ns-text-14) !important;
    font-weight: var(--ns-font-weight-regular);
    padding: var(--ns-spacing-1-5) var(--ns-spacing-2);
    flex: 1;
}
/* Select overlay options - match input font size */
.p-select-overlay .p-select-option,
.p-select-list .p-select-option {
    font-size: var(--ns-text-14) !important;
    line-height: 1.25rem;
}
/* Dropdown trigger - divider and centered caret */
.p-select .p-select-dropdown {
    border-left: 1px solid #C2C2C2;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 var(--ns-spacing-2);
    margin: 0.1875rem 0; /* 3px - adjusted for smaller height */
    width: auto;
    min-width: 2rem;
}
/* Dropdown icon - ensure visibility and centering */
.p-select .p-select-dropdown svg {
    width: 1rem;
    height: 1rem;
    display: block;
}
.p-select:hover .p-select-dropdown {
    border-left-color: #C2C2C2;
}
.p-select.p-focus .p-select-dropdown {
    border-left-color: #C2C2C2;
}
.p-select.p-invalid {
    border-color: #C53728;
}
.p-select.p-invalid .p-select-dropdown {
    border-left-color: #7D251F;
}
.p-select.p-disabled .p-select-dropdown {
    border-left-color: #726C6E;
}
/* Error state hover background */
.p-select.p-invalid:hover {
    background: #FED1CD;
}
/* FloatLabel + Select specific styling */
.p-floatlabel .p-select {
    width: 100%;
}
.p-floatlabel {
    width: 240px;
}
/* Select overlay: focus hover on all options including selected */
.p-select-overlay .p-select-list .p-select-option:not(.p-disabled):hover {
    background: var(--p-select-option-focus-background, var(--p-surface-container-standard-hover)) !important;
    color: var(--p-select-option-focus-color, inherit) !important;
}
        

/* --- multiselect --- */

        /* MultiSelect root - proper border to match Select */
        .p-multiselect {
            border: 1px solid #C2C2C2;
            min-height: 2.25rem; /* 36px - match input height */
            align-items: center;
            border-radius: 4px;
        }
        /* MultiSelect label and placeholder - match input font size */
        .p-multiselect-label,
        .p-multiselect .p-multiselect-placeholder {
            font-size: var(--ns-text-14) !important;
            font-weight: var(--ns-font-weight-regular);
            padding: var(--ns-spacing-1-5) var(--ns-spacing-2);
            flex: 1;
        }
        /* MultiSelect overlay options - match input font size */
        .p-multiselect-overlay .p-multiselect-option,
        .p-multiselect-list .p-multiselect-option,
        .p-multiselect-item {
            font-size: var(--ns-text-14) !important;
            line-height: 1.25rem;
        }
        /* Dropdown trigger - divider aligned with Select (border-left on dropdown) */
        .p-multiselect .p-multiselect-dropdown,
        .p-multiselect .p-multiselect-trigger {
            border-left: 1px solid #C2C2C2;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 0 var(--ns-spacing-2);
            margin: 0.1875rem 0;
            width: auto;
            min-width: 2rem;
        }
        /* Dropdown icon - ensure visibility and centering */
        .p-multiselect .p-multiselect-dropdown svg,
        .p-multiselect .p-multiselect-trigger svg,
        .p-multiselect > svg:last-child {
            width: 1rem;
            height: 1rem;
            display: block;
        }
        .p-multiselect.p-invalid {
            border-color: #C53728;
        }
        .p-multiselect.p-invalid .p-multiselect-dropdown,
        .p-multiselect.p-invalid .p-multiselect-trigger {
            border-left-color: #7D251F;
        }
        .p-multiselect.p-disabled .p-multiselect-dropdown,
        .p-multiselect.p-disabled .p-multiselect-trigger {
            border-left-color: #726C6E;
        }
        /* Disabled state - dropdown icon color */
        .p-multiselect.p-disabled .p-multiselect-dropdown svg,
        .p-multiselect.p-disabled .p-multiselect-trigger svg,
        .p-multiselect.p-disabled > svg:last-child {
            color: #726C6E;
        }
        /* Error state hover background */
        .p-multiselect.p-invalid:hover {
            background: #FED1CD;
        }
        /* FloatLabel + MultiSelect specific styling */
        .p-floatlabel .p-multiselect {
            width: 100%;
        }
        

/* --- card --- */

        /* Card - Per Figma design */
        .p-card {
            border: 1px solid #E9E9E9 !important;
            border-radius: var(--ns-radius-md) !important;
            box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1) !important;
            overflow: hidden;
        }
        .p-card .p-card-body {
            padding: var(--ns-spacing-6);
        }
        .p-card .p-card-title {
            font-size: var(--ns-text-16);
            font-weight: var(--ns-font-weight-medium);
            color: #191919;
            margin-bottom: var(--ns-spacing-1);
        }
        .p-card .p-card-subtitle {
            font-size: var(--ns-text-14);
            color: #666465;
            margin-bottom: var(--ns-spacing-2);
        }
        .p-card .p-card-content {
            padding: 0;
        }
        .p-card .p-card-footer {
            padding-top: var(--ns-spacing-4);
        }
        

/* --- inputtext base (native HTML) --- */
.p-inputtext,
textarea.p-inputtext {
  font-family: inherit;
  font-size: var(--ns-text-14);
  line-height: 1.25rem;
  padding: var(--ns-spacing-1-5) var(--ns-spacing-2);
  border: 1px solid #C2C2C2;
  border-radius: 4px;
  background: #FFFFFF;
  color: #191919;
  width: 100%;
  box-sizing: border-box;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.p-inputtext:enabled:hover,
textarea.p-inputtext:enabled:hover {
  border-color: #DADADA;
}
.p-inputtext:enabled:focus,
textarea.p-inputtext:enabled:focus {
  outline: none;
  border-color: #2b2b2b;
  box-shadow: 0 0 0 1px #2b2b2b;
}
.p-inputtext:disabled,
textarea.p-inputtext:disabled {
  background: #FAFAFA;
  color: #666465;
  cursor: not-allowed;
}
.p-inputtext::placeholder,
textarea.p-inputtext::placeholder {
  color: #666465;
}


/* --- checkbox base (native HTML) --- */
.idsrv-checkbox {
  display: inline-flex;
  align-items: center;
  gap: var(--ns-spacing-2);
  cursor: pointer;
}
.idsrv-checkbox input[type="checkbox"] {
  appearance: none;
  width: 1.125rem;
  height: 1.125rem;
  border: 1px solid #C2C2C2;
  border-radius: 4px;
  background: #FFFFFF;
  cursor: pointer;
  flex-shrink: 0;
  position: relative;
}
.idsrv-checkbox input[type="checkbox"]:hover {
  border-color: #2b2b2b;
}
.idsrv-checkbox input[type="checkbox"]:checked {
  background: #2b2b2b;
  border-color: #2b2b2b;
}
.idsrv-checkbox input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 0.3rem;
  top: 0.1rem;
  width: 0.3rem;
  height: 0.55rem;
  border: solid #F2F2F2;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.idsrv-checkbox input[type="checkbox"]:focus {
  outline: 2px solid #2b2b2b;
  outline-offset: 1px;
}
