:root {
    --primary-color: #F97316 !important;
    --primary-color-badge: #FFC9A7 !important;
    --secondary-color: #0D2040 !important;
    --bright-gray: #e9e9e9 !important;
    --white-color: #fff !important;
    --black-color: #000 !important;
    --light-grayish-blue: #F6F6F8 !important;
    --silver-color: #ccc !important;
    --green-color: #21BC15 !important;
    --red-color: #FF4346 !important;
    --gray-color: #8A8A8A !important;
    --seashell-color: #FFF4ED !important;
    --snow1-color: #fffcfa !important;
    --light-grey: #ededed !important;
    --dark-grey: #555 !important;
    --faint-blue: #E5EAF0 !important;
    --oxford-blue: #0C2340 !important;
    --pale-blue: #e5e7eb !important;
    --gray-blue: #d1d5db !important;
    --dark-grayish-blue: #374151 !important;
    --anti-flash-white: #f3f4f6 !important;
    --bright-red: #dc3545 !important;
    --misty-rose: #fee2e2 !important;
    --pale-blue-gray: #f4f9ff !important;
    --deep-navy-blue: #0b2d53 !important;
    --sidebar-width: 186px !important;
    --sidebar-width-collapsed: 45px !important;
    --divider: rgba(204, 204, 204, 0.60) !important;
    --light-orange: rgba(255, 201, 167, 0.20) !important;
    --side-menu-differentiator: #f1f1f1 !important;
    --invite-member-active: #ffdac4 !important;
    --text-label-color: #4A4A4A !important;

    /* Form design tokens (Spectra design system) */
    --slate-950: #0F172A !important;
    --slate-600: #475569 !important;
    --slate-400: #94A3B8 !important;
    --slate-300: #CBD5E1 !important;
    --slate-200: #E2E8F0 !important;
    --slate-100: #F1F5F9 !important;
    --slate-50:  #F8FAFC !important;
    --red-700:   #A32D2D !important;
    --red-500:   #E24B4A !important;
    --red-50:    #FFF5F5 !important;

    --label-color:       var(--slate-600);
    --input-text:        var(--slate-950);
    --input-bg-empty:    var(--slate-50);
    --input-bg-filled:   var(--white-color);
    --input-border:      var(--slate-300);
    --placeholder-color: var(--slate-400);
    --focus-ring:        0 0 0 3px rgba(13, 32, 64, 0.08);
    --error-border:      var(--red-500);
    --error-bg:          var(--red-50);
    --error-text:        var(--red-700);
    --helper-color:      var(--slate-400);
    --required-marker:   var(--red-500);
}


body,
textarea,
select,
ul,
li,
input,
table,
label,
a,
th,
td,
button,
p,
.tooltip-inner {
    font-family: "Golos Text", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    line-height: 140%;
    list-style-type: none;
    margin: 0;
    color: var(--secondary-color);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
}

a {
    text-decoration: none;
}

 a:hover {
    color: inherit;
} 

a.forgot-password:hover {
    color: var(--secondary-color);
}

.italic {
    font-style: italic;
}

button {
    cursor: pointer;
}

.btn-check:focus+.btn,
.btn:focus {
    outline: 0;
    box-shadow: none;
}

/* scrollbar */
::-webkit-scrollbar {
    width: 6px;
    height: 8px;
}

::-webkit-scrollbar-track {
    box-shadow: inset 0 0 5px grey;
    border-radius: 10px;
}

::-webkit-scrollbar-thumb {
    background: var(--secondary-color);
    border-radius: 10px;
    opacity: .8;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--secondary-color);
    opacity: 1;
}

.progress-bar {
    background-color: var(--secondary-color);
}

/*******Label & Input CSS *********/
label {
    font-size: 11px;
    font-weight: 500;
    color: var(--label-color);
    letter-spacing: 0.01em;
    line-height: 1.4;
    margin-bottom: 4px;
}

.required-mark {
    color: var(--required-marker) !important;
    margin-left: 1px;
}

.selected-option-label {
    font-size: 13px;
    color: var(--text-label-color);
}

input.custom-input,
select,
textarea {
    border-radius: 6px !important;
    border: 1px solid var(--input-border) !important;
    background: var(--input-bg-empty) !important;
    display: flex;
    padding: 7px 10px !important;
    align-items: center;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: var(--input-text) !important;
    line-height: 1.4 !important;
}

input.custom-input::placeholder,
textarea::placeholder,
select::placeholder {
    color: var(--placeholder-color);
    font-weight: 400;
}

input.custom-input:not(:placeholder-shown),
textarea:not(:placeholder-shown),
input.custom-input.filled,
textarea.filled {
    background: var(--input-bg-filled) !important;
}

