/* Global visual theme layer — applied on top of Bootstrap 3 + the app's existing
   style.css/screen.css/menu_vertical.css. Purely cosmetic overrides of shared
   component classes (buttons, tables, panels, forms, modals, page headers) so
   every page matches the sidebar's dark-navy/orange look. No markup assumptions
   beyond the Bootstrap classes already used throughout sis/*.php. */

:root {
    --brand-navy-dark: #101826;
    --brand-navy: #1c2a4a;
    --brand-navy-2: #2c3d68;
    --brand-accent: #ff4500;
    --brand-accent-dark: #e03e00;
    --brand-border: #e7ebf1;
    --brand-bg: #f4f6fa;
    --brand-muted: #6b7280;
}

body {
    background: var(--brand-bg);
    color: #2c3444;
}

/* Top header bar (sis/header.php) */
.head {
    background: linear-gradient(135deg, var(--brand-navy-dark) 0%, var(--brand-navy-2) 100%) !important;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 2px 10px rgba(16, 24, 38, .15);
}

/* Page headers */
.page-header {
    border-bottom: 2px solid var(--brand-border);
    padding-bottom: 12px;
}
.page-header h3,
.page-header .h3 {
    color: var(--brand-navy) !important;
    font-weight: 700;
}
.page-header h4,
.page-header .h4 {
    color: var(--brand-accent) !important;
    font-weight: 700;
}

/* Buttons */
.btn {
    border-radius: 8px;
    font-weight: 600;
    letter-spacing: .2px;
    box-shadow: 0 1px 2px rgba(16, 24, 38, .08);
    transition: filter .15s, box-shadow .15s, transform .05s;
}
.btn:hover {
    filter: brightness(1.06);
    box-shadow: 0 4px 10px rgba(16, 24, 38, .12);
}
.btn:active {
    transform: translateY(1px);
}
.btn-default {
    background: #fff;
    border-color: var(--brand-border);
    color: #3a4256;
}
.btn-default:hover {
    background: #f4f6fa;
}
.btn-primary {
    background-color: var(--brand-navy);
    border-color: var(--brand-navy);
}
.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--brand-navy-2);
    border-color: var(--brand-navy-2);
}
.btn-orangered {
    border-radius: 8px;
}

/* Forms */
.form-control {
    border-radius: 8px;
    border: 1px solid var(--brand-border);
    background: #f8f9fb;
    box-shadow: none;
    transition: border-color .15s, box-shadow .15s, background .15s;
}
.form-control:focus {
    border-color: var(--brand-accent);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(255, 69, 0, .12);
}
.input-group-addon {
    border-radius: 8px;
    background: #eef0f4;
    border: 1px solid var(--brand-border);
    color: var(--brand-muted);
}

/* Panels / callouts / wells */
.panel {
    border-radius: 10px;
    border: 1px solid var(--brand-border);
    box-shadow: 0 1px 3px rgba(16, 24, 38, .06);
}
.panel-heading {
    border-radius: 9px 9px 0 0 !important;
    background: #f8f9fb;
}
.bs-callout {
    border-radius: 10px;
    box-shadow: 0 1px 3px rgba(16, 24, 38, .06);
    background: #fff;
}
.well {
    border-radius: 10px;
    background: #f8f9fb;
    border: 1px solid var(--brand-border);
    box-shadow: none;
}

/* Tables */
.table {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(16, 24, 38, .06);
}
.table > thead > tr > th {
    background: var(--brand-navy);
    color: #fff;
    border-bottom: none;
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .4px;
    vertical-align: middle;
}
.table > tbody > tr > td {
    vertical-align: middle;
    border-top: 1px solid #eef0f4;
}
.table-striped > tbody > tr:nth-of-type(odd) {
    background: #fafbfd;
}
.table-hover > tbody > tr:hover {
    background: #fff5ef;
}

/* DataTables controls (base jquery.dataTables.min.css, no bootstrap css variant loaded) */
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
    border-radius: 6px;
    border: 1px solid var(--brand-border);
    padding: 4px 8px;
}
.dataTables_wrapper .dataTables_info {
    color: var(--brand-muted);
}
.dataTables_wrapper .dataTables_paginate .paginate_button {
    border-radius: 6px !important;
    border: 1px solid transparent !important;
    margin-left: 2px;
    color: var(--brand-navy) !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: var(--brand-navy) !important;
    border-color: var(--brand-navy) !important;
    color: #fff !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    background: var(--brand-accent) !important;
    border-color: var(--brand-accent) !important;
    color: #fff !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover {
    background: transparent !important;
    color: #c2c8d4 !important;
}

/* In-page sub navigation (e.g. Ficha/Serviços/Pagamento tabs) */
#custom-bootstrap-menu.navbar-default {
    background: var(--brand-navy) !important;
    border-radius: 10px;
    box-shadow: 0 1px 3px rgba(16, 24, 38, .08);
}
#custom-bootstrap-menu.navbar-default .navbar-nav > li > a {
    color: rgba(255, 255, 255, .75) !important;
    background: transparent !important;
}
#custom-bootstrap-menu.navbar-default .navbar-nav > li > a:hover,
#custom-bootstrap-menu.navbar-default .navbar-nav > li > a:focus {
    color: #fff !important;
    background: rgba(255, 255, 255, .08) !important;
}
#custom-bootstrap-menu.navbar-default .navbar-nav > .active > a,
#custom-bootstrap-menu.navbar-default .navbar-nav > .active > a:hover,
#custom-bootstrap-menu.navbar-default .navbar-nav > .active > a:focus {
    color: #fff !important;
    background: var(--brand-accent) !important;
    border-radius: 6px;
}

/* Modals */
.modal-content {
    border-radius: 12px;
    overflow: hidden;
    border: none;
    box-shadow: 0 20px 60px rgba(16, 24, 38, .25);
}
.modal-header {
    border-bottom: 1px solid rgba(255, 255, 255, .15);
}

/* Alerts */
.alert {
    border-radius: 10px;
    border: none;
    box-shadow: 0 1px 3px rgba(16, 24, 38, .05);
}

/* Nav-tabs / nav-pills used on a few pages */
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
    border-top: 2px solid var(--brand-accent);
    color: var(--brand-navy);
    font-weight: 600;
}
.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
    background: var(--brand-navy);
}

/* Badges / labels */
.label-primary {
    background: var(--brand-navy);
}
.badge {
    background: var(--brand-accent);
}
