/* Eagle Asset Manager - Modern square enterprise GUI
   Updated: 2026-06-28
   Notes:
   - Keeps existing Bootstrap/DataTables/Select2 hooks intact.
   - Enforces square/no-radius styling across the system.
   - Modernises cards, menus, tables, forms, modals and dashboard spacing. */

:root {
    --eagle-navy: #0b1830;
    --eagle-ink: #172b4d;
    --eagle-text: #2b3b52;
    --eagle-muted: #65758b;
    --eagle-bg: #f2f5f9;
    --eagle-card: #ffffff;
    --eagle-border: #d7e1ec;
    --eagle-border-soft: #edf2f7;
    --eagle-blue: #247fc9;
    --eagle-blue-dark: #1765a3;
    --eagle-purple: #9b59b6;
    --eagle-green: #62cb31;
    --eagle-yellow: #ffb606;
    --eagle-orange: #e67e22;
    --eagle-red: #e73c3c;
    --eagle-shadow: 0 8px 22px rgba(11, 24, 48, .07);
    --eagle-soft-shadow: 0 2px 10px rgba(11, 24, 48, .05);

    --bs-body-font-family: "Segoe UI", Arial, sans-serif;
    --bs-body-font-size: 0.735rem;
    --bs-body-font-weight: 400;
    --bs-body-color: var(--eagle-text);
    --bs-body-bg: var(--eagle-bg);
    --bs-link-color: var(--eagle-blue);
    --bs-link-hover-color: var(--eagle-blue-dark);
    --bs-primary-rgb: 36, 127, 201;
    --bs-secondary-rgb: 101, 117, 139;
    --bs-success-rgb: 98, 203, 49;
    --bs-warning-rgb: 255, 182, 6;
    --bs-danger-rgb: 231, 60, 60;
    --bs-border-radius: 0;
    --bs-border-radius-sm: 0;
    --bs-border-radius-lg: 0;
    --bs-border-radius-xl: 0;
    --bs-border-radius-xxl: 0;
}

* { box-sizing: border-box; }
html { min-height: 100%; }
body {
    margin: 0;
    min-height: 100%;
    background:
        linear-gradient(180deg, rgba(255,255,255,.72) 0%, rgba(242,245,249,.95) 42%, rgba(239,244,249,1) 100%),
        var(--eagle-bg);
    color: var(--eagle-text);
    font-family: var(--bs-body-font-family);
    font-size: var(--bs-body-font-size);
    line-height: 1.45;
}

a { color: var(--eagle-blue); text-decoration: none; }
a:hover { color: var(--eagle-blue-dark); text-decoration: none; }
img { max-width: 100%; }
hr { margin: .65rem 0; border-color: var(--eagle-border); opacity: 1; }
label { margin: 4px 0 2px; color: var(--eagle-ink); font-weight: 600; }
h6, .h6 { font-size: .735rem; font-weight: 800; color: var(--eagle-ink); }

/* Global no-radius enforcement */
.card,
.card-header,
.card-body,
.panel,
.panel-heading,
.panel-body,
.box,
.btn,
.form-control,
.form-select,
.input-group-text,
.dropdown-menu,
.dropdown-item,
.modal-content,
.modal-header,
.modal-footer,
.offcanvas,
.offcanvas-header,
.nav-tabs,
.nav-tabs .nav-link,
.badge,
.alert,
.pagination,
.page-link,
.list-group,
.list-group-item,
.table,
table.dataTable,
.swal2-popup,
.swal2-styled,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple,
.select2-container--default .select2-selection--multiple .select2-selection__choice,
.datepicker,
.tooltip-inner,
.tox-tinymce {
    border-radius: 0 !important;
}

.top-margin { margin-top: 76px; }
.main-space { margin-top: 16px; }
.space { padding-bottom: 10px; margin-bottom: 10px; }
.reportAlign { margin-top: 15px; margin-bottom: 15px; }
.no-border { border: 0 !important; padding-left: 0; padding-right: 0; }