textarea {
    background: transparent;
    padding: 3px 10px;
    border: 1px solid var(--bright-gray);
    border-radius: 8px;
}

.default-dropdown {
    border: 1px solid var(--bright-gray);
    border-radius: 8px;
    height: auto;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 500;
    color: var(--secondary-color);
}

.custom-dropdown {
    border: 1.309px solid rgba(204, 204, 204, 0.60);
    background-color: var(--seashell-color);
    border-radius: 8px;
    height: 40px;
    padding: 5px 10px;
    font-size: 14px;
    font-weight: 500;
    color: var(--secondary-color);
    align-items: center;
}

input.custom-input:focus-visible,
input.custom-input:focus,
select:focus,
select:focus-visible,
textarea:focus,
textarea:focus-visible,
.default-dropdown:focus-visible,
.default-dropdown:focus,
.custom-dropdown:focus-visible,
.custom-dropdown:focus {
    outline: none !important;
    border: 1.5px solid var(--secondary-color) !important;
    background: var(--input-bg-filled) !important;
    box-shadow: var(--focus-ring) !important;
}

/* Error state — add `is-invalid` class to the input */
input.custom-input.is-invalid,
select.is-invalid,
textarea.is-invalid {
    border: 1.5px solid var(--error-border);
    background: var(--error-bg);
    color: var(--input-text);
}

input.custom-input.is-invalid:focus,
select.is-invalid:focus,
textarea.is-invalid:focus {
    box-shadow: 0 0 0 3px rgba(226, 75, 74, 0.10);
}

/* Disabled state */
input.custom-input:disabled,
select:disabled,
textarea:disabled {
    background: var(--anti-flash-white);
    color: var(--slate-400);
    cursor: not-allowed;
    opacity: 0.7;
}

/* Token override — legacy `.bg-white` / `.grey-border` utility classes
   on inputs should not defeat the design-token bg/border tokens.
   Uses !important to beat Bootstrap's `.bg-white` !important. */
input.custom-input.bg-white,
input.custom-input.grey-border {
    background: var(--input-bg-empty) !important;
    border: 1px solid var(--input-border) !important;
}

input.custom-input.bg-white:not(:placeholder-shown),
input.custom-input.grey-border:not(:placeholder-shown),
input.custom-input.bg-white.filled,
input.custom-input.grey-border.filled {
    background: var(--input-bg-filled) !important;
}

input.custom-input.bg-white:focus,
input.custom-input.grey-border:focus,
input.custom-input.bg-white:focus-visible,
input.custom-input.grey-border:focus-visible {
    background: var(--input-bg-filled) !important;
    border: 1.5px solid var(--secondary-color) !important;
    box-shadow: var(--focus-ring) !important;
}

/* ============================================
   Bootstrap-style dropdown trigger as input
   Pattern: <button class="btn bg-white border ...">
   ============================================ */
.dropdown > button.btn.bg-white,
.dropdown > button.btn.bg-white.border {
    background: var(--input-bg-empty) !important;
    border: 1px solid var(--input-border) !important;
    border-radius: 6px !important;
    padding: 7px 10px !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: var(--input-text) !important;
    box-shadow: none;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.dropdown > button.btn.bg-white:hover {
    background: var(--input-bg-filled) !important;
    border-color: var(--slate-400) !important;
}

.dropdown.show > button.btn.bg-white,
.dropdown > button.btn.bg-white[aria-expanded="true"],
.dropdown > button.btn.bg-white:focus,
.dropdown > button.btn.bg-white:focus-visible {
    background: var(--input-bg-filled) !important;
    border: 1.5px solid var(--secondary-color) !important;
    box-shadow: var(--focus-ring) !important;
    outline: none !important;
}

.dropdown > button.btn.bg-white .selected-option-label {
    font-size: 13px;
    font-weight: 400;
    color: var(--input-text);
}

/* Arrow icon — smaller and softer (uses opacity since SVG color is internal) */
.dropdown > button.btn.bg-white img {
    width: 10px;
    opacity: 0.55;
}

input.custom-input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px var(--input-bg-filled) inset !important;
    -webkit-text-fill-color: var(--input-text) !important;
    caret-color: var(--input-text) !important;
}

.relative {
    position: relative;
}

.user-text {
    font-size: 14px;
}

input[type="checkbox"] {
    cursor: pointer;
}

/*********Button CSS*********/
.btn-linking {
    width: 100%;
    height: 100%;
    display: block;
}

