/**
 * SICOVI Theme (Modernization Only)
 * Base visual tokens + safe overrides for Bootstrap 3.1.1 / Kendo UI.
 */
:root {
    --sicovi-primary: #163172;
    --sicovi-primary-soft: #1e3f8b;
    --sicovi-primary-dark: #0f2454;
    --sicovi-accent: #00a8e6;
    --sicovi-accent-dark: #008bbd;
    --sicovi-sidebar-bg: #0F224F;
    --sicovi-sidebar-hover-bg: #0B3F73;
    --sicovi-sidebar-active-bg: #005F8F;
    --sicovi-sidebar-submenu-bg: #0C244F;
    --sicovi-sidebar-border: #00A8E6;
    --sicovi-success: #7bc220;
    --sicovi-success-dark: #68a61b;
    --sicovi-danger: #d64545;
    --sicovi-warning: #f3a536;
    --sicovi-bg: #f4f7fb;
    --sicovi-surface: #ffffff;
    --sicovi-text: #24324a;
    --sicovi-muted: #6e7c95;
    --sicovi-border: #d9e2ef;
    --sicovi-radius-sm: 6px;
    --sicovi-radius-md: 10px;
    --sicovi-radius-lg: 14px;
    --sicovi-shadow-sm: 0 2px 10px rgba(12, 30, 66, 0.08);
    --sicovi-shadow-md: 0 10px 30px rgba(12, 30, 66, 0.12);
    --sicovi-font: 'Poppins', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

html,
body {
    font-family: var(--sicovi-font);
}

body {
    color: var(--sicovi-text);
    background-color: var(--sicovi-bg);
}

a {
    color: var(--sicovi-primary-soft);
}

a:hover,
a:focus {
    color: var(--sicovi-accent-dark);
}

/* Compact grid/form behavior preserved from legacy inline styles */
.col-xs-1,
.col-sm-1,
.col-md-1,
.col-lg-1,
.col-xs-2,
.col-sm-2,
.col-md-2,
.col-lg-2,
.col-xs-3,
.col-sm-3,
.col-md-3,
.col-lg-3,
.col-xs-4,
.col-sm-4,
.col-md-4,
.col-lg-4,
.col-xs-5,
.col-sm-5,
.col-md-5,
.col-lg-5,
.col-xs-6,
.col-sm-6,
.col-md-6,
.col-lg-6,
.col-xs-7,
.col-sm-7,
.col-md-7,
.col-lg-7,
.col-xs-8,
.col-sm-8,
.col-md-8,
.col-lg-8,
.col-xs-9,
.col-sm-9,
.col-md-9,
.col-lg-9,
.col-xs-10,
.col-sm-10,
.col-md-10,
.col-lg-10,
.col-xs-11,
.col-sm-11,
.col-md-11,
.col-lg-11,
.col-xs-12,
.col-sm-12,
.col-md-12,
.col-lg-12 {
    padding-left: 6px !important;
    padding-right: 6px !important;
}

.form-control {
    min-height: 36px;
    padding: 6px 10px !important;
    border-color: var(--sicovi-border);
    border-radius: var(--sicovi-radius-sm);
    color: var(--sicovi-text);
    box-shadow: none;
}

.form-control.k-widget {
    padding: 0 !important;
}

.form-control:focus,
.btn:focus,
.btn:active:focus {
    border-color: rgba(0, 168, 230, 0.65);
    box-shadow: 0 0 0 3px rgba(0, 168, 230, 0.15);
    outline: 0;
}

.form-group {
    margin-bottom: 10px;
}

.k-combobox {
    width: 100% !important;
}

body.modal-open .datepicker {
    z-index: 1200 !important;
}

.ui-widget-overlay {
    background-image: none !important;
    background-color: rgba(10, 20, 38, 0.25);
    z-index: 1151 !important;
}

.ui-widget-overlay > img {
    position: absolute;
    top: 45%;
}

/* Topbar / Sidebar */
#wrapper {
    background-color: var(--sicovi-primary-dark);
}

#topbar .navbar-header {
    background: linear-gradient(150deg, var(--sicovi-primary) 0%, var(--sicovi-primary-dark) 100%);
}

#topbar .topbar-main {
    background: var(--sicovi-primary);
}

#topbar .navbar-top-links > li > a,
#topbar .topbar-main ul.nav.navbar-nav > li > a {
    color: #f2f6ff;
}

#topbar .navbar-top-links > li > a:hover,
#topbar .navbar-top-links > li > a:focus,
#topbar .navbar-top-links > li.open > a,
#topbar .topbar-main ul.nav.navbar-nav > li.active > a,
#topbar .topbar-main ul.nav.navbar-nav > li:hover > a,
#topbar .topbar-main ul.nav.navbar-nav > li.open > a {
    background: rgba(255, 255, 255, 0.12) !important;
    color: #ffffff !important;
}