/* Top navigation */
.bg-menu { background-color: #ffffff !important; }
.navbar,
.navbar.bg-menu,
.navbar.fixed-top {
    min-height: 62px;
    border-bottom: 1px solid var(--eagle-border);
    box-shadow: 0 3px 14px rgba(11, 24, 48, .07);
    z-index: 1040;
}
.navbar > .container-fluid {
    min-height: 62px;
    padding-left: 20px;
    padding-right: 20px;
}
.navbar-brand {
    display: flex;
    align-items: center;
    padding: 0;
    margin-right: 26px;
}
.navbar-brand img {
    height: 42px !important;
    width: auto;
    object-fit: contain;
}
.navbar-dark {
    --bs-navbar-color: var(--eagle-ink);
    --bs-navbar-hover-color: var(--eagle-blue);
    --bs-navbar-active-color: var(--eagle-blue);
}
.navbar-dark .navbar-nav .nav-link,
.navbar .navbar-nav .nav-link {
    color: var(--eagle-ink) !important;
    padding: 22px 11px 19px;
    font-size: .735rem;
    font-weight: 700;
    letter-spacing: .01em;
    border-bottom: 3px solid transparent;
}
.navbar-dark .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link.active,
.navbar .navbar-nav .nav-link.active {
    color: var(--eagle-blue) !important;
    background: #f5f9fd;
    border-bottom-color: var(--eagle-blue);
}
.navbar h6 {
    margin: 0 0 0 auto;
    padding: 6px 10px;
    color: var(--eagle-muted);
    background: #f4f7fb;
    border-left: 3px solid var(--eagle-blue);
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.color-line {
    background: #f7f9fa;
    height: 6px;
    background-image: linear-gradient(to right,
        #34495e 0%, #34495e 25%,
        #9b59b6 25%, #9b59b6 35%,
        #3498db 35%, #3498db 45%,
        #62cb31 45%, #62cb31 55%,
        #ffb606 55%, #ffb606 65%,
        #e67e22 65%, #e67e22 75%,
        #e73c3c 85%, #e73c3c 100%);
    background-size: 100% 6px;
    background-position: 50% 100%;
    background-repeat: no-repeat;
    position: fixed;
    top: 62px;
    left: 0;
    width: 100%;
    z-index: 1039;
}
.navbar-nav .dropdown-menu,
.dropdown-menu {
    z-index: 9999;
    min-width: 10rem;
    padding: 6px 0;
    margin-top: 0;
    background-color: #fff;
    border: 1px solid var(--eagle-border);
    border-top: 3px solid var(--eagle-blue);
    box-shadow: var(--eagle-shadow);
    --bs-dropdown-font-size: .735rem;
    --bs-dropdown-link-color: var(--eagle-ink);
    --bs-dropdown-link-hover-color: var(--eagle-blue);
    --bs-dropdown-link-hover-bg: #f0f6fd;
}
.dropdown-item {
    padding: 8px 13px;
    color: var(--eagle-ink);
    font-weight: 600;
}
.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-item:active {
    color: var(--eagle-blue);
    background-color: #f0f6fd;
}

/* Layout */
.container { max-width: 1240px; }
.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg {
    --bs-gutter-x: 1.1rem;
    --bs-gutter-y: 1.1rem;
}
.row { --bs-gutter-x: .85rem; --bs-gutter-y: .85rem; }
.tab-pane { padding-left: 0; padding-right: 0; margin-left: 0; margin-right: 0; }

/* Tabs */
.nav {
    --bs-nav-link-padding-x: .75rem;
    --bs-nav-link-padding-y: .55rem;
}
.nav-tabs {
    margin-top: 1rem;
    border-bottom: 1px solid var(--eagle-border);
    --bs-nav-tabs-border-width: 0;
    --bs-nav-tabs-link-active-color: var(--eagle-blue);
    --bs-nav-tabs-link-active-bg: #fff;
    --bs-nav-link-color: var(--eagle-ink);
}
.nav-tabs .nav-link {
    color: var(--eagle-ink);
    background: #eef3f8;
    border: 1px solid var(--eagle-border) !important;
    border-bottom: 0 !important;
    margin-right: 4px;
    font-weight: 700;
}
.nav-tabs .nav-link:hover,
.nav-tabs .nav-link.active {
    color: var(--eagle-blue);
    background: #fff;
    border-top: 3px solid var(--eagle-blue) !important;
}

/* Cards / panels */
.card,
.panel,
.box {
    background: var(--eagle-card);
    border: 1px solid var(--eagle-border);
    box-shadow: var(--eagle-soft-shadow);
    margin-bottom: 16px;
    overflow: visible;
    --bs-card-border-radius: 0;
    --bs-card-inner-border-radius: 0;
    --bs-card-border-width: 1px;
    --bs-card-cap-bg: var(--eagle-blue);
    --bs-card-cap-color: #fff;
}
.card:hover,
.panel:hover,
.box:hover { box-shadow: var(--eagle-shadow); }
.card-header,
.panel-heading {
    min-height: 38px;
    height: auto;
    margin-top: 0;
    padding: 10px 14px;
    color: #fff;
    background: linear-gradient(90deg, var(--eagle-blue), var(--eagle-blue-dark));
    border-bottom: 1px solid var(--eagle-blue-dark);
    font-size: .735rem;
    font-weight: 800;
    letter-spacing: .02em;
}
.card-body,
.panel-body,
.card-body-tag {
    background: #fff;
    border: 1px solid var(--eagle-border);
    border-top: 0;
    padding: 14px;
    color: var(--eagle-text);
}
.card-body-tag { height: 376px; flex: 1 1 auto; }
.card-header-small {
    height: auto;
    padding: 7px 12px;
    margin-top: 1rem;
    margin-bottom: 0;
    color: #fff;
    background: var(--eagle-navy);
    border: 1px solid var(--eagle-navy);
    font-weight: 800;
}
.list-group { border: 1px solid var(--eagle-border); }
.list-group-item { border-color: var(--eagle-border-soft); }

/* Forms */
.form-label { margin-bottom: .35rem; margin-top: .45rem; color: var(--eagle-ink); font-weight: 700; }
.form-control,
.form-select {
    border: 1px solid #cfd9e5;
    background-color: #fff;
    color: var(--eagle-ink);
    font-size: .735rem;
    min-height: 30px;
    box-shadow: none;
}
.form-control {
    padding: .36rem .45rem;
}
.form-control-sm {
    font-size: .72rem;
    min-height: 28px;
    height: 28px;
}
.form-select {
    background-size: 10px 8px;
    padding: .31rem 1.7rem .31rem .55rem;
}
.form-select-sm { font-size: .72rem; min-height: 28px; }
.form-control:focus,
.form-select:focus {
    border-color: var(--eagle-blue);
    box-shadow: inset 3px 0 0 var(--eagle-blue), 0 0 0 .12rem rgba(36, 127, 201, .12);
}
.input-group-text {
    background: #edf3f9;
    border-color: #cfd9e5;
    color: var(--eagle-ink);
    font-weight: 700;
}
.error { color: var(--eagle-red); font-weight: 600 !important; }

/* Buttons */
.btn {
    --bs-btn-border-radius: 0;
    --bs-btn-font-size: .715rem;
    --bs-btn-line-height: 1;
    margin: 0;
    padding: .42rem .65rem;
    font-weight: 800;
    letter-spacing: .015em;
    box-shadow: none;
}
.btn:hover { box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .12); }
.btn-block { width: 100%; }
.btn-help {
    background-color: var(--eagle-yellow);
    color: #fff;
    padding: 2px 5px;
    font-size: .5rem;
    border: 1px solid #e0a000;
}
.btn-help:hover { background-color: #e0a000; color: #fff; }
.btn-orange {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--eagle-orange);
    --bs-btn-border-color: var(--eagle-orange);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #cf6d17;
    --bs-btn-hover-border-color: #cf6d17;
    margin: 0;
}
.btn-red {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--eagle-red);
    --bs-btn-border-color: var(--eagle-red);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #cc1919;
    --bs-btn-hover-border-color: #cc1919;
    margin: 0;
}
.btn-green {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--eagle-green);
    --bs-btn-border-color: var(--eagle-green);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #4fa428;
    --bs-btn-hover-border-color: #4fa428;
    margin: 0;
}
.btn-orange:hover,
.btn-red:hover,
.btn-green:hover { color: #fff; }

/* Badges */
.badge-large {
    --bs-badge-border-radius: 0;
    --bs-badge-padding-x: .75rem;
    --bs-badge-padding-y: .42rem;
    --bs-badge-font-size: .735rem;
    --bs-badge-font-weight: 700;
    --bs-badge-color: #fff;
    --bs-badge-line-height: 1;
    width: 100%;
    margin-bottom: 1rem;
    background: var(--eagle-orange) !important;
}
.badge-small { --bs-badge-border-radius: 0; }

/* Tables and DataTables */
.table,
table.dataTable {
    width: 100% !important;
    border-collapse: collapse !important;
    border: 1px solid var(--eagle-border);
    background: #fff;
    color: var(--eagle-text);
    font-size: .715rem;
}
thead,
tbody,
tfoot,
tr,
td,
th { border-style: solid; }
.table > :not(caption) > * > * {
    padding: .38rem .55rem;
    border-color: var(--eagle-border-soft);
}
.table thead th,
table.dataTable thead th,
table.dataTable thead td {
    background: #eaf2fb;
    color: var(--eagle-navy);
    border-bottom: 2px solid var(--eagle-blue) !important;
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .035em;
    text-transform: uppercase;
    white-space: nowrap;
}
table.dataTable tfoot th,
table.dataTable tfoot td {
    background: #f7f9fc;
    border-top: 2px solid var(--eagle-border) !important;
    color: var(--eagle-navy);
    font-weight: 800;
}
.table tbody td,
table.dataTable tbody td {
    border-bottom: 1px solid var(--eagle-border-soft);
    vertical-align: middle;
}
.table-hover tbody tr:hover,
table.dataTable tbody tr:hover {
    background-color: #f4f9ff;
}
.dataTables_wrapper { overflow-x: auto; }
div.dataTables_wrapper div.dataTables_info { font-size: .68rem; color: var(--eagle-muted); }
div.dataTables_wrapper div.dataTables_filter input,
div.dataTables_wrapper div.dataTables_length select {
    border: 1px solid #cfd9e5;
    min-height: 28px;
}
.pagination { --bs-pagination-font-size: .68rem; --bs-pagination-border-radius: 0; }
.page-link,
.pagination .page-link {
    color: var(--eagle-blue);
    border-color: var(--eagle-border);
}
.page-link.active,
.active > .page-link {
    color: #fff;
    background-color: var(--eagle-blue);
    border-color: var(--eagle-blue);
}

/* Datepicker */
.datepicker {
    z-index: 9999 !important;
    margin-top: 60px;
    border: 1px solid var(--eagle-border);
    box-shadow: var(--eagle-shadow);
}
.datepicker .datepicker-switch {
    background: var(--eagle-blue);
    color: #fff;
}
.datepicker .datepicker-switch:hover,
.datepicker .next:hover,
.datepicker .prev:hover,
.datepicker tfoot tr th:hover {
    background: var(--eagle-blue-dark);
    color: #fff;
}
.datepicker table tr td.today,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today.disabled:hover,
.datepicker table tr td.today:hover {
    background-color: #d9ebfa;
    background-image: none;
    color: var(--eagle-ink);
}
.datepicker table tr td.active.active,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover.active,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active:active,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active:hover:active {
    background-color: #ccefc0;
    background-image: none;
    color: var(--eagle-ink);
}

/* Modals / offcanvas / alerts */
.modal-header {
    min-height: 40px;
    background: linear-gradient(90deg, var(--eagle-blue), var(--eagle-blue-dark));
    border: 0;
    color: #fff;
}
.modal-footer {
    background-color: #fff;
    border-top: 1px solid var(--eagle-border);
}
.modal-content {
    border: 1px solid var(--eagle-border);
    box-shadow: var(--eagle-shadow);
}
.modal-title { font-size: .76rem; color: #fff; font-weight: 800; }
.offcanvas {
    max-width: 100%;
    width: 800px !important;
    border-left: 1px solid var(--eagle-border);
    box-shadow: var(--eagle-shadow);
}
.offcanvas-header {
    background-color: var(--eagle-yellow);
    color: #fff;
    border-bottom: 1px solid #e0a000;
}
.custom-tooltip { background-color: #fff; }
.tooltip-inner {
    --tooltip-bg: #fff;
    background-color: var(--tooltip-bg);
    color: var(--eagle-text);
    border: none;
    /* border: 1px solid var(--eagle-border);*/
    font-size: .735rem;
    text-align: left;
}

/* SweetAlert */
.swal2-popup {
    width: 240px;
    max-width: 240px;
    min-height: 120px;
    max-height: none;
    font-size: .735rem;
    border: 1px solid var(--eagle-border);
    box-shadow: var(--eagle-shadow);
}
.swal2-container .swal2-styled.swal2-confirm,
div:where(.swal2-container) button:where(.swal2-styled).swal2-confirm {
    border: 0;
    background: var(--eagle-green);
    color: #fff;
    font-size: .8rem;
    padding: .35rem .7rem;
}
.swal2-container .swal2-styled.swal2-cancel {
    background-color: var(--eagle-red);
    color: #fff;
    padding: .35rem .7rem;
}
.swal2-container .swal2-html-container { font-size: .735rem; }

/* Login */
.log-in-form {
    width: 25rem;
    margin: 3.75rem;
    padding: 22px;
    background-color: #fff;
    border: 1px solid var(--eagle-border);
    box-shadow: var(--eagle-shadow);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    flex-wrap: nowrap;
}
.login { padding: 1rem; }
.btn-login { margin-top: 1rem; margin-bottom: 1rem; }

/* Floorplan / charts */
#floorplanCanvas { border: 0 !important; }
.apexcharts-text tspan { font-size: 10.5px; }
.apexcharts-legend-text { font-size: 10.5px !important; }
text-barcode { color: var(--eagle-text); }
#overlay {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, .5);
    z-index: 2;
    cursor: pointer;
}

/* Help/chat */
#chat-icon {
    position: fixed;
    right: 0;
    bottom: 10px;
    cursor: pointer;
    z-index: 1000;
}
#chat-icon img {
    width: 50px;
    height: 50px;
    border-radius: 0 !important;
    border: 2px solid #ccc;
}
#chat-container {
    display: none;
    position: fixed;
    bottom: 70px;
    right: 20px;
    z-index: 1000;
}
#chat-box {
    height: 200px;
    overflow-y: auto;
    border-bottom: 1px solid #ccc;
}
#user-input {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 10px;
}
#user-input input { flex-grow: 1; margin-right: 10px; }