/* Primary button — orange CTA per token doc */
.primary-btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background: var(--primary-color);
    border-radius: 6px;
    width: auto;
    height: auto;
    color: var(--white-color);
    font-size: 13px;
    font-weight: 500;
    padding: 8px 20px;
    border: 1px solid var(--primary-color);
    gap: 8px;
    transition: background 0.15s ease, transform 0.05s ease;
}

.primary-btn:hover {
    background: #EA6C0A;
    border-color: #EA6C0A;
    color: var(--white-color);
}

.primary-btn:active {
    transform: scale(0.98);
}

.primary-btn:disabled,
.primary-btn[disabled] {
    background: #FED7AA;
    border-color: #FED7AA;
    cursor: not-allowed;
}

/* Secondary button — white with slate border */
.secondary-btn {
    display: inline-flex;
    gap: 8px;
    justify-content: center;
    align-items: center;
    background-color: var(--white-color);
    border-radius: 6px;
    border: 1px solid var(--slate-300);
    width: auto;
    height: auto;
    color: var(--slate-950);
    font-size: 13px;
    font-weight: 400;
    padding: 8px 16px;
    transition: background 0.15s ease, border-color 0.15s ease, transform 0.05s ease;
}

.secondary-btn:hover {
    background: var(--slate-50);
    border-color: var(--slate-400);
}

.secondary-btn:active {
    transform: scale(0.98);
}

/* Tertiary button — alias of primary (kept for backward compat with existing markup) */
.tertiary-btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background: var(--primary-color);
    border-radius: 6px;
    width: auto;
    height: auto;
    color: var(--white-color);
    font-size: 13px;
    font-weight: 500;
    padding: 8px 20px;
    border: 1px solid var(--primary-color);
    gap: 8px;
    transition: background 0.15s ease, transform 0.05s ease;
}

.tertiary-btn:hover {
    background: #EA6C0A;
    border-color: #EA6C0A;
}

.tertiary-btn:active {
    transform: scale(0.98);
}

/* Danger button — for destructive actions */
.danger-btn {
    display: inline-flex;
    gap: 8px;
    justify-content: center;
    align-items: center;
    background: var(--red-500);
    color: var(--white-color);
    border-radius: 6px;
    border: 1px solid var(--red-500);
    font-size: 13px;
    font-weight: 500;
    padding: 8px 16px;
    transition: background 0.15s ease, transform 0.05s ease;
}

.danger-btn:hover {
    background: #C53030;
    border-color: #C53030;
}

/* Ghost / text button — for tertiary actions like "Skip", "+ Add header" */
.ghost-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: transparent;
    border: none;
    color: var(--slate-600);
    font-size: 12px;
    font-weight: 500;
    padding: 4px 0;
    transition: color 0.15s ease;
}

.ghost-btn:hover {
    color: var(--secondary-color);
}

/* Form helper / error message utilities */
.helper-text {
    font-size: 10px;
    font-weight: 400;
    color: var(--helper-color);
    line-height: 1.4;
    margin-top: 3px;
}

.error-message {
    font-size: 10px;
    font-weight: 400;
    color: var(--error-text);
    line-height: 1.4;
    margin-top: 3px;
}

/* ============================================
   Typography utility classes (Spectra tokens)
   ============================================ */

/* Page title — top of a content area, e.g. "Monitors", "Add monitor" */
.page-title {
    font-size: 16px;
    font-weight: 500;
    color: var(--slate-950);
    margin: 0;
    line-height: 1.4;
}

/* Section title — UPPERCASE label that divides cards/groups, e.g. "TARGET", "SCHEDULE" */
.section-title {
    font-size: 10px;
    font-weight: 500;
    color: var(--slate-600);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    line-height: 1.4;
}

/* Breadcrumb — "Monitors > Add monitor > Website monitoring"
   Covers both new `.breadcrumb-link` and existing `.breadcrumb-links` markup */
.breadcrumb-link,
.breadcrumb-links {
    font-size: 14px;
    font-weight: 400;
    color: var(--slate-400);
    text-decoration: none;
    transition: color 0.15s ease;
}

.breadcrumb-link:hover,
.breadcrumb-links:hover {
    color: var(--slate-950);
}

.breadcrumb-link.active,
.breadcrumb-current {
    font-size: 14px;
    font-weight: 500;
    color: var(--slate-950);
}

/* Tag / chip — alert contact tags, region chips, etc. */
.tag-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    font-weight: 500;
    color: var(--secondary-color);
    padding: 4px 10px;
    border-radius: 100px;
    background: #FFF5EE;
    border: 1px solid var(--primary-color);
}

/* Monospace text — heartbeat URLs, JSON paths, hex codes */
.code-text {
    font-family: 'SF Mono', Menlo, Consolas, monospace;
    font-size: 11px;
    font-weight: 400;
    color: var(--slate-950);
}

