/* Marco's Contract Portal - Custom Styles */

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.btn-danger {
    background-color: #c8102e;
    border-color: #c8102e;
}

.btn-danger:hover {
    background-color: #a50d25;
    border-color: #a50d25;
}

.btn-outline-danger {
    color: #c8102e;
    border-color: #c8102e;
}

.btn-outline-danger:hover {
    background-color: #c8102e;
    border-color: #c8102e;
}

/* Toast-style success messages */
.alert-success {
    background-color: #d4edda;
    border-color: #c3e6cb;
    color: #155724;
}

/* Draft styling in contract list */
.draft-row {
    color: #6c757d;
    font-style: italic;
}

/* Tooltip hint on status badges */
.badge[title] {
    cursor: help;
}

/* Placeholders read as light guidance, not solid text */
.form-control::placeholder {
    color: #adb5bd;
    font-style: italic;
    opacity: 1;
}

/* In-field show/hide password eye toggle */
.pw-wrap {
    position: relative;
    display: block;
}
.pw-wrap input {
    padding-right: 2.5rem;
}
.pw-toggle {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    display: flex;
    align-items: center;
    border: 0;
    background: transparent;
    padding: 0 .6rem;
    color: #6c757d;
    cursor: pointer;
}
.pw-toggle:hover {
    color: #212529;
}
.pw-toggle svg {
    width: 18px;
    height: 18px;
    display: block;
}

/* Small, light field hint; turns red on a validation violation */
.field-hint {
    display: block;
    margin-top: .25rem;
    font-size: .8rem;
    color: #8a939b;
}
.field-hint--error {
    color: #c8102e;
}

/* ── National Pricing DC Item Number picker ──────────────────────────────
   Deliberately here and not in line_item_grid.css: that file is shared
   byte-for-byte by the contract and National Pricing grids so they cannot
   drift apart visually, and the picker exists on only one of them. */
/* The input is a full-width .form-control, so without a flex wrapper the
   button drops onto its own line and makes that row taller than its
   neighbours — visible only in a browser, not in the DOM. */
.dc-item-input-group { display: flex; align-items: center; gap: .25rem; }
.dc-item-input-group input { flex: 1 1 auto; min-width: 0; }
.dc-item-pick-btn {
    border: 1px solid #ced4da;
    background: #f8f9fa;
    color: #495057;
    border-radius: .25rem;
    font-size: .75rem;
    line-height: 1;
    padding: .3rem .45rem;
    margin-left: .25rem;
    cursor: pointer;
}
.dc-item-pick-btn:hover { background: #e9ecef; color: #212529; }

.dc-item-dropdown {
    min-width: 22rem;
    max-width: 30rem;
    background: #fff;
    border: 1px solid #ced4da;
    border-radius: .375rem;
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
    padding: .5rem;
}
.dc-item-filter { margin-bottom: .4rem; }
.dc-item-list { max-height: 15rem; overflow-y: auto; }
.dc-item-option {
    display: block;
    padding: .2rem .25rem;
    font-size: .85rem;
    cursor: pointer;
}
.dc-item-option:hover { background: #f1f3f5; }
.dc-item-option input { margin-right: .35rem; }
.dc-item-msg { font-size: .8rem; color: #6c757d; padding: .25rem; }
.dc-item-add { margin-top: .4rem; width: 100%; }