#topbar .navbar-top-links .dropdown-menu > li > a,
#topbar .topbar-main .dropdown-menu > li > a,
#topbar .topbar-main ul.nav.navbar-nav > li.active .dropdown-menu > li > a,
#topbar .topbar-main ul.nav.navbar-nav > li:hover .dropdown-menu > li > a,
#topbar .topbar-main ul.nav.navbar-nav > li.open .dropdown-menu > li > a {
    color: var(--sicovi-text) !important;
    background: var(--sicovi-surface) !important;
}

#topbar .navbar-top-links .dropdown-menu > li > a:hover,
#topbar .navbar-top-links .dropdown-menu > li > a:focus,
#topbar .navbar-top-links .dropdown-menu > .active > a,
#topbar .navbar-top-links .dropdown-menu > .active > a:hover,
#topbar .navbar-top-links .dropdown-menu > .active > a:focus,
#topbar .topbar-main .dropdown-menu > li > a:hover,
#topbar .topbar-main .dropdown-menu > li > a:focus,
#topbar .topbar-main .dropdown-menu > .active > a,
#topbar .topbar-main .dropdown-menu > .active > a:hover,
#topbar .topbar-main .dropdown-menu > .active > a:focus,
#topbar .topbar-main ul.nav.navbar-nav > li.active .dropdown-menu > li > a:hover,
#topbar .topbar-main ul.nav.navbar-nav > li.active .dropdown-menu > li > a:focus,
#topbar .topbar-main ul.nav.navbar-nav > li.active .dropdown-menu > .active > a,
#topbar .topbar-main ul.nav.navbar-nav > li.active .dropdown-menu > .active > a:hover,
#topbar .topbar-main ul.nav.navbar-nav > li.active .dropdown-menu > .active > a:focus,
#topbar .topbar-main ul.nav.navbar-nav > li:hover .dropdown-menu > li > a:hover,
#topbar .topbar-main ul.nav.navbar-nav > li:hover .dropdown-menu > li > a:focus,
#topbar .topbar-main ul.nav.navbar-nav > li:hover .dropdown-menu > .active > a,
#topbar .topbar-main ul.nav.navbar-nav > li:hover .dropdown-menu > .active > a:hover,
#topbar .topbar-main ul.nav.navbar-nav > li:hover .dropdown-menu > .active > a:focus,
#topbar .topbar-main ul.nav.navbar-nav > li.open .dropdown-menu > li > a:hover,
#topbar .topbar-main ul.nav.navbar-nav > li.open .dropdown-menu > li > a:focus,
#topbar .topbar-main ul.nav.navbar-nav > li.open .dropdown-menu > .active > a,
#topbar .topbar-main ul.nav.navbar-nav > li.open .dropdown-menu > .active > a:hover,
#topbar .topbar-main ul.nav.navbar-nav > li.open .dropdown-menu > .active > a:focus {
    background: #eef6ff !important;
    color: var(--sicovi-primary-dark) !important;
}

#topbar .dropdown-menu > li > a i {
    color: inherit;
}

#sidebar,
.navbar-static-side {
    background: var(--sicovi-sidebar-bg);
}

.navbar-static-side ul li {
    border-bottom: 1px solid var(--sicovi-sidebar-border);
}

.navbar-static-side ul li a {
    color: #dce6ff;
    border-left: 3px solid transparent;
}

.navbar-static-side ul li a:hover,
.navbar-static-side ul li a:focus {
    background: var(--sicovi-sidebar-hover-bg);
    border-left-color: var(--sicovi-sidebar-border);
    color: #ffffff;
}

.navbar-static-side ul li.active > a {
    background: var(--sicovi-sidebar-active-bg);
    border-left-color: var(--sicovi-sidebar-border);
    color: #ffffff;
}

.navbar-static-side ul li .nav-second-level li a,
.navbar-static-side ul li .nav-second-level li .nav-third-level li a {
    background: var(--sicovi-sidebar-submenu-bg);
    color: #d5e3ff;
}

.navbar-static-side ul li .nav-second-level li.active a,
.navbar-static-side ul li .nav-second-level li:hover a,
.navbar-static-side ul li .nav-second-level li:focus a,
.navbar-static-side ul li .nav-second-level li .nav-third-level li.active a,
.navbar-static-side ul li .nav-second-level li .nav-third-level li:hover a,
.navbar-static-side ul li .nav-second-level li .nav-third-level li:focus a {
    color: #ffffff;
    background: var(--sicovi-sidebar-active-bg);
}

/* Content chrome */
#page-wrapper {
    background-color: var(--sicovi-bg);
}