/* TinyMCE */
.tox-tinymce {
    border: 1px solid var(--eagle-border) !important;
    box-shadow: none;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    font-family: var(--bs-body-font-family);
    overflow: hidden;
    position: relative;
    visibility: inherit !important;
}

/* Select2 */
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
    background-color: #fff;
    border: 1px solid #cfd9e5;
    min-height: 30px;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #eaf2fb;
    border: 1px solid var(--eagle-border);
    color: var(--eagle-ink);
    margin-right: 5px;
    margin-top: 5px;
    padding: 0 5px;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__display {
    cursor: default;
    padding-left: 12px;
    padding-right: 5px;
}
.select2-container--default .select2-search--inline .select2-search__field {
    background: transparent;
    border: none;
    border-bottom: solid 1px var(--eagle-border) !important;
    outline: 0;
    box-shadow: none;
    -webkit-appearance: textfield;
    margin-top: 10px;
}
.select2-container--default.select2-container--focus .select2-selection--multiple {
    border: 1px solid var(--eagle-blue) !important;
    box-shadow: inset 3px 0 0 var(--eagle-blue);
}

/* Responsive */
@media (max-width: 991.98px) {
    .navbar-collapse {
        background: #fff;
        border-top: 1px solid var(--eagle-border);
        padding-bottom: 8px;
    }
    .navbar-dark .navbar-nav .nav-link,
    .navbar .navbar-nav .nav-link {
        padding: 10px 12px;
        border-bottom: 0;
        border-left: 3px solid transparent;
    }
    .navbar-dark .navbar-nav .nav-link:hover,
    .navbar .navbar-nav .nav-link:hover,
    .navbar-dark .navbar-nav .nav-link.active,
    .navbar .navbar-nav .nav-link.active {
        border-left-color: var(--eagle-blue);
    }
    .navbar h6 { margin: 8px 0 0; }
    .container,
    .container-fluid,
    .container-xxl,
    .container-xl,
    .container-lg { --bs-gutter-x: .75rem; }
}
