/* ==========================================================================
   Site.Modern.css — UI modernization overrides for Bootstrap 3 Spacelab
   Loaded after Site.css. Does not change functionality or color scheme.
   ========================================================================== */

/* --- Global --- */
a,
.btn,
.form-control,
.panel,
.nav > li > a,
.dropdown-menu,
.modal-content,
.breadcrumb {
    transition: all 0.2s ease;
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    letter-spacing: -0.01em;
}

/* --- Panels → Cards --- */
.panel {
    border: none;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.06);
}

.panel-default > .panel-heading {
    background-color: #fff;
    background-image: none;
    border-bottom: 1px solid #eef0f2;
    border-radius: 8px 8px 0 0;
    font-weight: 600;
}

.panel-body {
    border-radius: 0 0 8px 8px;
}

.panel-footer {
    background-color: #fafbfc;
    background-image: none;
    border-top: 1px solid #eef0f2;
    border-radius: 0 0 8px 8px;
}

/* --- Navbar + Footer --- */
.navbar-default {
    background-color: #ffffff;
    background-image: none;
    border: none;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.navbar-default .navbar-nav > li > a {
    text-transform: uppercase;
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 0.04em;
}

.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus,
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
    background-color: #f5f6f8;
    background-image: none;
    color: #474949;
}

.navbar-default .dropdown-menu {
    border: 1px solid #e8eaed;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    padding: 4px 0;
}

.navbar-default .dropdown-menu > li > a {
    padding: 8px 18px;
    font-size: 13px;
}

.navbar-default .dropdown-menu > li > a:hover {
    background-color: #f5f6f8;
    color: #474949;
}

.navbar-fixed-bottom {
    background-color: #ffffff;
    background-image: none;
    border: none;
    box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.06);
}

/* --- Buttons --- */
.btn {
    background-image: none !important;
    border-radius: 6px;
    font-weight: 500;
    text-shadow: none !important;
    box-shadow: none;
}

.btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.btn:active {
    transform: translateY(0);
    box-shadow: none;
}

.btn-default {
    border-color: #d2d6dc;
}

.btn-default:hover {
    border-color: #bcc1c8;
    background-color: #f5f6f8;
    color: #474949;
}

/* --- Form Inputs --- */
.form-control {
    border-radius: 6px;
    border-color: #d2d6dc;
    box-shadow: none;
}

/* Breathing room between label and input inside form-groups */
.form-group > label {
    margin-bottom: 5px;
}

.form-control:focus {
    border-color: #446e9b;
    box-shadow: 0 0 0 3px rgba(68, 110, 155, 0.15);
}

/* --- Bootstrap-select fix: style as form input, not dark button --- */
.bootstrap-select .btn-default {
    background-color: #fff !important;
    background-image: none !important;
    border: 1px solid #d2d6dc;
    border-radius: 6px;
    color: #474949;
    font-weight: normal;
    text-shadow: none !important;
    box-shadow: none;
}

.bootstrap-select .btn-default:hover,
.bootstrap-select .btn-default:focus {
    background-color: #fff !important;
    border-color: #446e9b;
    box-shadow: 0 0 0 3px rgba(68, 110, 155, 0.15);
    transform: none;
}

.bootstrap-select .dropdown-menu {
    border-radius: 6px;
    border-color: #e8eaed;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* --- Tables --- */
.table {
    border-collapse: separate;
    border-spacing: 0;
}

.table > thead > tr > th {
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: #6b7280;
    border-bottom: 2px solid #e8eaed;
}

.table > tbody > tr > td {
    border-top-color: #eef0f2;
}

.table-hover > tbody > tr:hover > td,
.table-hover > tbody > tr:hover > th {
    background-color: #f8f9fb;
}

.table > tbody > tr > td,
.table > thead > tr > th {
    vertical-align: middle;
}

/* --- Breadcrumbs --- */
.breadcrumb {
    background-color: #f8f9fb;
    border: none;
    border-radius: 6px;
    padding: 10px 16px;
    margin-bottom: 20px;
    font-size: 13px;
}

.breadcrumb > li + li:before {
    content: "\203A";
    padding: 0 8px;
    color: #9ca3af;
    font-size: 15px;
}

.breadcrumb > .active {
    color: #474949;
    font-weight: 600;
}

.breadcrumb > li > a {
    color: #446e9b;
}

.breadcrumb > li > a:hover {
    color: #3399f3;
    text-decoration: none;
}

/* --- Modals --- */
.modal-content {
    border: none;
    border-radius: 10px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
}

.modal-header {
    border-bottom: 1px solid #eef0f2;
    border-radius: 10px 10px 0 0;
}

.modal-footer {
    border-top: 1px solid #eef0f2;
    border-radius: 0 0 10px 10px;
}

/* --- Tabs --- */
.nav-tabs > li > a {
    border-radius: 6px 6px 0 0;
}

.tab-content {
    border-color: #e8eaed;
    border-radius: 0 0 6px 6px;
}

/* --- Pagination --- */
.pagination > li > a,
.pagination > li > span {
    border-color: #e8eaed;
    border-radius: 0;
}

.pagination > li:first-child > a,
.pagination > li:first-child > span {
    border-radius: 6px 0 0 6px;
}

.pagination > li:last-child > a,
.pagination > li:last-child > span {
    border-radius: 0 6px 6px 0;
}

.pagination > li > a:hover {
    background-color: #f5f6f8;
}

/* --- Utilities --- */
.clickable:hover,
.clickable > label:hover {
    opacity: 0.8;
}

.img-social-media:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.field-validation-error {
    display: inline-block;
    margin-top: 4px;
}

/* --- Well (used in some pages) --- */
.well {
    border: none;
    border-radius: 8px;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06);
}

/* --- Keyboard focus ring --- */
.keyboard-nav *:focus {
    outline: 2px solid #446e9b;
    outline-offset: 2px;
}

/* --- Panel animation initial state (set by JS) --- */
.panel.modern-animate {
    opacity: 0;
    transform: translateY(8px);
}