.page-content {
    padding-top: 18px;
}

.portlet.box,
.panel,
.modal-content {
    border: 1px solid var(--sicovi-border);
    border-radius: var(--sicovi-radius-md);
    box-shadow: var(--sicovi-shadow-sm);
    background: var(--sicovi-surface);
}

.portlet > .portlet-header {
    background: linear-gradient(145deg, #fafdff 0%, #eff5ff 100%);
    border-bottom: 1px solid var(--sicovi-border);
}

.portlet > .portlet-header .caption {
    color: var(--sicovi-primary);
    font-weight: 600;
    line-height: 35px !important;
}

.portlet > .portlet-header .actions {
    margin-top: 0 !important;
}

.portlet > .portlet-header .actions > .btn.btn-xs {
    margin-top: 5px !important;
}

/* Buttons */
.btn {
    border-radius: var(--sicovi-radius-sm);
    border-width: 1px;
    font-weight: 500;
}

.btn-primary {
    background-color: var(--sicovi-primary);
    border-color: var(--sicovi-primary);
    color: #ffffff;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: var(--sicovi-primary-dark);
    border-color: var(--sicovi-primary-dark);
    color: #ffffff;
}

.btn-success {
    background-color: var(--sicovi-success);
    border-color: var(--sicovi-success);
    color: #ffffff;
}

.btn-success:hover,
.btn-success:focus,
.btn-success:active {
    background-color: var(--sicovi-success-dark);
    border-color: var(--sicovi-success-dark);
    color: #ffffff;
}

.btn-info {
    background-color: var(--sicovi-accent);
    border-color: var(--sicovi-accent);
    color: #ffffff;
}

.btn-info:hover,
.btn-info:focus,
.btn-info:active {
    background-color: var(--sicovi-accent-dark);
    border-color: var(--sicovi-accent-dark);
    color: #ffffff;
}

body.sicovi-modern-ui .btn-default,
body.sicovi-modern-ui .btn-secondary,
body.sicovi-modern-ui .btn-gray {
    background-color: #f6f9fe;
    border-color: #d4deeb;
    color: var(--sicovi-text);
    box-shadow: none;
}

body.sicovi-modern-ui .btn-default:hover,
body.sicovi-modern-ui .btn-default:focus,
body.sicovi-modern-ui .btn-default:active,
body.sicovi-modern-ui .btn-secondary:hover,
body.sicovi-modern-ui .btn-secondary:focus,
body.sicovi-modern-ui .btn-secondary:active,
body.sicovi-modern-ui .btn-gray:hover,
body.sicovi-modern-ui .btn-gray:focus,
body.sicovi-modern-ui .btn-gray:active {
    background-color: #edf3fb;
    border-color: #c8d6e8;
    color: var(--sicovi-primary-dark);
}

/* Alerts */
.alert {
    border-radius: var(--sicovi-radius-sm);
}

.alert.alert-success,
.alert.success {
    background-color: rgba(123, 194, 32, 0.16);
    border-color: rgba(123, 194, 32, 0.42);
    color: #466f16;
}

.alert.alert-danger,
.alert.error,
.alert.danger {
    background-color: rgba(214, 69, 69, 0.13);
    border-color: rgba(214, 69, 69, 0.38);
    color: #872727;
}

/* Modal transitions: preserve old no-animation behavior */
.modal.fade .modal-dialog {
    transition: none !important;
    transform: translate(0, 0) !important;
}

.modal-header,
.modal-footer {
    border-color: var(--sicovi-border);
}

/* Legacy UI bridge: normalize 960-grid views and mixed modal shells */
body.sicovi-modern-ui .portlet-body > .grid_7,
body.sicovi-modern-ui .portlet-body > .grid_8,
body.sicovi-modern-ui .portlet-body > .grid_12 {
    float: none !important;
    width: 100% !important;
    margin: 0 0 12px;
    padding-left: 0;
    padding-right: 0;
}

body.sicovi-modern-ui .portlet-body > .grid_7 .alert,
body.sicovi-modern-ui .portlet-body > .grid_8 .alert,
body.sicovi-modern-ui .portlet-body > .grid_12 .alert {
    margin-bottom: 0;
}

body.sicovi-modern-ui .portlet-body .alert.success,
body.sicovi-modern-ui .portlet-body .alert.error,
body.sicovi-modern-ui .portlet-body .alert.alert-success,
body.sicovi-modern-ui .portlet-body .alert.alert-danger {
    box-shadow: var(--sicovi-shadow-sm);
}

body.sicovi-modern-ui .portlet-body > .grid_7 .k-grid,
body.sicovi-modern-ui .portlet-body > .grid_8 .k-grid,
body.sicovi-modern-ui .portlet-body > .grid_12 .k-grid {
    border-radius: var(--sicovi-radius-md);
    overflow: hidden;
    box-shadow: var(--sicovi-shadow-sm);
    border: 1px solid #dbe4f2;
    background: #fff;
}

body.sicovi-modern-ui .portlet-body > .grid_7 .k-grid-header,
body.sicovi-modern-ui .portlet-body > .grid_8 .k-grid-header,
body.sicovi-modern-ui .portlet-body > .grid_12 .k-grid-header {
    background: linear-gradient(180deg, #f8fbff 0%, #eef4ff 100%);
}

body.sicovi-modern-ui .portlet-body > .grid_7 .k-grid-header th.k-header,
body.sicovi-modern-ui .portlet-body > .grid_8 .k-grid-header th.k-header,
body.sicovi-modern-ui .portlet-body > .grid_12 .k-grid-header th.k-header {
    background: transparent;
    border-color: var(--sicovi-border) !important;
    color: #2f4068;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    padding: 11px 10px;
}

body.sicovi-modern-ui .portlet-body > .grid_7 .k-grid-content td,
body.sicovi-modern-ui .portlet-body > .grid_8 .k-grid-content td,
body.sicovi-modern-ui .portlet-body > .grid_12 .k-grid-content td {
    padding: 10px;
    border-color: #e8eef7;
    vertical-align: middle;
    transition: background-color 0.15s ease;
}

body.sicovi-modern-ui .portlet-body > .grid_7 .k-grid-content tr:nth-child(even) td,
body.sicovi-modern-ui .portlet-body > .grid_8 .k-grid-content tr:nth-child(even) td,
body.sicovi-modern-ui .portlet-body > .grid_12 .k-grid-content tr:nth-child(even) td {
    background-color: #fcfdff;
}

body.sicovi-modern-ui .portlet-body > .grid_7 .k-grid-content tr:hover td,
body.sicovi-modern-ui .portlet-body > .grid_8 .k-grid-content tr:hover td,
body.sicovi-modern-ui .portlet-body > .grid_12 .k-grid-content tr:hover td {
    background-color: rgba(0, 168, 230, 0.08);
}

body.sicovi-modern-ui .portlet-body > .grid_7 .k-pager-wrap,
body.sicovi-modern-ui .portlet-body > .grid_8 .k-pager-wrap,
body.sicovi-modern-ui .portlet-body > .grid_12 .k-pager-wrap {
    padding: 7px 10px;
    background: #fbfdff;
}

body.sicovi-modern-ui .portlet-body > .grid_7 .k-pager-wrap .k-link,
body.sicovi-modern-ui .portlet-body > .grid_7 .k-pager-numbers .k-link,
body.sicovi-modern-ui .portlet-body > .grid_7 .k-pager-wrap .k-state-selected,
body.sicovi-modern-ui .portlet-body > .grid_8 .k-pager-wrap .k-link,
body.sicovi-modern-ui .portlet-body > .grid_8 .k-pager-numbers .k-link,
body.sicovi-modern-ui .portlet-body > .grid_8 .k-pager-wrap .k-state-selected,
body.sicovi-modern-ui .portlet-body > .grid_12 .k-pager-wrap .k-link,
body.sicovi-modern-ui .portlet-body > .grid_12 .k-pager-numbers .k-link,
body.sicovi-modern-ui .portlet-body > .grid_12 .k-pager-wrap .k-state-selected {
    border-radius: 6px;
    border: 1px solid #d9e4f3;
}

body.sicovi-modern-ui .portlet-body .panel.panel-blue,
body.sicovi-modern-ui .portlet-body .panel.panel-primary,
body.sicovi-modern-ui .modal .modal-body .panel.panel-blue,
body.sicovi-modern-ui .modal .modal-body .panel.panel-primary {
    border: 1px solid var(--sicovi-border);
    border-radius: var(--sicovi-radius-md);
    box-shadow: var(--sicovi-shadow-sm);
    overflow: hidden;
    background: var(--sicovi-surface);
}

body.sicovi-modern-ui .portlet-body .panel.panel-blue > .panel-heading,
body.sicovi-modern-ui .portlet-body .panel.panel-primary > .panel-heading,
body.sicovi-modern-ui .modal .modal-body .panel.panel-blue > .panel-heading,
body.sicovi-modern-ui .modal .modal-body .panel.panel-primary > .panel-heading {
    padding: 11px 14px;
    font-size: 15px;
    font-weight: 600;
    color: var(--sicovi-primary-dark);
    background: linear-gradient(145deg, #fafdff 0%, #eff5ff 100%) !important;
    border-bottom: 1px solid var(--sicovi-border) !important;
}

body.sicovi-modern-ui .portlet-body .panel.panel-blue > .panel-body,
body.sicovi-modern-ui .portlet-body .panel.panel-primary > .panel-body,
body.sicovi-modern-ui .modal .modal-body .panel.panel-blue > .panel-body,
body.sicovi-modern-ui .modal .modal-body .panel.panel-primary > .panel-body {
    padding: 16px 16px 18px;
    background: var(--sicovi-surface);
}

body.sicovi-modern-ui .portlet-body .panel.panel-blue > .panel-body.pan,
body.sicovi-modern-ui .portlet-body .panel.panel-primary > .panel-body.pan,
body.sicovi-modern-ui .modal .modal-body .panel.panel-blue > .panel-body.pan,
body.sicovi-modern-ui .modal .modal-body .panel.panel-primary > .panel-body.pan {
    padding: 16px 16px 18px;
}

body.sicovi-modern-ui .portlet-body .panel.panel-blue .form-body.pal,
body.sicovi-modern-ui .portlet-body .panel.panel-primary .form-body.pal,
body.sicovi-modern-ui .modal .modal-body .panel.panel-blue .form-body.pal,
body.sicovi-modern-ui .modal .modal-body .panel.panel-primary .form-body.pal,
body.sicovi-modern-ui .portlet-body .panel.panel-blue .form-actions.pal,
body.sicovi-modern-ui .portlet-body .panel.panel-primary .form-actions.pal,
body.sicovi-modern-ui .modal .modal-body .panel.panel-blue .form-actions.pal,
body.sicovi-modern-ui .modal .modal-body .panel.panel-primary .form-actions.pal {
    padding-left: 0;
    padding-right: 0;
}

body.sicovi-modern-ui .portlet-body .panel.panel-blue .form-actions,
body.sicovi-modern-ui .portlet-body .panel.panel-primary .form-actions,
body.sicovi-modern-ui .modal .modal-body .panel.panel-blue .form-actions,
body.sicovi-modern-ui .modal .modal-body .panel.panel-primary .form-actions {
    margin: 18px -16px -18px;
    padding: 14px 16px 0;
    background: linear-gradient(180deg, rgba(242, 247, 255, 0) 0%, rgba(242, 247, 255, 0.95) 45%, #f4f8ff 100%);
    border-top: 1px solid #e2eaf5;
}

body.sicovi-modern-ui .portlet-body .panel.panel-blue .form-actions .btn,
body.sicovi-modern-ui .portlet-body .panel.panel-primary .form-actions .btn,
body.sicovi-modern-ui .modal .modal-body .panel.panel-blue .form-actions .btn,
body.sicovi-modern-ui .modal .modal-body .panel.panel-primary .form-actions .btn {
    min-width: 96px;
}

body.sicovi-modern-ui .modal .modal-dialog {
    margin: 24px auto;
}

body.sicovi-modern-ui .modal .modal-dialog .modal-content {
    border: 1px solid var(--sicovi-border) !important;
    border-radius: var(--sicovi-radius-md) !important;
    box-shadow: var(--sicovi-shadow-md) !important;
    overflow: hidden;
    background: var(--sicovi-surface);
}

body.sicovi-modern-ui .modal .modal-dialog .modal-content .modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 18px;
    background: linear-gradient(145deg, #fafdff 0%, #eff5ff 100%);
    border-bottom: 1px solid var(--sicovi-border);
}

body.sicovi-modern-ui .modal .modal-dialog .modal-content .modal-header.modal-header-primary {
    background: linear-gradient(145deg, #fafdff 0%, #edf4ff 100%) !important;
}

body.sicovi-modern-ui .modal .modal-dialog .modal-content .modal-header .modal-title {
    order: 1;
    flex: 1 1 auto;
    margin: 0;
    color: var(--sicovi-primary-dark);
    font-size: 17px;
    font-weight: 600;
    text-align: left;
}

body.sicovi-modern-ui .modal .modal-dialog .modal-content .modal-header.modal-header-primary .modal-title {
    color: var(--sicovi-primary-dark) !important;
}

body.sicovi-modern-ui .modal .modal-dialog .modal-content .modal-header .close {
    order: 2;
    flex: 0 0 auto;
    margin: 0 0 0 auto;
    color: var(--sicovi-muted);
    font-size: 28px;
    font-weight: 300;
    opacity: 0.9;
    text-shadow: none;
}

body.sicovi-modern-ui .modal .modal-dialog .modal-content .modal-header .close:hover,
body.sicovi-modern-ui .modal .modal-dialog .modal-content .modal-header .close:focus {
    color: var(--sicovi-primary-dark);
    opacity: 1;
    outline: none;
}

body.sicovi-modern-ui .modal .modal-dialog .modal-content .modal-body {
    padding: 18px !important;
    background: #fff;
}

body.sicovi-modern-ui .modal .modal-dialog .modal-content .modal-body > .form,
body.sicovi-modern-ui .modal .modal-dialog .modal-content .modal-body > .panel {
    margin-bottom: 0;
}

body.sicovi-modern-ui .modal .modal-dialog .modal-content .modal-footer {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px 18px 18px !important;
    background: #fff;
    border-top: 1px solid var(--sicovi-border);
}

body.sicovi-modern-ui .modal .modal-dialog .modal-content .modal-footer .btn,
body.sicovi-modern-ui .modal .modal-dialog .modal-content .modal-footer .btn-default,
body.sicovi-modern-ui .modal .modal-dialog .modal-content .modal-footer .btn-secondary,
body.sicovi-modern-ui .modal .modal-dialog .modal-content .modal-footer .btn-gray {
    min-width: 96px;
}

body.sicovi-modern-ui .modal .modal-dialog .modal-content .modal-footer .btn-default,
body.sicovi-modern-ui .modal .modal-dialog .modal-content .modal-footer .btn-secondary,
body.sicovi-modern-ui .modal .modal-dialog .modal-content .modal-footer .btn-gray {
    background-color: #f6f9fe;
    border-color: #d4deeb;
    color: var(--sicovi-text);
    box-shadow: none;
}

body.sicovi-modern-ui .modal .modal-dialog .modal-content .modal-footer .btn-default:hover,
body.sicovi-modern-ui .modal .modal-dialog .modal-content .modal-footer .btn-default:focus,
body.sicovi-modern-ui .modal .modal-dialog .modal-content .modal-footer .btn-default:active,
body.sicovi-modern-ui .modal .modal-dialog .modal-content .modal-footer .btn-secondary:hover,
body.sicovi-modern-ui .modal .modal-dialog .modal-content .modal-footer .btn-secondary:focus,
body.sicovi-modern-ui .modal .modal-dialog .modal-content .modal-footer .btn-secondary:active,
body.sicovi-modern-ui .modal .modal-dialog .modal-content .modal-footer .btn-gray:hover,
body.sicovi-modern-ui .modal .modal-dialog .modal-content .modal-footer .btn-gray:focus,
body.sicovi-modern-ui .modal .modal-dialog .modal-content .modal-footer .btn-gray:active {
    background-color: #edf3fb;
    border-color: #c8d6e8;
    color: var(--sicovi-primary-dark);
}

/* Kendo safe visual unification */
.k-widget,
.k-grid,
.k-window,
.k-input,
.k-textbox,
.k-dropdown,
.k-picker-wrap,
.k-combobox,
.k-multiselect {
    font-family: var(--sicovi-font);
}

.k-grid,
.k-window-content,
.k-panelbar,
.k-list-container {
    border-color: var(--sicovi-border) !important;
}

.k-grid-header,
.k-grid-header-wrap,
.k-grid-toolbar,
.k-pager-wrap {
    border-color: var(--sicovi-border) !important;
    background: #f8fbff;
}

.k-grid tr.k-alt {
    background-color: rgba(22, 49, 114, 0.04);
}

.k-grid tbody tr:hover,
.k-grid tbody tr.k-state-hover {
    background-color: rgba(0, 168, 230, 0.1) !important;
}

.k-grid-filter.k-state-active {
    background-color: var(--sicovi-primary) !important;
    color: #fff !important;
}

/* Layout cajero */
body.layout-cajero.sidebar-icons #wrapper #page-wrapper {
    margin-left: 0;
}

/* Login modern */
#signin-page {
    background: radial-gradient(ellipse at top, #1a3d8a 0%, #0f214f 48%, #0a1533 100%);
}

body#signin-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

body#signin-page .sicovi-login-button {
    color: #ffffff;
}

body#signin-page .page-form.sicovi-login-card {
    width: 420px;
    max-width: calc(100vw - 32px);
    margin: 0 auto !important;
    background: rgba(255, 255, 255, 0.97);
    border: 0;
    border-radius: var(--sicovi-radius-lg) !important;
    box-shadow: var(--sicovi-shadow-md);
    overflow: hidden;
}

body#signin-page .page-form.sicovi-login-card .header-content.sicovi-login-header {
    padding: 24px 26px 8px;
    background: transparent;
    text-align: center;
    border-top-left-radius: var(--sicovi-radius-lg) !important;
    border-top-right-radius: var(--sicovi-radius-lg) !important;
}

body#signin-page .page-form.sicovi-login-card .sicovi-login-logo {
    width: 150px;
}