.w-fit {
    width: fit-content !important;
}

/*********Font CSS*********/
.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}

.bg-primary-color {
    background-color: var(--primary-color) !important;
}

.primary-color {
    color: var(--primary-color) !important;
}

.secondary-color {
    color: var(--secondary-color) !important;
}

.bright-gray {
    color: var(--bright-gray);
}

.white-color {
    color: var(--white-color);
}

.light-grayish-blue {
    color: var(--light-grayish-blue);
}

.silver-color {
    color: var(--silver-color);
}

.green-color {
    color: var(--green-color);
}

.red-color {
    color: var(--red-color) !important;
}

.gray-color {
    color: var(--gray-color);
}

/*********Font Size*********/
.font-8 {
    font-size: 8px !important;
}

.font-10 {
    font-size: 10px !important;
}

.font-12 {
    font-size: 12px !important;
}

.font-13 {
    font-size: 13px !important;
}

.font-14 {
    font-size: 14px !important;
}

.font-15 {
    font-size: 15px !important;
}

.font-16 {
    font-size: 16px !important;
}

.font-18 {
    font-size: 18px;
}

.font-20 {
    font-size: 20px;
}

.font-22 {
    font-size: 22px;
}

.font-24 {
    font-size: 24px;
}

.font-26 {
    font-size: 26px;
}

.font-28 {
    font-size: 28px;
}

.font-30 {
    font-size: 30px;
}

.font-42 {
    font-size: 42px;
}

/*********Common CSS*********/
.container-fluid {
    padding: 0;
}

.add-btn {
    border: none;
    background-color: white;
    color: var(--secondary-color);
    font-size: 25px;
}

hr {
    border-top: 1px dashed var(--bright-gray);
    border-bottom: 0;
    border-left: 0;
    border-right: 0;
    margin: 0;
}

/* border color */
.blue-border {
    border: 1px solid var(--secondary-color) !important;
}

.grey-border {
    border: 1px solid var(--bright-gray) !important;
}

/* text color secondary blue */
.text-secondary-blue {
    color: var(--secondary-color) !important;
}

/* height 40px */
.h-40 {
    height: 40px;
}

/* dark grey bg */
.dark-grey-bg {
    background-color: #F4F4F4;
}

/* 150px width btn */
.w-150-btn {
    width: 150px;
}

/* height width 16px */
.hw-16 {
    height: 16px !important;
    width: 16px !important;
}

/* width 12% */
.w-12 {
    width: 12%;
}

/* width 40px */
.w-40 {
    width: 40px;
}


/* align item flex-start */
.align-start {
    align-items: flex-start !important;
}

/* active btn border remove */
#btnDropdownDemo {
    border: none !important;
}

/* help icon */
.help-icon {
    height: 30px;
}

/* placeholder */
input::placeholder {
    font-size: 13px;
}

/* padding left 90px */
.ps-90 {
    padding-left: 90px !important;
}

/* fit width */
.fit-width {
    min-width: fit-content !important;
}

/* border bottom */
.border-bot {
    border-bottom: 1px solid var(--bright-gray);
}

.p-12-10 {
    padding: 12px 10px !important;
}

/* width */
.w-300 {
    width: 300px !important;
}

.w-500 {
    width: 500px !important;
}

.w-270 {
    width: 270px;
}

.w-70 {
    width: 70px !important;
}

.bg-grayish-blue {
    background-color: var(--light-grayish-blue);
}

.home-inner-20 {
    height: -webkit-fill-available;
    position: relative;
    overflow-x: hidden;
    padding: 20px 20px !important;
    scrollbar-width: none;
}

.header-logo {
    height: 24px;
}

.billing-btn-active {
    border-radius: 8px;
    border: 1px solid #F75501;
    background: linear-gradient(180deg, #FF5700 0%, #EF5200 100%);
    box-shadow: 0 1px 18px 2px #FFEDDB inset, 0 20px 32px 0 rgba(255, 88, 0, 0.20), 0 10.268px 13.398px 0 rgba(255, 88, 0, 0.22), 0 3.714px 4.846px 0 rgba(255, 88, 0, 0.15);
    display: flex;
    padding: 10px 15px;
    justify-content: center;
    align-items: center;
    color: #FFF;
    text-align: center;
    font-family: "Golos Text";
    font-size: 18.299px;
    font-style: normal;
    font-weight: 400;
    line-height: 27.448px;
    gap: 6px;
}

.h-500 {
    height: 450px;
}

.p-10-30 {
    padding: 10px 30px !important;
}