/* =============================================================
   Object Manager - Green Theme
   ============================================================= */
:root {
    --om-green-50:  #f0faf3;
    --om-green-100: #d8f0dd;
    --om-green-300: #6fcf83;
    --om-green-500: #2e8b57;   /* primary */
    --om-green-600: #267349;
    --om-green-700: #1f5d3b;
    --om-green-800: #174530;
}

/* Bootstrap success overrides */
.btn-success {
    background-color: var(--om-green-500);
    border-color: var(--om-green-500);
}
.btn-success:hover,
.btn-success:focus {
    background-color: var(--om-green-600);
    border-color: var(--om-green-600);
    box-shadow: 0 0 0 0.2rem rgba(46, 139, 87, 0.25);
}
.btn-outline-success {
    color: var(--om-green-600);
    border-color: var(--om-green-500);
}
.btn-outline-success:hover {
    background-color: var(--om-green-500);
    border-color: var(--om-green-500);
}

.bg-success {
    background-color: var(--om-green-500) !important;
}

.text-success,
.text-success-emphasis {
    color: var(--om-green-700) !important;
}
.bg-success-subtle {
    background-color: var(--om-green-50) !important;
}

/* Navbar */
.om-navbar {
    background: linear-gradient(135deg, var(--om-green-600), var(--om-green-800));
}

/* Page header */
.page-header {
    border-left: 5px solid var(--om-green-500);
    padding-left: 1rem;
}
.page-title {
    color: var(--om-green-800);
    font-weight: 600;
    margin-bottom: 0.25rem;
}

/* Cards */
.card {
    border-radius: 0.75rem;
}
.card.shadow-sm {
    box-shadow: 0 0.125rem 0.5rem rgba(46, 139, 87, 0.08) !important;
}

/* Table */
.om-table {
    border-collapse: separate;
    border-spacing: 0;
}
.om-thead th {
    background: linear-gradient(180deg, var(--om-green-50), #ffffff);
    color: var(--om-green-800);
    font-weight: 600;
    border-bottom: 2px solid var(--om-green-300);
    text-transform: uppercase;
    font-size: 0.78rem;
    letter-spacing: 0.04em;
}
.om-table tbody tr:hover {
    background-color: var(--om-green-50);
}

/* Form focus states */
.form-control:focus,
.form-select:focus {
    border-color: var(--om-green-300);
    box-shadow: 0 0 0 0.2rem rgba(46, 139, 87, 0.18);
}

/* Modal headers */
.modal-header.bg-success {
    border-bottom: none;
    border-top-left-radius: calc(.5rem - 1px);
    border-top-right-radius: calc(.5rem - 1px);
}

/* ---------------------------------------------------------------
   Stacked modal: Add Object Type opens on top of the Item modal.
   Bootstrap's default z-index is 1055 (modal) / 1050 (backdrop).
   We bump the top modal above the underlying one and let JS push
   the *latest* backdrop just below it.
   --------------------------------------------------------------- */
.modal.om-modal-top {
    z-index: 1075;
}
.modal-backdrop.om-backdrop-top {
    z-index: 1070;
}

/* HTMX request indicator (optional) */
.htmx-request.htmx-indicator,
.htmx-request .htmx-indicator {
    opacity: 1;
}

/* ---------------------------------------------------------------
   Print styles for the Report page. Additive only — no effect on
   normal screen rendering.
   --------------------------------------------------------------- */
@media print {
    .om-navbar,
    footer,
    .d-print-none {
        display: none !important;
    }
    body {
        background: #fff !important;
    }
    .card {
        box-shadow: none !important;
        border: 1px solid #cfe8d8 !important;
        break-inside: avoid;
    }
    .om-thead th {
        background: #f0faf3 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
}

/* ---------------------------------------------------------------
   Collapsible card chevron: rotates when the section is open.
   Additive only.
   --------------------------------------------------------------- */
.om-collapse-chevron {
    transition: transform 0.2s ease;
}
.btn[aria-expanded="false"] .om-collapse-chevron {
    transform: rotate(-90deg);
}
.btn[aria-expanded="true"] .om-collapse-chevron {
    transform: rotate(0deg);
}

/* ---------------------------------------------------------------
   WS URL column: truncate long URLs in-cell while keeping the
   open-in-new-tab + copy + edit affordances on the same row.
   --------------------------------------------------------------- */
.om-url-truncate {
    display: inline-block;
    max-width: 160px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: middle;
}
.om-copy-btn {
    line-height: 1;
}