body#signin-page .page-form.sicovi-login-card .body-content.sicovi-login-body {
    padding: 8px 26px 26px;
    background: transparent;
    position: relative;
}

body#signin-page .page-form.sicovi-login-card .input-icon > i {
    margin-top: 10px;
    color: var(--sicovi-muted);
}

body#signin-page .page-form.sicovi-login-card input[type='text'],
body#signin-page .page-form.sicovi-login-card input[type='password'],
body#signin-page .page-form.sicovi-login-card input[type='email'] {
    height: 44px;
    color: var(--sicovi-text);
    border-color: var(--sicovi-border);
    background: #ffffff;
}

body#signin-page .page-form.sicovi-login-card .sicovi-login-copy {
    text-align: center;
    padding: 4px 0 12px;
}

body#signin-page .page-form.sicovi-login-card .sicovi-login-subtitle {
    display: block;
    margin: 0;
    font-size: 14px;
    color: var(--sicovi-muted);
}

body#signin-page .login-password-wrap.input-icon.right .login-password-toggle {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 38px;
    border: none;
    background: transparent;
    color: #7e8da8;
    padding: 0;
    line-height: 44px;
    z-index: 2;
    cursor: pointer;
}

body#signin-page .login-password-wrap.input-icon.right .login-password-toggle:hover,
body#signin-page .login-password-wrap.input-icon.right .login-password-toggle:focus {
    color: var(--sicovi-primary);
    outline: none;
}

