/* ================================================================
   THEME-PREMIUM.CSS - Flat Dark Mode Ultra Modern
   Sistema: Painel PHP 5.6 + Bootstrap + Template xNavigation
   PROIBIDO: backdrop-filter, blur, efeitos de vidro
   ================================================================ */

/* 0. ANTI-BUG MOBILE */
* { box-sizing: border-box !important; }
html, body { overflow-x: hidden !important; max-width: 100vw; margin: 0; padding: 0; }

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

/* 1. BODY / HTML */
html, body, .body-full-height {
    background-color: #050d1a !important;
    color: #ccd9f0 !important;
    font-family: 'Inter', 'Open Sans', sans-serif !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
}
h1, h2, h3, h4, h5, h6 { font-family: 'Inter', sans-serif !important; color: #e0e9ff !important; font-weight: 600 !important; }
p, label, td, th, small { font-family: 'Inter', sans-serif !important; }
/* ATENÇÃO: span e li removidos da regra Inter para não quebrar FontAwesome */
a { color: #06b6d4 !important; text-decoration: none !important; }
a:hover { color: #22d3ee !important; }
strong, b { color: #e0e9ff !important; }

/* 2. PAGE CONTAINER */
.page-container { background-color: #050d1a !important; }
.page-content { background: #050d1a !important; background-image: none !important; }
.page-content-wrap { background-color: #050d1a !important; padding: 18px !important; }

/* 3. SIDEBAR */
.page-sidebar { background-color: #0d1f3c !important; border-right: 1px solid #1a3060 !important; }

/* 4. X-NAVIGATION SIDEBAR */
.x-navigation, .x-navigation ul { background-color: #0d1f3c !important; }

/* Logo */
.x-navigation > li.xn-logo > a:first-child,
.x-navigation > li.xn-logo > a {
    background: #07152a !important; background-image: none !important;
    color: #22d3ee !important; font-family: 'Inter', sans-serif !important;
    font-size: 16px !important; font-weight: 800 !important;
    border-bottom: 2px solid #22d3ee !important;
    height: 56px !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    letter-spacing: 0.5px !important;
}
.x-navigation > li.xn-logo > a:first-child:hover { background-color: #050d1a !important; }
.TituloPainel { color: #22d3ee !important; font-family: 'Inter', sans-serif !important; font-weight: 800 !important; }
.x-navigation > li > a.x-navigation-control { background: #07152a !important; border-color: #1a3060 !important; }

/* Perfil */
.x-navigation > li.xn-profile { border-bottom: 1px solid #1a3060 !important; }
.profile { background: #07152a !important; border-bottom: 1px solid #1a3060 !important; }
.profile .profile-data-name { color: #e0e9ff !important; font-family: 'Inter', sans-serif !important; font-weight: 600 !important; }
.profile .profile-data-title { color: #7a94c1 !important; font-family: 'Inter', sans-serif !important; }
.profile .profile-image img { border-color: #06b6d4 !important; }
.profile .profile-controls a { color: #22d3ee !important; border-color: #22d3ee !important; }
.profile .profile-controls a:hover { color: #050d1a !important; background-color: #22d3ee !important; }

/* Titulos de secção */
.x-navigation li.xn-title {
    color: #06b6d4 !important; border-bottom: 1px solid #1a3060 !important;
    font-family: 'Inter', sans-serif !important; font-size: 10px !important;
    font-weight: 700 !important; letter-spacing: 1.5px !important;
    text-transform: uppercase !important; padding: 18px 15px 8px !important;
}

/* Links do menu */
.x-navigation li > a {
    color: #7a94c1 !important; font-family: 'Inter', sans-serif !important;
    font-size: 13px !important; font-weight: 500 !important;
    border-bottom: 1px solid #132a50 !important; transition: all 0.18s ease !important;
}
.x-navigation li > a .fa, .x-navigation li > a .glyphicon { color: #06b6d4 !important; font-size: 13px !important; }
.x-navigation li > a:hover { background-color: #112347 !important; color: #22d3ee !important; border-left: 3px solid #22d3ee !important; padding-left: 20px !important; }
.x-navigation li > a:hover .fa, .x-navigation li > a:hover .glyphicon { color: #22d3ee !important; }
.x-navigation li.active > a { background-color: #112347 !important; color: #22d3ee !important; border-left: 3px solid #22d3ee !important; }
.x-navigation li.active > a .fa, .x-navigation li.active > a .glyphicon { color: #22d3ee !important; }

/* Submenus */
.x-navigation li > ul { background-color: #07152a !important; border-left: 2px solid #1a3060 !important; }
.x-navigation li > ul li > a { color: #6a84b1 !important; font-size: 12px !important; border-bottom-color: #0e2040 !important; padding-left: 32px !important; }
.x-navigation li > ul li > a:hover,
.x-navigation li > ul li.active > a { color: #22d3ee !important; background-color: #0d1f3c !important; padding-left: 38px !important; border-left: 2px solid #22d3ee !important; }
.x-navigation li > ul li > ul li > a { padding-left: 46px !important; }
.x-navigation li > ul li > ul li > a:hover { padding-left: 52px !important; }

/* Setinhas */
.x-navigation li.xn-openable:before { border-color: transparent transparent transparent #06b6d4 !important; }
.x-navigation li.active.xn-openable:before { border-color: transparent transparent transparent #22d3ee !important; }

/* Informers */
.informer, .x-navigation .informer { background-color: #22d3ee !important; color: #050d1a !important; font-weight: 700 !important; border-radius: 8px !important; font-size: 10px !important; }

/* 5. X-NAVIGATION HORIZONTAL (barra de topo - menu-vertical.php) */
.x-navigation.x-navigation-horizontal,
.x-navigation.x-navigation-horizontal.x-navigation-panel {
    background-color: #0d1f3c !important; border-bottom: 2px solid #1a3060 !important; height: 52px !important;
}
.x-navigation.x-navigation-horizontal > li > a {
    color: #7a94c1 !important; font-family: 'Inter', sans-serif !important;
    border-bottom: none !important; padding: 14px 15px !important;
}
.x-navigation.x-navigation-horizontal > li > a:hover { background: #112347 !important; color: #22d3ee !important; padding-left: 15px !important; border-left: none !important; }
.x-navigation.x-navigation-horizontal > li > a:hover .fa,
.x-navigation.x-navigation-horizontal > li > a:hover .glyphicon { color: #22d3ee !important; }
.x-navigation.x-navigation-horizontal > li > a .fa,
.x-navigation.x-navigation-horizontal > li > a .glyphicon { color: #06b6d4 !important; }
.x-navigation.x-navigation-horizontal > li.active > a { background: #112347 !important; border-left: none !important; color: #e0e9ff !important; }

.SpanIco { color: #22d3ee !important; font-family: 'Inter', sans-serif !important; font-weight: 700 !important; font-size: 13px !important; }

/* Dropdowns na barra horizontal */
.x-navigation.x-navigation-horizontal > li ul,
.x-navigation.x-navigation-horizontal > li > ul {
    background-color: #0d1f3c !important; border: 1px solid #1a3060 !important;
    border-radius: 10px !important; box-shadow: 0 8px 24px rgba(0,0,0,0.6) !important;
}
.x-navigation.x-navigation-horizontal > li ul li > a { color: #ccd9f0 !important; background-color: transparent !important; padding: 9px 16px !important; border-bottom: 1px solid #132a50 !important; border-left: none !important; }
.x-navigation.x-navigation-horizontal > li ul li > a:hover { background-color: #112347 !important; color: #22d3ee !important; border-left: none !important; padding-left: 16px !important; }
.xn-drop-left, .x-navigation.x-navigation-horizontal > li > ul.xn-drop-left { background-color: #0d1f3c !important; border: 1px solid #1a3060 !important; border-radius: 10px !important; }
.xn-drop-left li > a { color: #ccd9f0 !important; font-family: 'Inter', sans-serif !important; }
.xn-drop-left li > a:hover { background-color: #112347 !important; color: #22d3ee !important; border-left: none !important; padding-left: 16px !important; }
.x-navigation.x-navigation-horizontal ul.xn-drop-white,
.x-navigation.x-navigation-horizontal ul.xn-drop-white ul { background-color: #0d1f3c !important; }
.x-navigation.x-navigation-horizontal ul.xn-drop-white li > a { color: #ccd9f0 !important; }
.x-navigation.x-navigation-horizontal ul.xn-drop-white li > a:hover { background-color: #112347 !important; color: #22d3ee !important; }
.x-navigation.x-navigation-horizontal .xn-icon-button > a { color: #7a94c1 !important; }
.x-navigation.x-navigation-horizontal .xn-icon-button > a:hover { background-color: #112347 !important; color: #22d3ee !important; }
.x-navigation.x-navigation-horizontal .xn-icon-button > a .fa { color: #06b6d4 !important; }

/* 6. BREADCRUMB */
.breadcrumb { background-color: #0d1f3c !important; border: 1px solid #1a3060 !important; border-radius: 10px !important; padding: 10px 16px !important; margin-bottom: 16px !important; }
.breadcrumb > li { color: #7a94c1 !important; font-family: 'Inter', sans-serif !important; font-size: 12px !important; }
.breadcrumb > li.active { color: #22d3ee !important; }
.breadcrumb > li + li:before { color: #1a3060 !important; }
.breadcrumb a { color: #06b6d4 !important; }
.page-title { margin-bottom: 18px !important; }
.page-title h2 { color: #e0e9ff !important; font-size: 19px !important; font-weight: 700 !important; }
.page-title h2 .fa, .page-title h2 .glyphicon { color: #06b6d4 !important; margin-right: 8px !important; }

/* 7. WIDGETS DASHBOARD */
.widget {
    background: #0d1f3c !important; background-image: none !important;
    filter: none !important; border: 1px solid #1a3060 !important;
    border-radius: 12px !important; box-shadow: 0 4px 16px rgba(0,0,0,0.4) !important;
    color: #ccd9f0 !important; margin-bottom: 18px !important; transition: all 0.2s ease !important;
}
.widget:hover { border-color: #06b6d4 !important; box-shadow: 0 6px 22px rgba(6,182,212,0.22) !important; }
.widget.widget-default { background: #0d1f3c !important; background-image: none !important; filter: none !important; }
.widget.widget-primary { background: #112347 !important; filter: none !important; border-color: #06b6d4 !important; }
.widget.widget-success { background: #041a10 !important; filter: none !important; border-color: #00cc6a !important; }
.widget.widget-info { background: #0a1830 !important; filter: none !important; border-color: #06b6d4 !important; }
.widget.widget-warning { background: #1a1200 !important; filter: none !important; border-color: #ffaa00 !important; }
.widget.widget-danger { background: #1a0510 !important; filter: none !important; border-color: #ff4d6d !important; }
.widget.widget-item-icon .widget-item-left { background-color: #06b6d4 !important; }
.widget.widget-item-icon .widget-item-left .fa,
.widget.widget-item-icon .widget-item-left .glyphicon { color: #fff !important; font-size: 26px !important; }
.widget .widget-title, .widget .widget-subtitle { color: #7a94c1 !important; font-family: 'Inter', sans-serif !important; font-size: 11px !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: 0.8px !important; }
.widget .widget-int, .widget .widget-big-int { color: #e0e9ff !important; font-family: 'Inter', sans-serif !important; font-weight: 700 !important; font-size: 28px !important; }
.widget .widget-data { padding: 10px 14px !important; }

/* 8. PANELS */
.panel { background-color: #0d1f3c !important; border: 1px solid #1a3060 !important; border-radius: 12px !important; box-shadow: 0 4px 16px rgba(0,0,0,0.4) !important; overflow: hidden; }
.panel-heading { background-color: #112347 !important; border-bottom: 1px solid #1a3060 !important; color: #ccd9f0 !important; padding: 13px 18px !important; border-radius: 12px 12px 0 0 !important; font-family: 'Inter', sans-serif !important; font-weight: 600 !important; }
.panel-heading .fa, .panel-heading .glyphicon { color: #06b6d4 !important; }
.panel-title { color: #e0e9ff !important; font-size: 14px !important; font-weight: 600 !important; }
.panel-body { background-color: #0d1f3c !important; color: #ccd9f0 !important; padding: 18px !important; }
.panel-footer { background-color: #112347 !important; border-top: 1px solid #1a3060 !important; color: #7a94c1 !important; font-family: 'Inter', sans-serif !important; }
.panel-danger { border-color: #5a0015 !important; }
.panel-danger > .panel-heading { background-color: #1a0d20 !important; border-bottom-color: #3d0010 !important; color: #ff4d6d !important; }
.panel-success { border-color: #004020 !important; }
.panel-success > .panel-heading { background-color: #041a10 !important; border-bottom-color: #006030 !important; color: #22d3ee !important; }
.panel-info { border-color: #1a3870 !important; }
.panel-info > .panel-heading { background-color: #0a1830 !important; border-bottom-color: #1a3870 !important; color: #06b6d4 !important; }
.panel-warning { border-color: #503000 !important; }
.panel-warning > .panel-heading { background-color: #1a1200 !important; border-bottom-color: #503000 !important; color: #ffaa00 !important; }
.panel-primary > .panel-heading { background-color: #0a1830 !important; border-bottom-color: #1a3870 !important; color: #06b6d4 !important; }
.panel-controls li > a { color: #7a94c1 !important; }
.panel-controls li > a:hover { color: #22d3ee !important; }

/* 9. TABELAS */
.table { color: #ccd9f0 !important; background-color: transparent !important; font-family: 'Inter', sans-serif !important; font-size: 13px !important; }
.table thead > tr > th { background-color: #112347 !important; color: #7a94c1 !important; border-bottom: 2px solid #1a3060 !important; border-top: none !important; font-size: 11px !important; font-weight: 600 !important; letter-spacing: 0.8px !important; text-transform: uppercase !important; padding: 12px 14px !important; }
.table tbody > tr > td { background-color: #0d1f3c !important; border-top: 1px solid #132a50 !important; color: #ccd9f0 !important; padding: 11px 14px !important; vertical-align: middle !important; }
.table tbody > tr:hover > td { background-color: #112347 !important; color: #e0e9ff !important; }
.table-striped > tbody > tr:nth-of-type(odd) > td { background-color: #0a1730 !important; }
.table-bordered { border-color: #1a3060 !important; }
.table-bordered th, .table-bordered td { border-color: #1a3060 !important; }
.table-responsive { border: 1px solid #1a3060 !important; border-radius: 10px !important; overflow: hidden !important; overflow-x: auto !important; }
.dataTables_wrapper .dataTables_paginate .paginate_button { background-color: #0d1f3c !important; border: 1px solid #1a3060 !important; color: #7a94c1 !important; border-radius: 7px !important; margin: 0 2px !important; font-family: 'Inter', sans-serif !important; font-size: 12px !important; }
.dataTables_wrapper .dataTables_paginate .paginate_button:hover { background-color: #112347 !important; border-color: #06b6d4 !important; color: #06b6d4 !important; }
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover { background: #06b6d4 !important; color: #fff !important; border-color: #06b6d4 !important; font-weight: 700 !important; }
.dataTables_wrapper .dataTables_info, .dataTables_wrapper .dataTables_length, .dataTables_wrapper .dataTables_filter { color: #7a94c1 !important; font-family: 'Inter', sans-serif !important; font-size: 12px !important; }
.dataTables_filter input, .dataTables_length select { background-color: #112347 !important; border: 1px solid #1a3060 !important; color: #ccd9f0 !important; border-radius: 7px !important; padding: 5px 10px !important; font-family: 'Inter', sans-serif !important; }

/* 10. FORMULÁRIOS */
.form-control { background-color: #112347 !important; border: 1px solid #1a3060 !important; color: #ccd9f0 !important; border-radius: 9px !important; font-family: 'Inter', sans-serif !important; font-size: 13px !important; height: 40px !important; transition: border-color 0.2s, box-shadow 0.2s !important; -webkit-appearance: none !important; }
.form-control:focus { background-color: #112347 !important; border-color: #06b6d4 !important; color: #e0e9ff !important; box-shadow: 0 0 0 3px rgba(6,182,212,0.18) !important; outline: none !important; }
.form-control::-webkit-input-placeholder { color: #3a5580 !important; }
.form-control::-moz-placeholder { color: #3a5580 !important; }
.form-control:-ms-input-placeholder { color: #3a5580 !important; }
textarea.form-control { height: auto !important; min-height: 90px !important; }
select.form-control { height: 40px !important; cursor: pointer !important; }
.input-group-addon { background-color: #1a3060 !important; border: 1px solid #1a3060 !important; color: #7a94c1 !important; }
.form-group label { color: #7a94c1 !important; font-family: 'Inter', sans-serif !important; font-size: 12px !important; font-weight: 600 !important; }
.bootstrap-select .btn, .btn-group.bootstrap-select .dropdown-toggle { background-color: #112347 !important; border: 1px solid #1a3060 !important; color: #ccd9f0 !important; border-radius: 9px !important; font-family: 'Inter', sans-serif !important; }
.bootstrap-select .dropdown-menu { background-color: #0d1f3c !important; border: 1px solid #1a3060 !important; border-radius: 10px !important; }
.bootstrap-select .dropdown-menu li > a { color: #ccd9f0 !important; padding: 8px 14px !important; font-family: 'Inter', sans-serif !important; }
.bootstrap-select .dropdown-menu li > a:hover, .bootstrap-select .dropdown-menu li.selected > a { background-color: #112347 !important; color: #22d3ee !important; }
.bootstrap-select .filter-option { color: #ccd9f0 !important; }

/* 11. BOTÕES */
.btn { font-family: 'Inter', sans-serif !important; font-weight: 600 !important; font-size: 13px !important; border-radius: 9px !important; padding: 8px 18px !important; transition: all 0.18s ease !important; letter-spacing: 0.2px !important; }
.btn-default { background-color: #112347 !important; color: #ccd9f0 !important; border: 1px solid #1a3060 !important; }
.btn-default:hover, .btn-default:focus { background-color: #1a3060 !important; color: #e0e9ff !important; border-color: #06b6d4 !important; }
.btn-primary { background-color: #06b6d4 !important; color: #fff !important; border: none !important; }
.btn-primary:hover, .btn-primary:focus { background-color: #2070e0 !important; box-shadow: 0 4px 14px rgba(6,182,212,0.4) !important; color: #fff !important; }
.btn-success { background-color: #00b35a !important; color: #fff !important; border: none !important; }
.btn-success:hover, .btn-success:focus { background-color: #00cc6a !important; box-shadow: 0 4px 14px rgba(0,204,106,0.35) !important; color: #fff !important; }
.btn-danger { background-color: #c0182e !important; color: #fff !important; border: none !important; }
.btn-danger:hover, .btn-danger:focus { background-color: #e02040 !important; box-shadow: 0 4px 14px rgba(224,32,64,0.35) !important; color: #fff !important; }
.btn-warning { background-color: #c07800 !important; color: #fff !important; border: none !important; }
.btn-warning:hover, .btn-warning:focus { background-color: #e08800 !important; color: #fff !important; }
.btn-info { background-color: #1a6eb5 !important; color: #fff !important; border: none !important; }
.btn-info:hover, .btn-info:focus { background-color: #06b6d4 !important; box-shadow: 0 4px 14px rgba(6,182,212,0.35) !important; color: #fff !important; }
.btn-link { color: #06b6d4 !important; background-color: transparent !important; border: none !important; }
.btn-link:hover { color: #22d3ee !important; text-decoration: underline !important; }
.btn-block { width: 100% !important; }
.btn.active, .btn:active { opacity: 0.85 !important; }
.btn-clean { background-color: transparent !important; border: 1px solid currentColor !important; }

/* 12. LABELS / BADGES / ALERTAS */
.label, .badge { font-family: 'Inter', sans-serif !important; font-weight: 600 !important; font-size: 11px !important; border-radius: 6px !important; padding: 3px 8px !important; }
.label-success, .badge-success { background-color: #00aa55 !important; color: #fff !important; }
.label-danger, .badge-danger { background-color: #cc1a30 !important; color: #fff !important; }
.label-warning, .badge-warning { background-color: #cc8800 !important; color: #fff !important; }
.label-info, .badge-info { background-color: #06b6d4 !important; color: #fff !important; }
.label-primary, .badge-primary { background-color: #06b6d4 !important; color: #fff !important; }
.label-default, .badge-default { background-color: #1a3060 !important; color: #ccd9f0 !important; }
.alert { border-radius: 10px !important; font-family: 'Inter', sans-serif !important; font-size: 13px !important; border: none !important; padding: 13px 18px !important; }
.alert-success { background-color: #041a10 !important; color: #00cc6a !important; border-left: 4px solid #00cc6a !important; }
.alert-danger { background-color: #1a0510 !important; color: #ff4d6d !important; border-left: 4px solid #ff4d6d !important; }
.alert-warning { background-color: #1a1200 !important; color: #ffaa00 !important; border-left: 4px solid #ffaa00 !important; }
.alert-info { background-color: #0a1830 !important; color: #06b6d4 !important; border-left: 4px solid #06b6d4 !important; }
.alert .close { color: #7a94c1 !important; text-shadow: none !important; opacity: 0.7 !important; }

/* 13. MODAIS */
.modal-content { background-color: #0d1f3c !important; border: 1px solid #1a3060 !important; border-radius: 14px !important; box-shadow: 0 20px 60px rgba(0,0,0,0.8) !important; color: #ccd9f0 !important; }
.modal-header { background-color: #112347 !important; border-bottom: 1px solid #1a3060 !important; border-radius: 14px 14px 0 0 !important; padding: 16px 20px !important; }
.modal-header .modal-title { color: #e0e9ff !important; font-family: 'Inter', sans-serif !important; font-size: 15px !important; font-weight: 700 !important; }
.modal-header .close { color: #7a94c1 !important; opacity: 1 !important; font-size: 20px !important; text-shadow: none !important; }
.modal-header .close:hover { color: #ff4d6d !important; }
.modal-body { background-color: #0d1f3c !important; color: #ccd9f0 !important; padding: 22px !important; }
.modal-footer { background-color: #112347 !important; border-top: 1px solid #1a3060 !important; border-radius: 0 0 14px 14px !important; padding: 14px 20px !important; }
.modal-backdrop.in { opacity: 0.7 !important; }

/* 14. DROPDOWN */
.dropdown-menu { background-color: #0d1f3c !important; border: 1px solid #1a3060 !important; border-radius: 10px !important; box-shadow: 0 8px 24px rgba(0,0,0,0.6) !important; padding: 6px !important; }
.dropdown-menu > li > a { color: #ccd9f0 !important; border-radius: 7px !important; padding: 8px 14px !important; font-size: 13px !important; font-family: 'Inter', sans-serif !important; }
.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { background-color: #112347 !important; color: #22d3ee !important; }
.dropdown-menu > .active > a, .dropdown-menu > .active > a:hover { background-color: #06b6d4 !important; color: #fff !important; }
.dropdown-menu .divider { background-color: #1a3060 !important; }
.dropdown-toggle .caret { border-top-color: #7a94c1 !important; border-bottom-color: #7a94c1 !important; }

/* 15. TABS */
.nav-tabs { border-bottom: 2px solid #1a3060 !important; }
.nav-tabs > li > a { background-color: transparent !important; border: none !important; border-bottom: 2px solid transparent !important; color: #7a94c1 !important; font-family: 'Inter', sans-serif !important; font-size: 13px !important; font-weight: 500 !important; padding: 10px 18px !important; margin-bottom: -2px !important; border-radius: 0 !important; transition: all 0.18s ease !important; }
.nav-tabs > li > a:hover { color: #06b6d4 !important; border-bottom-color: #06b6d4 !important; background-color: transparent !important; }
.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { background-color: transparent !important; border: none !important; border-bottom: 2px solid #22d3ee !important; color: #22d3ee !important; }
.tab-content { background-color: #0d1f3c !important; border: 1px solid #1a3060 !important; border-top: none !important; border-radius: 0 0 10px 10px !important; padding: 18px !important; }
.nav-pills > li > a { color: #7a94c1 !important; border-radius: 8px !important; font-family: 'Inter', sans-serif !important; }
.nav-pills > li > a:hover { background-color: #112347 !important; color: #06b6d4 !important; }
.nav-pills > li.active > a, .nav-pills > li.active > a:hover { background-color: #06b6d4 !important; color: #fff !important; }

/* 16. LOGIN */
.login-container { background-color: #050d1a !important; min-height: 100vh !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 20px !important; }
.login-box { background-color: #0d1f3c !important; border: 1px solid #1a3060 !important; border-radius: 16px !important; box-shadow: 0 24px 64px rgba(0,0,0,0.7) !important; width: 100% !important; max-width: 400px !important; overflow: hidden !important; }
.login-logo { background: #07152a !important; color: #22d3ee !important; font-family: 'Inter', sans-serif !important; font-size: 22px !important; font-weight: 800 !important; padding: 28px 24px 16px !important; text-align: center !important; border-bottom: 2px solid #22d3ee !important; }
.login-legenda { background-color: #112347 !important; color: #7a94c1 !important; text-align: center !important; padding: 8px 24px 16px !important; font-size: 12px !important; font-family: 'Inter', sans-serif !important; border-bottom: 1px solid #1a3060 !important; }
.login-body { padding: 26px 28px 20px !important; background-color: #0d1f3c !important; }
.login-title { color: #e0e9ff !important; font-family: 'Inter', sans-serif !important; font-size: 15px !important; margin-bottom: 22px !important; }
.login-footer { background-color: #07152a !important; border-top: 1px solid #1a3060 !important; padding: 12px 24px !important; color: #3a5580 !important; font-family: 'Inter', sans-serif !important; font-size: 11px !important; display: flex !important; justify-content: space-between !important; }

/* 17. PÁGINA PÚBLICA TESTE */
.registration-container { background-color: #050d1a !important; min-height: 100vh !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 20px !important; }
.registration-box { background-color: #0d1f3c !important; border: 1px solid #1a3060 !important; border-radius: 16px !important; box-shadow: 0 24px 64px rgba(0,0,0,0.7) !important; width: 100% !important; max-width: 440px !important; overflow: hidden !important; }
.registration-logo { background: #07152a !important; color: #22d3ee !important; font-family: 'Inter', sans-serif !important; font-size: 22px !important; font-weight: 800 !important; padding: 28px 24px 16px !important; text-align: center !important; border-bottom: 2px solid #22d3ee !important; }
.registration-legenda { background-color: #112347 !important; color: #7a94c1 !important; text-align: center !important; padding: 8px 24px 14px !important; font-size: 12px !important; border-bottom: 1px solid #1a3060 !important; }
.registration-body { padding: 24px 28px 20px !important; background-color: #0d1f3c !important; }
.registration-body h4 { color: #06b6d4 !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: 1.2px !important; text-transform: uppercase !important; margin-bottom: 12px !important; margin-top: 18px !important; }
.registration-title { color: #e0e9ff !important; font-family: 'Inter', sans-serif !important; font-size: 14px !important; margin-bottom: 16px !important; padding: 10px 14px !important; background-color: #112347 !important; border-radius: 9px !important; border-left: 3px solid #06b6d4 !important; }
.registration-footer { background-color: #07152a !important; border-top: 1px solid #1a3060 !important; padding: 12px 24px !important; color: #3a5580 !important; font-family: 'Inter', sans-serif !important; font-size: 11px !important; display: flex !important; justify-content: space-between !important; }

/* 18. PAGE CONTENT HEADER */
.page-content-header { background: #0d1f3c !important; background-image: none !important; border-bottom: 1px solid #1a3060 !important; }

/* 19. TOOLTIPS */
.tooltip-inner { background-color: #1a3060 !important; color: #ccd9f0 !important; border-radius: 7px !important; font-family: 'Inter', sans-serif !important; font-size: 12px !important; }
.tooltip.top .tooltip-arrow { border-top-color: #1a3060 !important; }
.tooltip.bottom .tooltip-arrow { border-bottom-color: #1a3060 !important; }
.tooltip.left .tooltip-arrow { border-left-color: #1a3060 !important; }
.tooltip.right .tooltip-arrow { border-right-color: #1a3060 !important; }
.popover { background-color: #0d1f3c !important; border: 1px solid #1a3060 !important; border-radius: 12px !important; }
.popover-title { background-color: #112347 !important; color: #e0e9ff !important; font-family: 'Inter', sans-serif !important; border-bottom: 1px solid #1a3060 !important; border-radius: 12px 12px 0 0 !important; }
.popover-content { color: #ccd9f0 !important; font-family: 'Inter', sans-serif !important; }

/* 20. NOTY */
#noty_topRight_layout_container .noty_bar, #noty_topLeft_layout_container .noty_bar,
#noty_topCenter_layout_container .noty_bar, .noty_bar { background-color: #0d1f3c !important; border: 1px solid #1a3060 !important; border-radius: 10px !important; box-shadow: 0 8px 24px rgba(0,0,0,0.6) !important; font-family: 'Inter', sans-serif !important; }
.noty_type_success .noty_bar { border-left: 4px solid #00cc6a !important; }
.noty_type_error .noty_bar { border-left: 4px solid #ff4d6d !important; }
.noty_type_warning .noty_bar { border-left: 4px solid #ffaa00 !important; }
.noty_type_information .noty_bar { border-left: 4px solid #06b6d4 !important; }
.noty_message { color: #ccd9f0 !important; font-family: 'Inter', sans-serif !important; }

/* 21. MISC */
.well { background-color: #112347 !important; border: 1px solid #1a3060 !important; border-radius: 10px !important; color: #ccd9f0 !important; box-shadow: none !important; }
pre, code { background-color: #07152a !important; color: #22d3ee !important; border: 1px solid #1a3060 !important; border-radius: 7px !important; font-size: 12px !important; }
hr { border-top: 1px solid #1a3060 !important; border-color: #1a3060 !important; }
.progress { background-color: #112347 !important; border-radius: 8px !important; height: 8px !important; box-shadow: none !important; }
.progress-bar { background-color: #06b6d4 !important; }
.progress-bar-success { background-color: #00cc6a !important; }
.progress-bar-danger { background-color: #ff4d6d !important; }
.progress-bar-warning { background-color: #ffaa00 !important; }
.pagination > li > a, .pagination > li > span { background-color: #0d1f3c !important; border-color: #1a3060 !important; color: #7a94c1 !important; font-family: 'Inter', sans-serif !important; }
.pagination > li > a:hover { background-color: #112347 !important; color: #22d3ee !important; border-color: #22d3ee !important; }
.pagination > .active > a, .pagination > .active > span { background-color: #06b6d4 !important; border-color: #06b6d4 !important; color: #fff !important; }
.pagination > .disabled > a, .pagination > .disabled > span { background-color: #07152a !important; border-color: #1a3060 !important; color: #2a4070 !important; }
.page-loader { background-color: #050d1a !important; }

/* 22. SCROLLBAR */
.mCSB_scrollTools .mCSB_draggerRail { background-color: #1a3060 !important; }
.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { background-color: #06b6d4 !important; border-radius: 4px !important; }
.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar { background-color: #22d3ee !important; }
::-webkit-scrollbar { width: 5px !important; height: 5px !important; }
::-webkit-scrollbar-track { background: #050d1a !important; }
::-webkit-scrollbar-thumb { background: #1a3060 !important; border-radius: 4px !important; }
::-webkit-scrollbar-thumb:hover { background: #06b6d4 !important; }

/* 23. SUMMERNOTE */
.note-editor { border: 1px solid #1a3060 !important; border-radius: 10px !important; }
.note-toolbar { background-color: #112347 !important; border-bottom: 1px solid #1a3060 !important; }
.note-toolbar .btn { background-color: #0d1f3c !important; border-color: #1a3060 !important; color: #7a94c1 !important; }
.note-toolbar .btn:hover { background-color: #1a3060 !important; color: #22d3ee !important; }
.note-editable { background-color: #0d1f3c !important; color: #ccd9f0 !important; }
.note-statusbar { background-color: #07152a !important; border-top: 1px solid #1a3060 !important; }


/* ================================================================
   SECTION A — GLOBAL (desktop + mobile): utilitários que se aplicam
   em TODAS as telas. Sem @media aqui.
   ================================================================ */

/* A1. Tabela com scroll horizontal suave em qualquer device */
.table-responsive {
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch !important;
    border: 1px solid #1a3060 !important;
    border-radius: 10px !important;
}
#Tabela, table.datatable { min-width: 600px !important; }
.dataTables_scrollBody {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
}

/* A2. DataTables controles */
.dataTables_wrapper .dataTables_filter input {
    min-height: 36px !important;
    border-radius: 8px !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button {
    min-height: 34px !important;
    min-width: 34px !important;
    border-radius: 6px !important;
    padding: 4px 10px !important;
}

/* A3. Botões — área de toque 44px (iOS/Android guideline) */
.btn {
    min-height: 44px !important;
    border-radius: 8px !important;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding-left: 14px !important;
    padding-right: 14px !important;
}

/* A4. Labels/badges de ação na tabela */
.label.label-danger, .label.label-success,
.label.label-warning, .label.label-info,
.label.label-primary, .label.label-default {
    min-height: 26px !important;
    padding: 4px 7px !important;
    border-radius: 6px !important;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    line-height: 1 !important;
    cursor: pointer;
}
.form-group a.label { min-width: 26px !important; }

/* A5. Panel heading — flex wrap para botões de filtro */
.panel-heading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.panel-heading .btn-group { margin: 3px 4px 3px 0 !important; }
.panel-heading .panel-controls { margin-left: auto !important; }

/* A6. Overlay escuro para fechar sidebar — oculto por padrão */
#MobileOverlay {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.65);
    z-index: 1040;
    -webkit-tap-highlight-color: transparent;
}
body.sidebar-mobile-open #MobileOverlay { display: block; }

/* A7. Hamburger — oculto no desktop, mostrado apenas via @media abaixo */
#HamburgerMenu {
    display: none;                      /* desktop: sempre oculto */
    background: transparent !important;
    border: none !important;
    outline: none !important;
    cursor: pointer;
    padding: 0 !important;
    margin: 0 !important;
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    min-height: 50px !important;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-tap-highlight-color: transparent;
    border-radius: 0 !important;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}
#HamburgerMenu .fa {
    font-size: 20px !important;
    color: #7a94c1 !important;
    -webkit-transition: color 0.15s ease, -webkit-transform 0.25s ease;
    transition: color 0.15s ease, transform 0.25s ease;
    pointer-events: none;
}
#HamburgerMenu:hover .fa { color: #22d3ee !important; }
body.sidebar-mobile-open #HamburgerMenu .fa {
    color: #22d3ee !important;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

/* A8. Barra de topo (x-navigation-panel): flex, altura fixa 50px */
.x-navigation.x-navigation-horizontal.x-navigation-panel {
    height: 50px !important;
    max-height: 50px !important;
    overflow: visible !important;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
}
/* Ícones da barra de topo */
.x-navigation.x-navigation-horizontal.x-navigation-panel .xn-icon-button > a {
    height: 50px !important;
    min-width: 44px !important;
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
    -webkit-box-align: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
    -webkit-box-pack: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important;
    padding: 0 12px !important;
}
.x-navigation.x-navigation-horizontal.x-navigation-panel .xn-icon-button > a .fa {
    font-size: 16px !important;
}
/* Badge "X dias" */
.SpanIco {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
    -webkit-box-align: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
    -webkit-box-pack: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important;
    height: 32px !important;
    padding: 0 12px !important;
    background: rgba(0,255,136,0.10) !important;
    border: 1px solid rgba(0,255,136,0.35) !important;
    border-radius: 20px !important;
    color: #22d3ee !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    letter-spacing: 0.3px !important;
}
/* ícones pull-right: agrupados à direita */
.x-navigation.x-navigation-horizontal.x-navigation-panel > li.xn-icon-button.pull-right {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
}
/* Dropdown do botão Sair */
.x-navigation.x-navigation-horizontal > li.xn-icon-button > ul.xn-drop-left,
.x-navigation.x-navigation-horizontal > li.xn-icon-button .xn-drop-left {
    display: none;
    position: absolute !important;
    right: 0 !important; left: auto !important;
    top: 50px !important;
    z-index: 9999 !important;
    min-width: 140px !important;
    background-color: #0d1f3c !important;
    border: 1px solid #1a3060 !important;
    border-radius: 10px !important;
    box-shadow: 0 8px 28px rgba(0,0,0,0.7) !important;
}
.x-navigation.x-navigation-horizontal > li.xn-icon-button:hover > ul.xn-drop-left,
.x-navigation.x-navigation-horizontal > li.xn-icon-button.active > ul.xn-drop-left {
    display: block !important;
}
.x-navigation.x-navigation-horizontal .xn-drop-left li > a.Sair,
.x-navigation.x-navigation-horizontal .xn-drop-left li > a.mb-control.Sair {
    color: #ff4d6d !important;
    padding: 12px 18px !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    display: block !important;
    border-left: none !important;
}
.x-navigation.x-navigation-horizontal .xn-drop-left li > a.Sair:hover {
    background-color: rgba(255,77,109,0.12) !important;
    color: #ff2040 !important;
}
.x-navigation.x-navigation-horizontal .xn-drop-left li > a.Sair .fa {
    color: #ff4d6d !important;
    margin-right: 8px !important;
}
/* Power-off icon */
.x-navigation.x-navigation-horizontal > li.xn-icon-button > a .fa-power-off {
    color: #ff4d6d !important;
    font-size: 16px !important;
}
.x-navigation.x-navigation-horizontal > li.xn-icon-button > a:hover .fa-power-off {
    color: #ff2040 !important;
}

/* A9. Widgets — layout flex unificado (desktop e mobile) */
.widget.widget-item-icon {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
    -ms-flex-direction: row !important;
    flex-direction: row !important;
    -webkit-box-align: stretch !important;
    -ms-flex-align: stretch !important;
    align-items: stretch !important;
    padding: 0 !important;
    overflow: hidden !important;
    min-height: 100px !important;
}
/* Coluna ícone */
.widget.widget-item-icon .widget-item-left,
.widget.widget-item-icon .widget-item-right {
    width: 88px !important;
    min-width: 88px !important;
    max-width: 88px !important;
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
    -webkit-box-pack: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important;
    background-color: transparent !important;
    border-right: 1px solid rgba(6,182,212,0.15) !important;
}
/* Ícone fa dentro do widget */
.widget.widget-item-icon .widget-item-left .fa,
.widget.widget-item-icon .widget-item-left .glyphicon,
.widget.widget-item-icon .widget-item-right .fa,
.widget.widget-item-icon .widget-item-right .glyphicon {
    background: -webkit-linear-gradient(135deg, #06b6d4 0%, #1a5cd4 100%) !important;
    background: linear-gradient(135deg, #06b6d4 0%, #1a5cd4 100%) !important;
    color: #ffffff !important;
    font-size: 22px !important;
    width: 52px !important;
    height: 52px !important;
    line-height: 52px !important;
    border-radius: 14px !important;
    display: inline-block !important;
    text-align: center !important;
    box-shadow: 0 4px 14px rgba(6,182,212,0.35) !important;
    -webkit-box-shadow: 0 4px 14px rgba(6,182,212,0.35) !important;
    margin: 0 !important;
    float: none !important;
}
/* Coluna dados */
.widget.widget-item-icon .widget-data,
.widget.widget-item-icon .widget-data-left {
    -webkit-box-flex: 1 !important;
    -ms-flex: 1 1 0% !important;
    flex: 1 1 0% !important;
    min-width: 0 !important;
    float: none !important;
    padding: 14px 16px !important;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
    -ms-flex-direction: column !important;
    flex-direction: column !important;
    -webkit-box-pack: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important;
    -webkit-box-align: start !important;
    -ms-flex-align: start !important;
    align-items: flex-start !important;
}
/* Número e label dentro do widget */
.widget.widget-item-icon .widget-data .widget-int,
.widget.widget-item-icon .widget-data .widget-big-int {
    text-align: left !important;
    float: none !important;
    width: auto !important;
    font-size: 34px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    color: #e0e9ff !important;
    font-family: 'Inter', sans-serif !important;
}
.widget.widget-item-icon .widget-data .widget-title,
.widget.widget-item-icon .widget-data .widget-subtitle {
    text-align: left !important;
    float: none !important;
    width: auto !important;
    font-size: 10px !important;
    letter-spacing: 1.2px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: #7a94c1 !important;
    margin-top: 3px !important;
    font-family: 'Inter', sans-serif !important;
}

/* A10. Profile controls */
.profile .profile-controls a {
    background-color: rgba(6,182,212,0.15) !important;
}
.profile .profile-controls a .fa,
.profile .profile-controls a .glyphicon {
    color: #06b6d4 !important;
    font-size: 13px !important;
    display: block !important;
    line-height: 26px !important;
    width: 100% !important;
    text-align: center !important;
}
.profile .profile-controls a.profile-control-left { border-color: #06b6d4 !important; }
.profile .profile-controls a.profile-control-right {
    border-color: #22d3ee !important;
    background-color: rgba(0,255,136,0.12) !important;
}
.profile .profile-controls a.profile-control-right .fa { color: #22d3ee !important; }

/* A11. Ícones fa no menu lateral */
.x-navigation > li > a .fa,
.x-navigation > li > a .glyphicon {
    color: #06b6d4 !important;
    width: 20px !important;
    display: inline-block !important;
    text-align: center !important;
    font-size: 13px !important;
    margin-right: 4px !important;
}
.x-navigation > li.active > a .fa,
.x-navigation > li.active > a .glyphicon,
.x-navigation > li > a:hover .fa,
.x-navigation > li > a:hover .glyphicon { color: #22d3ee !important; }

/* ================================================================
   SECTION B — MOBILE: max-width 1024px
   Sobrescreve o tema base que em <1024px faz:
   - .page-sidebar: position:relative; width:100% (colapsa sidebar)
   - .x-navigation: max-height:50px; overflow:hidden (colapsa menu)
   ================================================================ */
@media only screen and (max-width: 1024px) {

    /* B1. Sidebar — off-canvas */
    .page-container .page-sidebar {
        position: fixed !important;
        top: 0 !important;
        left: -270px !important;
        bottom: 0 !important;
        height: 100% !important;
        width: 260px !important;
        max-width: 82vw !important;
        float: none !important;
        z-index: 1050 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        -webkit-transition: left 0.28s cubic-bezier(0.4,0,0.2,1) !important;
        transition: left 0.28s cubic-bezier(0.4,0,0.2,1) !important;
        -webkit-box-shadow: none !important;
        box-shadow: none !important;
    }
    body.sidebar-mobile-open .page-container .page-sidebar {
        left: 0 !important;
        -webkit-box-shadow: 6px 0 36px rgba(0,0,0,0.80) !important;
        box-shadow: 6px 0 36px rgba(0,0,0,0.80) !important;
    }

    /* B2. Conteúdo — sem margem esquerda */
    .page-container .page-content {
        margin-left: 0 !important;
        width: 100% !important;
    }

    /* B3. x-navigation sidebar — desfaz o collapse do tema base */
    .page-container .page-sidebar .x-navigation {
        max-height: none !important;
        height: auto !important;
        overflow: visible !important;
        background: #0d1f3c !important;
    }

    /* B4. Todos os itens do menu lateral — forçar visibilidade */
    .page-container .page-sidebar .x-navigation > li,
    .page-container .page-sidebar .x-navigation li {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    /* B5. Perfil no sidebar — re-exibir */
    .page-container .page-sidebar .x-navigation > li.xn-profile {
        display: block !important;
    }

    /* B6. Sub-menus */
    .page-container .page-sidebar .x-navigation li.xn-openable > ul { display: none; }
    .page-container .page-sidebar .x-navigation li.active > ul { display: block !important; }

    /* B7. Botão de colapso interno da sidebar — esconder (hamburger externo faz isso) */
    .page-container .page-sidebar .x-navigation .x-navigation-control { display: none !important; }
    .x-navigation-minimize { display: none !important; }

    /* B8. Hamburger — exibir na barra de topo */
    #HamburgerMenu {
        display: -webkit-inline-box !important;
        display: -ms-inline-flexbox !important;
        display: inline-flex !important;
    }

    /* B9. Links do sidebar no mobile — área de toque generosa */
    .page-container .page-sidebar .x-navigation > li > a {
        padding: 13px 16px !important;
        font-size: 14px !important;
    }
    .page-container .page-sidebar .x-navigation li.xn-title {
        padding: 16px 16px 6px !important;
    }
    .page-container .page-sidebar .x-navigation > li > ul > li > a {
        padding: 11px 14px 11px 30px !important;
        font-size: 13px !important;
    }

    /* B10. Content wrap — padding reduzido */
    .page-content-wrap { padding: 10px !important; }

    /* B11. Grid — 2 colunas para cards (col-md-3 e col-md-4) */
    /* Colunas largas: full width */
    .col-md-5, .col-md-6, .col-md-7, .col-md-8,
    .col-md-9, .col-md-10, .col-md-11, .col-md-12,
    .col-sm-12 {
        width: 100% !important;
        float: none !important;
    }
    /* Cards do dashboard: 2 por linha */
    .col-md-3, .col-md-4,
    .col-sm-3, .col-sm-4 {
        width: 50% !important;
        float: left !important;
    }
    /* Colunas muito pequenas: 50% também */
    .col-md-1, .col-md-2 {
        width: 50% !important;
        float: left !important;
    }
    /* Padding interno das colunas */
    [class*="col-md-"], [class*="col-sm-"] {
        padding-left: 6px !important;
        padding-right: 6px !important;
    }
    .row { margin-left: -6px !important; margin-right: -6px !important; }
    .col-md-offset-0 { margin-left: 0 !important; }

    /* B12. Widgets — compactar altura no mobile */
    .widget.widget-item-icon {
        min-height: 86px !important;
        margin-bottom: 8px !important;
    }
    .widget.widget-item-icon .widget-item-left,
    .widget.widget-item-icon .widget-item-right {
        width: 70px !important;
        min-width: 70px !important;
        max-width: 70px !important;
    }
    .widget.widget-item-icon .widget-item-left .fa,
    .widget.widget-item-icon .widget-item-left .glyphicon {
        font-size: 18px !important;
        width: 42px !important;
        height: 42px !important;
        line-height: 42px !important;
        border-radius: 11px !important;
    }
    .widget.widget-item-icon .widget-data {
        padding: 10px 12px !important;
    }
    .widget.widget-item-icon .widget-data .widget-int,
    .widget.widget-item-icon .widget-data .widget-big-int {
        font-size: 24px !important;
    }
    .widget.widget-item-icon .widget-data .widget-title {
        font-size: 9px !important;
        letter-spacing: 0.8px !important;
        margin-top: 2px !important;
    }

    /* B13. Tabela menor */
    .table-responsive { font-size: 12px !important; border-radius: 8px !important; }
    #Tabela td, #Tabela th { padding: 7px 8px !important; white-space: nowrap !important; }

    /* B14. Page title */
    .page-title h2 { font-size: 16px !important; }
    .breadcrumb { font-size: 12px !important; padding: 8px 12px !important; }

    /* B15. Modais full width */
    .modal-dialog { margin: 8px !important; width: auto !important; max-width: 100% !important; }
    .modal-content { border-radius: 10px !important; }

    /* B16. DataTables controls — empilhar */
    .dataTables_wrapper .dataTables_length,
    .dataTables_wrapper .dataTables_filter {
        float: none !important;
        text-align: left !important;
        margin-bottom: 8px !important;
    }
    .dataTables_wrapper .dataTables_filter input { width: 100% !important; display: block !important; }
    .dataTables_wrapper .dataTables_paginate { float: none !important; text-align: center !important; margin-top: 8px !important; }
    .dataTables_wrapper .dataTables_info { float: none !important; text-align: center !important; }

    /* B17. Forms */
    .form-control { font-size: 14px !important; min-height: 40px !important; }

    /* B18. Login */
    .login-container { padding: 10px !important; }
    .login-box { max-width: 100% !important; border-radius: 12px !important; }
    .login-logo { font-size: 18px !important; padding: 20px 16px 12px !important; }
    .login-body { padding: 18px 16px !important; }

    /* B19. Barra horizontal de topo — layout flex corrigido para mobile */

    /* Força a barra a ser flex com itens alinhados */
    .x-navigation.x-navigation-horizontal.x-navigation-panel {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -ms-flex-direction: row !important;
        flex-direction: row !important;
        -webkit-box-align: center !important;
        -ms-flex-align: center !important;
        align-items: center !important;
        -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
        overflow: visible !important;
        padding-right: 4px !important;
    }

    /* Hamburger e botão minimizar: tamanho fixo à esquerda */
    #HamburgerLi,
    .x-navigation.x-navigation-horizontal.x-navigation-panel > li.xn-icon-button:not(.pull-right) {
        -webkit-box-flex: 0 !important;
        -ms-flex: 0 0 auto !important;
        flex: 0 0 auto !important;
        float: none !important;
    }

    /* Badge X dias (vencimento): cresce para preencher espaço central */
    .x-navigation.x-navigation-horizontal.x-navigation-panel > li.xn-icon-button .SpanIco {
        display: -webkit-inline-box !important;
        display: -ms-inline-flexbox !important;
        display: inline-flex !important;
        -webkit-box-align: center !important;
        -ms-flex-align: center !important;
        align-items: center !important;
    }
    .x-navigation.x-navigation-horizontal.x-navigation-panel > li.xn-icon-button:nth-child(3) {
        -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
        flex: 1 1 auto !important;
        float: none !important;
        overflow: hidden !important;
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -webkit-box-align: center !important;
        -ms-flex-align: center !important;
        align-items: center !important;
    }

    /* Badge X dias: compacto e visível, nunca some */
    .SpanIco {
        font-size: 10px !important;
        padding: 0 8px !important;
        height: 28px !important;
        max-width: 130px !important;
        min-width: 55px !important;
        width: auto !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    /* Itens pull-right (sair, mensagens, idioma): sem float, ordem natural no flex */
    .x-navigation.x-navigation-horizontal.x-navigation-panel > li.xn-icon-button.pull-right {
        -webkit-box-flex: 0 !important;
        -ms-flex: 0 0 auto !important;
        flex: 0 0 auto !important;
        float: none !important;
        position: relative !important;
        overflow: visible !important;
    }

    /* Dropdown do power-off ancorado no próprio li */
    .x-navigation.x-navigation-horizontal > li.xn-icon-button.pull-right > ul.xn-drop-left {
        top: 50px !important;
        right: 0 !important;
        left: auto !important;
        position: absolute !important;
        z-index: 9999 !important;
    }

    /* Li com SpanIco: sem overflow oculto */
    .x-navigation.x-navigation-panel > li.xn-icon-button {
        overflow: visible !important;
    }
}

/* ================================================================
   SECTION C — CELULAR PEQUENO: max-width 479px
   ================================================================ */
@media only screen and (max-width: 479px) {

    .page-content-wrap { padding: 5px !important; }

    /* Widgets ainda mais compactos */
    .widget.widget-item-icon { min-height: 76px !important; }
    .widget.widget-item-icon .widget-item-left,
    .widget.widget-item-icon .widget-item-right {
        width: 60px !important;
        min-width: 60px !important;
        max-width: 60px !important;
    }
    .widget.widget-item-icon .widget-item-left .fa {
        font-size: 16px !important;
        width: 36px !important;
        height: 36px !important;
        line-height: 36px !important;
        border-radius: 9px !important;
    }
    .widget.widget-item-icon .widget-data .widget-int { font-size: 20px !important; }
    .widget.widget-item-icon .widget-data .widget-title { font-size: 8px !important; }

    /* Tabela compactíssima */
    #Tabela td, #Tabela th { padding: 5px 5px !important; font-size: 11px !important; }
    .label.label-danger, .label.label-success, .label.label-warning,
    .label.label-info, .label.label-primary, .label.label-default {
        padding: 3px 5px !important; font-size: 10px !important;
    }

    /* Paginação compacta */
    .dataTables_wrapper .dataTables_paginate .paginate_button {
        min-width: 28px !important;
        padding: 3px 5px !important;
        font-size: 11px !important;
    }

    /* Modal sem margem */
    .modal-dialog { margin: 3px !important; }

    /* Panel heading */
    .panel-heading { padding: 6px 8px !important; }
    .btn { min-height: 40px !important; }

    /* Badge "X dias" — em telas < 480px: ultra-compacto mas visível */
    .x-navigation.x-navigation-panel li.xn-icon-button .SpanIco {
        display: -webkit-inline-box !important;
        display: -ms-inline-flexbox !important;
        display: inline-flex !important;
        font-size: 9px !important;
        padding: 0 5px !important;
        height: 24px !important;
        max-width: 90px !important;
        min-width: 40px !important;
        border-radius: 12px !important;
    }
}

/* ================================================================
   SECTION D — DESKTOP: min-width 1025px
   Garante que nada do mobile vaze no desktop.
   ================================================================ */
@media only screen and (min-width: 1025px) {
    #HamburgerMenu  { display: none !important; }
    #MobileOverlay  { display: none !important; }
    .page-sidebar   { position: relative !important; left: auto !important; -webkit-box-shadow: none !important; box-shadow: none !important; -webkit-transition: none !important; transition: none !important; }
    .page-content   { margin-left: 300px; }
    /* Restaura grid Bootstrap padrão no desktop */
    .col-md-3  { width: 25% !important; float: left !important; }
    .col-md-4  { width: 33.333% !important; float: left !important; }
    .col-md-6  { width: 50% !important; float: left !important; }
    .col-md-8  { width: 66.666% !important; float: left !important; }
    .col-md-9  { width: 75% !important; float: left !important; }
    .col-md-12 { width: 100% !important; float: none !important; }
    [class*="col-md-"] { padding-left: 15px !important; padding-right: 15px !important; }
    .row { margin-left: -15px !important; margin-right: -15px !important; }
}

/* ================================================================
   CORREÇÃO — MENU LATERAL (scroll) + SUBMENUS + PEQUENOS AJUSTES
   ================================================================ */

@media only screen and (min-width: 1025px) {
    .page-container .page-sidebar {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        height: 100vh !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch !important;
    }
    .page-container .x-navigation {
        min-height: 100% !important;
    }
    .page-container .page-content {
        margin-left: 300px !important;
    }
}

.page-sidebar::-webkit-scrollbar {
    width: 6px !important;
}
.page-sidebar::-webkit-scrollbar-thumb {
    background: #1a3060 !important;
    border-radius: 4px !important;
}
.page-sidebar::-webkit-scrollbar-track {
    background: transparent !important;
}

.page-container .page-sidebar .x-navigation li.xn-openable > a {
    cursor: pointer !important;
}
.page-container .page-sidebar .x-navigation li > ul {
    transition: max-height 200ms ease !important;
}
.page-container .page-sidebar .x-navigation li.active > ul {
    max-height: 4000px !important;
}

@media only screen and (max-width: 1024px) and (min-width: 480px) {
    .x-navigation.x-navigation-horizontal.x-navigation-panel > li.xn-icon-button .SpanIco {
        max-width: 100px !important;
    }
}

/* ================================================================
   MODERNIZAÇÃO UI/UX v2.0 — Mobile-First, Skeleton, Toasts
   Adiciona melhorias visuais SEM quebrar layout existente
   ================================================================ */

/* ── 1. SKELETON LOADERS ────────────────────────────────────────── */
@keyframes skeleton-shine {
    0%   { background-position: -400px 0; }
    100% { background-position: 400px 0; }
}
.skeleton {
    background: linear-gradient(90deg, #1a2744 25%, #223060 50%, #1a2744 75%);
    background-size: 800px 100%;
    animation: skeleton-shine 1.4s infinite linear;
    border-radius: 4px;
    display: inline-block;
}
.skeleton-text  { height: 14px; width: 100%; margin-bottom: 8px; }
.skeleton-title { height: 20px; width: 60%; margin-bottom: 12px; }
.skeleton-badge { height: 22px; width: 80px; border-radius: 10px; }
.skeleton-row   {
    display: flex; gap: 12px; align-items: center;
    padding: 10px 14px; border-bottom: 1px solid #1a3060;
}
.skeleton-row .skeleton { flex: 1; height: 13px; }
.skeleton-row .skeleton:first-child { flex: 0 0 120px; }
.skeleton-row .skeleton:last-child  { flex: 0 0 80px; }

/* Skeleton para tabelas de dados (DataTables, listas de usuário) */
.skeleton-table-wrap { padding: 0; }
.skeleton-table-wrap .skeleton-row:last-child { border-bottom: none; }

/* ── 2. TOAST NOTIFICATIONS ─────────────────────────────────────── */
#rit-toast-container {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 99999;
    display: flex;
    flex-direction: column-reverse;
    gap: 10px;
    pointer-events: none;
    max-width: 340px;
    width: calc(100vw - 48px);
}
.rit-toast {
    background: #1a2744;
    border: 1px solid #2d4080;
    border-radius: 10px;
    padding: 12px 16px;
    color: #e2e8f0;
    font-size: 13px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    box-shadow: 0 8px 24px rgba(0,0,0,.45);
    pointer-events: auto;
    animation: toast-in .25s ease;
    transition: opacity .3s ease, transform .3s ease;
    border-left: 4px solid #06b6d4;
}
.rit-toast.success { border-left-color: #10b981; }
.rit-toast.danger  { border-left-color: #ef4444; }
.rit-toast.warning { border-left-color: #f59e0b; }
.rit-toast .rit-toast-icon { font-size: 16px; flex-shrink: 0; margin-top: 1px; }
.rit-toast.success .rit-toast-icon { color: #10b981; }
.rit-toast.danger  .rit-toast-icon { color: #ef4444; }
.rit-toast.warning .rit-toast-icon { color: #f59e0b; }
.rit-toast.info    .rit-toast-icon { color: #06b6d4; }
.rit-toast .rit-toast-body { flex: 1; line-height: 1.45; }
.rit-toast .rit-toast-close {
    background: none; border: none; color: #718096;
    cursor: pointer; font-size: 16px; padding: 0; flex-shrink: 0;
    line-height: 1;
}
.rit-toast .rit-toast-close:hover { color: #e2e8f0; }
@keyframes toast-in {
    from { opacity: 0; transform: translateY(12px); }
    to   { opacity: 1; transform: translateY(0); }
}
.rit-toast.toast-out { opacity: 0; transform: translateY(12px); }

/* ── 3. TABELA RESPONSIVA MOBILE ───────────────────────────────── */
@media (max-width: 767px) {
    /* Força scroll horizontal em vez de quebrar layout */
    .table-responsive-rit {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
        border-radius: 6px;
    }
    /* Tabelas de monitoramento: esconde colunas menos críticas */
    .table-mon .col-hide-sm,
    .mon-table .col-mon-hide {
        display: none !important;
    }
    /* Cards de stats empilham verticalmente */
    .row-stats-cards > [class*="col-"] {
        width: 50% !important;
        float: left !important;
    }
    /* Modal full-width em mobile */
    .modal-dialog { margin: 8px !important; }
    .modal-content { border-radius: 10px !important; }
    /* Botões de ação em linha ficam empilhados */
    .btn-group-action { display: flex !important; flex-direction: column !important; gap: 4px; }
    .btn-group-action .btn { width: 100% !important; }
}
@media (max-width: 479px) {
    /* Em telas muito pequenas, painel de monitoramento ocupa 100% */
    #PainelMonitoramento .mon-scroll { max-height: 320px; }
    .row-stats-cards > [class*="col-"] { width: 100% !important; }
    #rit-toast-container { bottom: 12px; right: 12px; max-width: calc(100vw - 24px); }
}

/* ── 4. MELHORIAS VISUAIS GERAIS ───────────────────────────────── */
/* Inputs e selects: bordas suaves no foco */
.form-control:focus {
    border-color: #06b6d4 !important;
    box-shadow: 0 0 0 2px rgba(6,182,212,.18) !important;
    outline: none !important;
}
/* Botões primários: gradiente sutil */
.btn-primary, .btn-info {
    transition: filter .15s ease, transform .1s ease !important;
}
.btn-primary:hover, .btn-info:hover {
    filter: brightness(1.12) !important;
}
.btn-primary:active, .btn-info:active {
    transform: scale(.97) !important;
}
/* Panels: sombra mais suave */
.panel { box-shadow: 0 2px 12px rgba(0,0,0,.18) !important; }
/* Tabelas: linha hover suave */
.table-hover > tbody > tr:hover > td {
    background: rgba(6,182,212,.06) !important;
}
/* Badge de status inline */
.badge-online  { background: #10b981 !important; }
.badge-offline { background: #6b7280 !important; }
.badge-alerta  { background: #ef4444 !important; }

/* ── 5. LOADING OVERLAY (para ações de formulário) ─────────────── */
.rit-loading-overlay {
    position: fixed; inset: 0;
    background: rgba(5,13,26,.72);
    z-index: 99998;
    display: flex; align-items: center; justify-content: center;
    opacity: 0; pointer-events: none;
    transition: opacity .2s ease;
}
.rit-loading-overlay.visible {
    opacity: 1; pointer-events: auto;
}
.rit-loading-spinner {
    width: 40px; height: 40px;
    border: 3px solid rgba(6,182,212,.25);
    border-top-color: #06b6d4;
    border-radius: 50%;
    animation: mspin .7s linear infinite;
}

/* ================================================================
   PALETA CIANO/TURQUESA PREMIUM — refinamentos
   ================================================================ */

/* Botões primários — gradiente ciano */
.btn-primary {
    background: linear-gradient(135deg, #06b6d4 0%, #0891b2 100%) !important;
    border-color: #0891b2 !important;
    color: #fff !important;
    font-weight: 600 !important;
}
.btn-primary:hover {
    background: linear-gradient(135deg, #22d3ee 0%, #06b6d4 100%) !important;
    filter: brightness(1.1) !important;
}

/* Btn info */
.btn-info {
    background: linear-gradient(135deg, #0891b2 0%, #0e7490 100%) !important;
    border-color: #0e7490 !important;
    color: #fff !important;
}

/* Links gerais */
a { color: #06b6d4 !important; }
a:hover { color: #22d3ee !important; }

/* Logo sidebar */
.x-navigation > li.xn-logo > a:first-child,
.x-navigation > li.xn-logo > a {
    border-bottom: 2px solid #06b6d4 !important;
    color: #06b6d4 !important;
}

/* Ícones menu */
.x-navigation li a .fa,
.x-navigation li a i { color: #06b6d4 !important; }

/* Menu hover/active */
.x-navigation li a:hover,
.x-navigation li.active > a {
    color: #22d3ee !important;
    background: rgba(6,182,212,.08) !important;
}
.x-navigation li.active > a {
    border-left: 3px solid #06b6d4 !important;
}

/* Widgets ícone */
.widget .widget-item-left .fa,
.widget-item-icon {
    background: linear-gradient(135deg, #06b6d4, #0891b2) !important;
}

/* Breadcrumb */
.breadcrumb > .active { color: #06b6d4 !important; }

/* Scrollbar */
.page-sidebar::-webkit-scrollbar-thumb {
    background: #06b6d4 !important;
}

/* Bloco boas-vindas */
#PainelBoasVindas .panel-heading {
    background: linear-gradient(135deg, #061a2a 0%, #0c2a3d 100%) !important;
    border-bottom: 1px solid #06b6d4 !important;
}
#PainelBoasVindas .panel-heading h3 { color: #22d3ee !important; }

/* Badges */
.label-primary, .badge-primary { background-color: #06b6d4 !important; }
.label-info,    .badge-info    { background-color: #0891b2 !important; }

/* Top nav botões */
.x-navigation-horizontal .xn-icon-button a { color: #06b6d4 !important; }
.x-navigation-horizontal .xn-icon-button a:hover { color: #22d3ee !important; }

/* Página de login — botão ciano */
.btn-login, .login-btn { 
    background: linear-gradient(135deg, #06b6d4, #0891b2) !important; 
}