body#signin-page .login-password-wrap.input-icon.right .login-password-toggle i {
    position: static !important;
    right: auto !important;
    float: none !important;
    margin: 0 !important;
    display: inline-block;
    vertical-align: middle;
}

body#signin-page .page-form.sicovi-login-card .sicovi-login-submit {
    padding-top: 16px;
}

body#signin-page .page-form.sicovi-login-card .sicovi-login-button {
    width: 100%;
}

/* Dashboard */
.dashboard-root {
    position: relative;
}

.dashboard-page-heading {
    margin: 2px 0 14px;
}

.dashboard-page-title {
    margin: 0;
    font-size: 24px;
    font-weight: 600;
    color: var(--sicovi-primary-dark);
}

.dashboard-page-subtitle {
    margin: 4px 0 0;
    color: var(--sicovi-muted);
}

.dashboard-panel,
.dashboard-panel-shell {
    border: 1px solid var(--sicovi-border);
    border-radius: var(--sicovi-radius-md);
    box-shadow: var(--sicovi-shadow-sm);
    margin-bottom: 14px;
    overflow: hidden;
    background: var(--sicovi-surface);
}

.dashboard-panel-header,
.dashboard-panel-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    padding: 10px 12px;
    background: linear-gradient(145deg, #fafdff 0%, #eff5ff 100%);
    border-bottom: 1px solid var(--sicovi-border);
}

.dashboard-panel-heading-text {
    font-size: 15px;
    font-weight: 600;
    color: var(--sicovi-primary);
}

.dashboard-panel-body,
.dashboard-panel .panel-body {
    padding: 14px 14px 16px;
    background: var(--sicovi-surface);
}

.dashboard-date-row {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.dashboard-date-label {
    margin: 0;
    font-size: 12px;
    color: var(--sicovi-muted);
}

.dashboard-date-input {
    min-width: 220px;
}

.dashboard-kpi-row {
    margin-top: 0;
}

.dashboard-kpi-card {
    background: var(--sicovi-surface);
    border: 1px solid #dbe5f3;
    border-radius: var(--sicovi-radius-md);
    box-shadow: 0 6px 16px rgba(14, 34, 71, 0.09);
    margin-bottom: 12px;
    overflow: hidden;
}

.dashboard-kpi-card-body,
.dashboard-kpi-card .panel-body {
    min-height: 134px;
    padding: 16px 14px;
}

.dashboard-kpi-card .icon {
    margin-bottom: 8px;
    color: var(--sicovi-primary-soft);
}

.dashboard-kpi-card .icon i {
    font-size: 24px;
}

.dashboard-kpi-card .value {
    margin: 0 0 6px;
    font-size: 25px;
    font-weight: 600;
    white-space: nowrap;
}

.dashboard-kpi-currency {
    margin-right: 2px;
    opacity: 0.85;
}

.dashboard-kpi-card .description {
    margin: 0;
    color: var(--sicovi-muted);
}

.dashboard-chart-row {
    margin-bottom: 8px;
}

.dashboard-chart-wrap {
    min-height: 300px;
    border: 1px solid var(--sicovi-border);
    border-radius: var(--sicovi-radius-md);
    background: #fff;
    padding: 8px;
    margin-bottom: 10px;
}

.dashboard-chart-wrap,
.dashboard-chart-wrap .highcharts-container,
.dashboard-chart-wrap svg {
    max-width: 100%;
}

.dashboard-root--loading::after {
    content: '';
    position: absolute;
    z-index: 3;
    inset: 0;
    background: rgba(255, 255, 255, 0.55);
    pointer-events: none;
}

.dashboard-empty {
    min-height: 280px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--sicovi-muted);
}

/* Grids (clientes/ventas) */
.sicovi-grid-shell .k-grid {
    border-radius: var(--sicovi-radius-md);
    overflow: hidden;
    box-shadow: var(--sicovi-shadow-sm);
    border: 1px solid #dbe4f2;
    background: #fff;
}

.sicovi-grid-shell .k-grid-header {
    background: linear-gradient(180deg, #f8fbff 0%, #eef4ff 100%);
}

.sicovi-grid-shell .k-grid-header th.k-header {
    background: transparent;
    border-color: var(--sicovi-border) !important;
    color: #2f4068;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    padding: 11px 10px;
}

.sicovi-grid-shell .k-grid-content td {
    padding: 10px;
    border-color: #e8eef7;
    vertical-align: middle;
    transition: background-color 0.15s ease;
}

.sicovi-grid-shell .k-grid-content tr:nth-child(even) td {
    background-color: #fcfdff;
}

.sicovi-grid-shell .k-grid-content tr:hover td {
    background-color: rgba(0, 168, 230, 0.08);
}

.sicovi-grid-shell .k-pager-wrap {
    padding: 7px 10px;
    background: #fbfdff;
}

.sicovi-grid-shell .k-pager-wrap .k-link,
.sicovi-grid-shell .k-pager-numbers .k-link,
.sicovi-grid-shell .k-pager-wrap .k-state-selected {
    border-radius: 6px;
    border: 1px solid #d9e4f3;
}

/* Reportes */
.reportes-hub {
    padding: 4px 0 0;
}

.reportes-intro {
    margin-bottom: 14px;
    padding: 12px 14px;
    border: 1px solid var(--sicovi-border);
    border-radius: var(--sicovi-radius-md);
    background: linear-gradient(145deg, #fafdff 0%, #f2f7ff 100%);
}

.reportes-intro-title {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    color: var(--sicovi-primary-dark);
}

.reportes-intro-text {
    margin: 6px 0 0;
    color: var(--sicovi-muted);
}

.reportes-hub-row {
    display: flex;
    flex-wrap: wrap;
}

.reportes-group-col {
    margin-bottom: 12px;
}

.reportes-group {
    border: 1px solid var(--sicovi-border);
    border-radius: var(--sicovi-radius-md);
    background: #fff;
    box-shadow: var(--sicovi-shadow-sm);
    padding: 10px;
    height: 100%;
}

.reportes-group-title {
    margin: 0 0 10px;
    font-size: 15px;
    color: var(--sicovi-primary);
    display: flex;
    align-items: center;
    gap: 8px;
}

.reportes-group-list {
    margin: 0;
}

.reportes-group-list .list-group-item {
    border-color: #e5ecf6;
    padding: 11px 12px;
    color: #2b3f66;
    font-weight: 500;
    transition: all 0.15s ease;
}

.reportes-group-list .list-group-item:hover,
.reportes-group-list .list-group-item:focus {
    background-color: #f1f7ff;
    color: var(--sicovi-primary-dark);
    border-left: 3px solid var(--sicovi-accent);
    padding-left: 10px;
}

@media (max-width: 767px) {
    .dashboard-page-title {
        font-size: 20px;
    }

    .page-dashboard .dashboard-panel-header,
    .page-dashboard .dashboard-panel-heading {
        align-items: flex-start;
        gap: 8px;
    }

    .dashboard-date-row {
        width: 100%;
        flex-wrap: wrap;
    }

    .dashboard-date-label {
        min-width: 38px;
    }

    .dashboard-date-input {
        min-width: 0;
        width: 100%;
    }

    .dashboard-kpi-card-body,
    .dashboard-kpi-card .panel-body {
        min-height: 118px;
        padding: 12px;
    }

    .dashboard-kpi-card .value {
        font-size: 22px;
        white-space: normal;
        word-break: break-word;
        line-height: 1.2;
    }

    .page-dashboard .dashboard-chart-row {
        margin-left: -6px;
        margin-right: -6px;
    }

    .page-dashboard .dashboard-chart-row > [class*='col-'] {
        padding-left: 6px;
        padding-right: 6px;
    }

    .dashboard-chart-wrap {
        min-height: 240px;
        padding: 4px;
    }

    .sicovi-grid-shell .k-grid-header th.k-header,
    .sicovi-grid-shell .k-grid-content td {
        padding: 8px 6px;
    }

    .reportes-intro {
        padding: 10px 12px;
    }

    .reportes-intro-title {
        font-size: 18px;
    }
}
