/* ============================================================
   Sisfy — Modais personalizados (devices + clients + todos)
   ============================================================ */

/* ─── Global ─────────────────────────────────────────── */

/* ─── Admin Layout — ajustes de panel/heading/nav ────── */
.admin-layout .panel .panel-title {
    margin-top: 10px;
}
.admin-layout .panel-heading .nav {
    margin-top: 0;
}
.admin-layout .panel-heading {
    padding: 10px;
}
.admin-layout .panel-form {
    margin-top: 5px;
}

/* Dentro de panel-form os bootstrap-select devem ser inline-block
   para não quebrar o layout horizontal dos filtros */
.panel-form div.bootstrap-select:not(.multiexpand-wrapper),
.panel-form .btn-group.bootstrap-select:not(.multiexpand-wrapper) {
    display: inline-block !important;
    vertical-align: middle;
}

/* Garante que o dropdown do bootstrap-select em panel-form
   apareça acima de todos os outros elementos */
.panel-form .bootstrap-select:not(.multiexpand-wrapper).open,
.panel-form .bootstrap-select:not(.multiexpand-wrapper) .dropdown-menu {
    z-index: 1080 !important;
}

/* Search input: padding-left para o ícone lupa não sobrepor o placeholder */
.form-group.search .form-control {
    padding-left: 34px !important;
}

/* Override: ícones de ação nos panel-heading admin (add/plus ficam brancos pelo tema) */
.nav-icons .icon.add:before,
.nav-icons .icon.plus:before,
.action-block .icon.add:before,
.action-block .icon.plus:before {
    color: #555 !important;
}
.nav-icons > li > a:hover .icon.add:before,
.nav-icons > li > a:hover .icon.plus:before {
    color: #2ecc71 !important;
}

.modal-body {
    overflow-y: auto;
    max-height: calc(100vh - 200px);
    overflow-x: hidden;
}

/* ──────────────────────────────────────────────────────────
   Universal fix: .has-feedback + .form-control-feedback
   Garante alinhamento vertical correto com inputs de 36px
   ────────────────────────────────────────────────────────── */
.modal .has-feedback {
    position: relative !important;
}
/* Ícone de feedback: centralizado verticalmente para inputs de 36px */
.modal .form-control-feedback,
.modal .has-feedback .form-control-feedback {
    position: absolute !important;
    transform: translateY(40%) !important;
    left: 8px !important;
    right: auto !important;
    width: 20px !important;
    height: 20px !important;
    line-height: 20px !important;
    text-align: center !important;
    pointer-events: none !important;
    z-index: 4 !important;
    font-size: 14px !important;
}

/* Input com ícone à esquerda: padding-left para não sobrepor */
.modal .has-feedback .form-control {
    padding-left: 36px !important;
    padding-right: 12px !important;
}
/* Placeholder nos inputs com ícone */
.modal .has-feedback .form-control::placeholder {
    color: #adb5bd !important;
    opacity: 1 !important;
}

/* Botão de busca dentro do input-group (map_button) */
.modal .input-group-btn .form-control,
.modal .input-group-btn > a.form-control {
    height: 36px !important;
    width: 36px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 0 6px 6px 0 !important;
    border: 1px solid #ced4da !important;
    border-left: none !important;
    background: #f8f9fa !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
}
.modal .input-group-btn .form-control:hover,
.modal .input-group-btn > a.form-control:hover {
    background: #e9ecef !important;
    border-color: #2ecc71 !important;
}
/* Input dentro do input-group sem arredondamento na direita */
.modal .input-group > .has-feedback > .form-control,
.modal .input-group > .form-control:not(:last-child) {
    border-radius: 6px 0 0 6px !important;
}
/* Wrapper has-feedback dentro do input-group ocupa o espaço restante */
.modal .input-group > .has-feedback {
    flex: 1 1 auto !important;
    position: relative !important;
}

/* Input-group com checkbox (enable_devices_limit, enable_expiration_date) */
#clients_edit .input-group,
#clients_create .input-group {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
}
#clients_edit .input-group > .form-control,
#clients_create .input-group > .form-control {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
}
#clients_edit .input-group > .input-group-btn,
#clients_create .input-group > .input-group-btn {
    flex: 0 0 auto !important;
    width: auto !important;
    display: flex !important;
    align-items: center !important;
    padding-right: 6px;
}

/* ─── Modal Header ────────────────────────────────────── */
#devices_create .modal-header,
#devices_edit .modal-header,
#clients_create .modal-header,
#clients_edit .modal-header {
    background: #f8f9fa;
    border-bottom: 2px solid #eee;
    padding: 14px 20px;
}
#devices_create .modal-header .close,
#devices_edit .modal-header .close,
#clients_create .modal-header .close,
#clients_edit .modal-header .close {
    margin-top: 6px;
    opacity: 0.5;
    font-size: 20px;
}
#devices_create .modal-header .close:hover,
#devices_edit .modal-header .close:hover,
#clients_create .modal-header .close:hover,
#clients_edit .modal-header .close:hover { opacity: 1; }

#devices_create .modal-title,
#devices_edit .modal-title,
#clients_create .modal-title,
#clients_edit .modal-title { width: 100%; }

/* ─── Modal Title — icon box (inline styles extraídos para referência) ───
   Mantidos inline nos @section('title') de cada modal:
   width:38px; height:38px; background:linear-gradient(135deg,#2ecc71,#27ae60);
   border-radius:10px; box-shadow:0 2px 8px rgba(46,204,113,0.35);
   ──────────────────────────────────────────────────────────────────────── */

/* ─── Modal dialog/content — Devices (700 px) ─────────── */
#devices_create .modal-dialog,
#devices_create.modal .modal-dialog,
#devices_edit .modal-dialog,
#devices_edit.modal .modal-dialog {
    width: 700px !important;
    max-width: 90vw !important;
    margin: 30px auto !important;
}
#devices_create .modal-content,
#devices_create.modal .modal-content,
#devices_edit .modal-content,
#devices_edit.modal .modal-content {
    border-radius: 8px !important;
    border: none !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.15) !important;
    overflow: hidden !important;
}
#devices_create .modal-header,
#devices_create.modal .modal-header,
#devices_edit .modal-header,
#devices_edit.modal .modal-header {
    border-radius: 8px 8px 0 0 !important;
}
#devices_create .modal-footer,
#devices_create.modal .modal-footer,
#devices_edit .modal-footer,
#devices_edit.modal .modal-footer {
    border-radius: 0 0 8px 8px !important;
    background: #f8f9fa !important;
    border-top: 1px solid #e9ecef !important;
}

/* ─── Tabs — Devices (underline via ::after) ───────────── */
#devices_create .nav-tabs,
#devices_create ul.nav-tabs,
#devices_edit .nav-tabs,
#devices_edit ul.nav-tabs {
    border: none !important;
    border-bottom: 2px solid #e9ecef !important;
    padding: 0 16px !important;
    background: #fff !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 0 !important;
    list-style: none !important;
    margin: 0 !important;
    box-shadow: inset 0 -1px 0 #f1f3f5;
}
#devices_create .nav-tabs > li,
#devices_create .nav-tabs li,
#devices_edit .nav-tabs > li,
#devices_edit .nav-tabs li {
    float: none !important;
    display: inline-flex !important;
    align-items: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    list-style: none !important;
    position: relative !important;
}
#devices_create .nav-tabs > li > a,
#devices_create .nav-tabs li a[data-toggle="tab"],
#devices_create .nav-tabs li > a[role="tab"],
#devices_edit .nav-tabs > li > a,
#devices_edit .nav-tabs li a[data-toggle="tab"],
#devices_edit .nav-tabs li > a[role="tab"] {
    font-size: 12px !important;
    font-weight: 500 !important;
    padding: 10px 14px !important;
    margin: 0 !important;
    color: #6c757d !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-bottom: none !important;
    border-radius: 0 !important;
    white-space: nowrap !important;
    transition: color 0.18s ease !important;
    line-height: 1.4 !important;
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
    outline: none !important;
    position: relative !important;
    letter-spacing: 0.2px;
}
/* Indicador (underline) via pseudo-elemento */
#devices_create .nav-tabs > li > a::after,
#devices_create .nav-tabs li a[data-toggle="tab"]::after,
#devices_edit .nav-tabs > li > a::after,
#devices_edit .nav-tabs li a[data-toggle="tab"]::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 0;
    height: 2px;
    background: transparent;
    transition: background 0.18s ease;
    border-radius: 2px 2px 0 0;
}
#devices_create .nav-tabs > li > a:hover::after,
#devices_create .nav-tabs > li > a:focus::after,
#devices_edit .nav-tabs > li > a:hover::after,
#devices_edit .nav-tabs > li > a:focus::after {
    background: #b6e8c9 !important;
}
#devices_create .nav-tabs > li > a:hover,
#devices_create .nav-tabs > li > a:focus,
#devices_edit .nav-tabs > li > a:hover,
#devices_edit .nav-tabs > li > a:focus {
    color: #2ecc71 !important;
    background: transparent !important;
    text-decoration: none !important;
}
#devices_create .nav-tabs > li.active > a::after,
#devices_create .nav-tabs > li.active > a:focus::after,
#devices_create .nav-tabs > li.active > a:hover::after,
#devices_edit .nav-tabs > li.active > a::after,
#devices_edit .nav-tabs > li.active > a:focus::after,
#devices_edit .nav-tabs > li.active > a:hover::after {
    background: #2ecc71 !important;
}
#devices_create .nav-tabs > li.active > a,
#devices_create .nav-tabs > li.active > a:link,
#devices_create .nav-tabs > li.active > a:visited,
#devices_create .nav-tabs > li.active > a:focus,
#devices_create .nav-tabs > li.active > a:hover,
#devices_edit .nav-tabs > li.active > a,
#devices_edit .nav-tabs > li.active > a:link,
#devices_edit .nav-tabs > li.active > a:visited,
#devices_edit .nav-tabs > li.active > a:focus,
#devices_edit .nav-tabs > li.active > a:hover {
    color: #27ae60 !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    font-weight: 700 !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    cursor: pointer !important;
}
#devices_create .nav-tabs > li.disabled-tab > a,
#devices_create .nav-tabs > li > a.disabled,
#devices_edit .nav-tabs > li.disabled-tab > a,
#devices_edit .nav-tabs > li > a.disabled {
    color: #ced4da !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}
#devices_create .nav-tabs > li.tab-divider,
#devices_edit .nav-tabs > li.tab-divider {
    width: 1px !important;
    background: #e9ecef !important;
    margin: 8px !important;
    align-self: stretch !important;
}
#devices_create .nav-tabs > li.tab-divider > a,
#devices_edit .nav-tabs > li.tab-divider > a { display: none !important; }

#devices_create .tab-content,
#devices_edit .tab-content {
    background: #fff;
    padding: 20px 22px;
}

/* ─── Tabs — Clients (underline via border-bottom) ─────── */
#clients_create .nav-tabs,
#clients_create ul.nav-tabs,
#clients_edit .nav-tabs,
#clients_edit ul.nav-tabs {
    border: none !important;
    border-bottom: 2px solid #e9ecef !important;
    padding: 0 16px !important;
    background: #fff !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 0 !important;
    list-style: none !important;
    margin: 0 !important;
    box-shadow: inset 0 -1px 0 #f1f3f5;
}
#clients_create .nav-tabs > li,
#clients_create .nav-tabs li,
#clients_edit .nav-tabs > li,
#clients_edit .nav-tabs li {
    float: none !important;
    display: inline-flex !important;
    align-items: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    list-style: none !important;
    position: relative !important;
}
#clients_create .nav-tabs > li > a,
#clients_create .nav-tabs li a[data-toggle="tab"],
#clients_create .nav-tabs li > a[role="tab"],
#clients_edit .nav-tabs > li > a,
#clients_edit .nav-tabs li a[data-toggle="tab"],
#clients_edit .nav-tabs li > a[role="tab"] {
    font-size: 12px !important;
    font-weight: 500 !important;
    padding: 10px 14px !important;
    margin: 0 !important;
    color: #6c757d !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    white-space: nowrap !important;
    transition: color 0.18s ease, border-color 0.18s ease !important;
    line-height: 1.4 !important;
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
    outline: none !important;
    margin-bottom: -2px !important;
    letter-spacing: 0.2px;
}
#clients_create .nav-tabs > li > a:hover,
#clients_create .nav-tabs > li > a:focus,
#clients_edit .nav-tabs > li > a:hover,
#clients_edit .nav-tabs > li > a:focus {
    color: #2ecc71 !important;
    background: transparent !important;
    border-bottom-color: #b6e8c9 !important;
    text-decoration: none !important;
}
#clients_create .nav-tabs > li.active > a,
#clients_create .nav-tabs > li.active > a:link,
#clients_create .nav-tabs > li.active > a:visited,
#clients_create .nav-tabs > li.active > a:focus,
#clients_create .nav-tabs > li.active > a:hover,
#clients_edit .nav-tabs > li.active > a,
#clients_edit .nav-tabs > li.active > a:link,
#clients_edit .nav-tabs > li.active > a:visited,
#clients_edit .nav-tabs > li.active > a:focus,
#clients_edit .nav-tabs > li.active > a:hover {
    color: #27ae60 !important;
    background: transparent !important;
    border-color: transparent !important;
    border-bottom: 2px solid #2ecc71 !important;
    font-weight: 700 !important;
}
#clients_create .tab-content,
#clients_edit .tab-content {
    background: #fff;
    padding: 20px 22px;
}

/* ─── Inputs / Form Controls (todos os modais) ─────────── */
#devices_create .form-control,
#devices_create input[type="text"],
#devices_create input[type="number"],
#devices_create input[type="email"],
#devices_create input[type="password"],
#devices_create select,
#devices_create textarea,
#devices_edit .form-control,
#devices_edit input[type="text"],
#devices_edit input[type="number"],
#devices_edit input[type="email"],
#devices_edit input[type="password"],
#devices_edit select,
#devices_edit textarea,
#clients_create .form-control,
#clients_create input[type="text"],
#clients_create input[type="number"],
#clients_create input[type="email"],
#clients_create input[type="password"],
#clients_create select,
#clients_create textarea,
#clients_edit .form-control,
#clients_edit input[type="text"],
#clients_edit input[type="number"],
#clients_edit input[type="email"],
#clients_edit input[type="password"],
#clients_edit select,
#clients_edit textarea {
    height: 36px !important;
    /* padding: 6px 12px !important; */
    font-size: 13px !important;
    line-height: 1.4 !important;
    color: #495057 !important;
    background-color: #fff !important;
    background-image: none !important;
    border: 1px solid #ced4da !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

#devices_create select,
#devices_edit select,
#clients_create select,
#clients_edit select,
#devices_create .bootstrap-select.form-control,
#devices_edit .bootstrap-select.form-control,
#clients_create .bootstrap-select.form-control,
#clients_edit .bootstrap-select.form-control {
    border: none !important;
    box-shadow: none !important;
}

#devices_create textarea.form-control,
#devices_edit textarea.form-control,
#clients_create textarea.form-control,
#clients_edit textarea.form-control {
    height: auto !important;
    min-height: 70px !important;
}
#devices_create .form-control:focus,
#devices_create input:focus,
#devices_create select:focus,
#devices_create textarea:focus,
#devices_edit .form-control:focus,
#devices_edit input:focus,
#devices_edit select:focus,
#devices_edit textarea:focus,
#clients_create .form-control:focus,
#clients_create input:focus,
#clients_create select:focus,
#clients_create textarea:focus,
#clients_edit .form-control:focus,
#clients_edit input:focus,
#clients_edit select:focus,
#clients_edit textarea:focus {
    border-color: #2ecc71 !important;
    box-shadow: 0 0 0 3px rgba(46,204,113,0.12) !important;
    outline: none !important;
}
#devices_create label,
#devices_edit label,
#clients_create label,
#clients_edit label {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #495057 !important;
    margin-bottom: 4px !important;
    display: inline-block;
}
#devices_create .form-group,
#devices_edit .form-group,
#clients_create .form-group,
#clients_edit .form-group {
    margin-bottom: 14px !important;
    position: relative;
}
#devices_create .tab-pane .row,
#devices_edit .tab-pane .row {
    margin-bottom: 8px !important;
}
#devices_create .tab-pane .row:last-child,
#devices_edit .tab-pane .row:last-child {
    margin-bottom: 0 !important;
}
#devices_create .tab-pane .row + .row,
#devices_create .tab-pane .row.mt-2,
#devices_edit .tab-pane .row + .row,
#devices_edit .tab-pane .row.mt-2 {
    margin-top: 4px !important;
}
#devices_create .tab-pane .row .form-group,
#devices_edit .tab-pane .row .form-group {
    margin-bottom: 12px !important;
}

/* Reduz border-radius dos inputs (dentro de devices) */
#devices_create .form-control,
#devices_create input[type="text"],
#devices_create input[type="number"],
#devices_create input[type="email"],
#devices_create input[type="password"],
#devices_create select,
#devices_create textarea,
#devices_edit .form-control,
#devices_edit input[type="text"],
#devices_edit input[type="number"],
#devices_edit input[type="email"],
#devices_edit input[type="password"],
#devices_edit select,
#devices_edit textarea {
    border-radius: 4px !important;
}

/* ─── Switch (toggle) ──────────────────────────────────── */
#devices_create .switch,
#devices_edit .switch,
#clients_create .switch,
#clients_edit .switch {
    position: relative;
    display: inline-block;
    width: 38px;
    height: 20px;
    flex-shrink: 0;
}
#devices_create .switch input,
#devices_edit .switch input,
#clients_create .switch input,
#clients_edit .switch input {
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: absolute !important;
}
#devices_create .switch .slider,
#devices_edit .switch .slider,
#clients_create .switch .slider,
#clients_edit .switch .slider {
    position: absolute;
    cursor: pointer;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: #ced4da;
    transition: 0.25s;
    border-radius: 20px !important;
}
#devices_create .switch .slider:before,
#devices_edit .switch .slider:before,
#clients_create .switch .slider:before,
#clients_edit .switch .slider:before {
    position: absolute;
    content: "";
    height: 14px;
    width: 14px;
    left: 3px;
    bottom: 3px;
    background-color: #fff;
    transition: 0.25s;
    border-radius: 50%;
    box-shadow: 0 1px 2px rgba(0,0,0,0.2);
}
#devices_create .switch input:checked + .slider,
#devices_edit .switch input:checked + .slider,
#clients_create .switch input:checked + .slider,
#clients_edit .switch input:checked + .slider {
    background-color: #2ecc71 !important;
}
#devices_create .switch input:checked + .slider:before,
#devices_edit .switch input:checked + .slider:before,
#clients_create .switch input:checked + .slider:before,
#clients_edit .switch input:checked + .slider:before {
    transform: translateX(18px);
}

/* ─── Checkbox ─────────────────────────────────────────── */
#devices_create input[type="checkbox"]:not(.switch input),
#devices_edit input[type="checkbox"]:not(.switch input),
#clients_create input[type="checkbox"]:not(.switch input),
#clients_edit input[type="checkbox"]:not(.switch input) {
    width: 16px !important;
    height: 16px !important;
    margin: 0 6px 0 0 !important;
    accent-color: #2ecc71;
    vertical-align: middle;
    cursor: pointer;
}
/* Checkboxes dentro de .switch ficam invisíveis (controlados pelo slider) */
#devices_create .switch input[type="checkbox"],
#devices_edit .switch input[type="checkbox"],
#clients_create .switch input[type="checkbox"],
#clients_edit .switch input[type="checkbox"] {
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
}

/* Wrapper .checkbox e .checkbox-inline */
#clients_edit .checkbox,
#clients_create .checkbox {
    padding: 4px 0;
    min-height: auto;
    margin: 0;
}
#clients_edit .checkbox label,
#clients_edit .checkbox-inline label,
#clients_create .checkbox label,
#clients_create .checkbox-inline label,
#devices_create .checkbox label,
#devices_create .checkbox-inline label,
#devices_edit .checkbox label,
#devices_edit .checkbox-inline label {
    font-weight: 500 !important;
    font-size: 13px !important;
    color: #495057 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px;
    cursor: pointer;
    padding-left: 0 !important;
}
#clients_edit .checkbox-inline,
#clients_create .checkbox-inline {
    padding: 6px 12px 6px 0;
}

/* Checkbox dentro de input-group (enable_devices_limit, enable_expiration_date) */
#clients_edit .input-group-btn.checkbox,
#clients_create .input-group-btn.checkbox {
    display: flex !important;
    align-items: center !important;
    padding: 0 8px 0 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    height: auto !important;
    width: auto !important;
}
#clients_edit .input-group-btn.checkbox label,
#clients_create .input-group-btn.checkbox label {
    margin: 0 !important;
    height: 36px !important;
    display: flex !important;
    align-items: center !important;
}

/* ─── Bootstrap-select multiexpand — sharing + alerts ─────── */
#sharing .bootstrap-select.multiexpand,
#sharing_create .bootstrap-select.multiexpand,
#sharing_edit .bootstrap-select.multiexpand,
#alerts_create .bootstrap-select.multiexpand,
#alerts_edit .bootstrap-select.multiexpand {
    height: auto !important;
    padding: 0 !important;
    border: 1px solid #ced4da !important;
    background: #fff !important;
    box-shadow: none !important;
    width: 100% !important;
    display: block !important;
    position: relative !important;
    border-radius: 6px !important;
    overflow: hidden;
}
#sharing .bootstrap-select.multiexpand > .btn.dropdown-toggle,
#sharing_create .bootstrap-select.multiexpand > .btn.dropdown-toggle,
#sharing_edit .bootstrap-select.multiexpand > .btn.dropdown-toggle,
#alerts_create .bootstrap-select.multiexpand > .btn.dropdown-toggle,
#alerts_edit .bootstrap-select.multiexpand > .btn.dropdown-toggle {
    display: none !important;
}
#sharing .bootstrap-select.multiexpand .dropdown-menu,
#sharing_create .bootstrap-select.multiexpand .dropdown-menu,
#sharing_edit .bootstrap-select.multiexpand .dropdown-menu,
#alerts_create .bootstrap-select.multiexpand .dropdown-menu,
#alerts_edit .bootstrap-select.multiexpand .dropdown-menu {
    position: static !important;
    display: grid !important;
    grid-template-areas:
        "actions search"
        "list list"
        "pagination pagination" !important;
    grid-template-columns: auto 1fr !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    background: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    z-index: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    top: auto !important; left: auto !important; right: auto !important;
}
#sharing .bootstrap-select.multiexpand .bs-actionsbox,
#sharing_create .bootstrap-select.multiexpand .bs-actionsbox,
#sharing_edit .bootstrap-select.multiexpand .bs-actionsbox,
#alerts_create .bootstrap-select.multiexpand .bs-actionsbox,
#alerts_edit .bootstrap-select.multiexpand .bs-actionsbox {
    grid-area: actions !important;
    padding: 6px 10px !important;
    background: #f8f9fa !important;
    border-bottom: 1px solid #e9ecef !important;
    border-right: 1px solid #e9ecef !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    box-sizing: border-box !important;
}
#sharing .bootstrap-select.multiexpand .bs-actionsbox .btn-group,
#sharing_create .bootstrap-select.multiexpand .bs-actionsbox .btn-group,
#sharing_edit .bootstrap-select.multiexpand .bs-actionsbox .btn-group,
#alerts_create .bootstrap-select.multiexpand .bs-actionsbox .btn-group,
#alerts_edit .bootstrap-select.multiexpand .bs-actionsbox .btn-group {
    display: flex !important;
    flex-direction: row !important;
    width: auto !important;
    float: none !important;
    gap: 6px !important;
}
#sharing .bootstrap-select.multiexpand .bs-actionsbox .btn-group button,
#sharing .bootstrap-select.multiexpand .bs-actionsbox button,
#sharing_create .bootstrap-select.multiexpand .bs-actionsbox .btn-group button,
#sharing_create .bootstrap-select.multiexpand .bs-actionsbox button,
#sharing_edit .bootstrap-select.multiexpand .bs-actionsbox .btn-group button,
#sharing_edit .bootstrap-select.multiexpand .bs-actionsbox button,
#alerts_create .bootstrap-select.multiexpand .bs-actionsbox .btn-group button,
#alerts_create .bootstrap-select.multiexpand .bs-actionsbox button,
#alerts_edit .bootstrap-select.multiexpand .bs-actionsbox .btn-group button,
#alerts_edit .bootstrap-select.multiexpand .bs-actionsbox button {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    float: none !important;
    padding: 5px 14px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    border: 1px solid #ced4da !important;
    background: #fff !important;
    color: #495057 !important;
    border-radius: 4px !important;
    line-height: 1.4 !important;
    box-shadow: none !important;
    white-space: nowrap !important;
}
#sharing .bootstrap-select.multiexpand .bs-actionsbox button:hover,
#sharing_create .bootstrap-select.multiexpand .bs-actionsbox button:hover,
#sharing_edit .bootstrap-select.multiexpand .bs-actionsbox button:hover,
#alerts_create .bootstrap-select.multiexpand .bs-actionsbox button:hover,
#alerts_edit .bootstrap-select.multiexpand .bs-actionsbox button:hover {
    background: #f0faf5 !important;
    border-color: #2ecc71 !important;
    color: #27ae60 !important;
}
#sharing .bootstrap-select.multiexpand .bs-searchbox,
#sharing_create .bootstrap-select.multiexpand .bs-searchbox,
#sharing_edit .bootstrap-select.multiexpand .bs-searchbox,
#alerts_create .bootstrap-select.multiexpand .bs-searchbox,
#alerts_edit .bootstrap-select.multiexpand .bs-searchbox {
    grid-area: search !important;
    padding: 6px 10px !important;
    border-bottom: 1px solid #e9ecef !important;
    display: flex !important;
    align-items: center !important;
    background: #f8f9fa !important;
}
#sharing .bootstrap-select.multiexpand .bs-searchbox input,
#sharing_create .bootstrap-select.multiexpand .bs-searchbox input,
#sharing_edit .bootstrap-select.multiexpand .bs-searchbox input,
#alerts_create .bootstrap-select.multiexpand .bs-searchbox input,
#alerts_edit .bootstrap-select.multiexpand .bs-searchbox input {
    height: 32px !important;
    border-radius: 4px !important;
    font-size: 13px !important;
    padding: 6px 10px !important;
    border: 1px solid #ced4da !important;
    width: 100% !important;
    background: #fff !important;
}
#sharing .bootstrap-select.multiexpand .bs-searchbox input:focus,
#sharing_create .bootstrap-select.multiexpand .bs-searchbox input:focus,
#sharing_edit .bootstrap-select.multiexpand .bs-searchbox input:focus,
#alerts_create .bootstrap-select.multiexpand .bs-searchbox input:focus,
#alerts_edit .bootstrap-select.multiexpand .bs-searchbox input:focus {
    border-color: #2ecc71 !important;
    box-shadow: 0 0 0 3px rgba(46,204,113,0.12) !important;
    outline: none !important;
}
#sharing .bootstrap-select.multiexpand .dropdown-menu .inner,
#sharing .bootstrap-select.multiexpand ul.dropdown-menu.inner,
#sharing_create .bootstrap-select.multiexpand .dropdown-menu .inner,
#sharing_create .bootstrap-select.multiexpand ul.dropdown-menu.inner,
#sharing_edit .bootstrap-select.multiexpand .dropdown-menu .inner,
#sharing_edit .bootstrap-select.multiexpand ul.dropdown-menu.inner,
#alerts_create .bootstrap-select.multiexpand .dropdown-menu .inner,
#alerts_create .bootstrap-select.multiexpand ul.dropdown-menu.inner,
#alerts_edit .bootstrap-select.multiexpand .dropdown-menu .inner,
#alerts_edit .bootstrap-select.multiexpand ul.dropdown-menu.inner {
    grid-area: list !important;
    max-height: 320px !important;
    overflow-y: auto !important;
    padding: 4px !important;
    list-style: none !important;
    margin: 0 !important;
    position: static !important;
    display: block !important;
    background: #fff !important;
}
#sharing .bootstrap-select.multiexpand .dropdown-menu li,
#sharing_create .bootstrap-select.multiexpand .dropdown-menu li,
#sharing_edit .bootstrap-select.multiexpand .dropdown-menu li,
#alerts_create .bootstrap-select.multiexpand .dropdown-menu li,
#alerts_edit .bootstrap-select.multiexpand .dropdown-menu li {
    list-style: none !important;
}
#sharing .bootstrap-select.multiexpand .dropdown-menu li > a,
#sharing_create .bootstrap-select.multiexpand .dropdown-menu li > a,
#sharing_edit .bootstrap-select.multiexpand .dropdown-menu li > a,
#alerts_create .bootstrap-select.multiexpand .dropdown-menu li > a,
#alerts_edit .bootstrap-select.multiexpand .dropdown-menu li > a {
    padding: 6px 10px !important;
    font-size: 13px !important;
    color: #495057 !important;
    border-radius: 4px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    cursor: pointer;
}
#sharing .bootstrap-select.multiexpand .dropdown-menu li > a:hover,
#sharing_create .bootstrap-select.multiexpand .dropdown-menu li > a:hover,
#sharing_edit .bootstrap-select.multiexpand .dropdown-menu li > a:hover,
#alerts_create .bootstrap-select.multiexpand .dropdown-menu li > a:hover,
#alerts_edit .bootstrap-select.multiexpand .dropdown-menu li > a:hover {
    background: #f0faf5 !important;
    color: #27ae60 !important;
}
#sharing .bootstrap-select.multiexpand .dropdown-menu li.selected > a,
#sharing_create .bootstrap-select.multiexpand .dropdown-menu li.selected > a,
#sharing_edit .bootstrap-select.multiexpand .dropdown-menu li.selected > a,
#alerts_create .bootstrap-select.multiexpand .dropdown-menu li.selected > a,
#alerts_edit .bootstrap-select.multiexpand .dropdown-menu li.selected > a {
    background: rgba(46,204,113,0.12) !important;
    color: #27ae60 !important;
    font-weight: 600;
}
/* Oculta check-mark padrão do bootstrap-select */
#sharing .multiexpand .check-mark,
#sharing .multiexpand span.check-mark,
#sharing .multiexpand .glyphicon.check-mark,
#sharing_create .multiexpand .check-mark,
#sharing_create .multiexpand span.check-mark,
#sharing_create .multiexpand .glyphicon.check-mark,
#sharing_edit .multiexpand .check-mark,
#sharing_edit .multiexpand span.check-mark,
#sharing_edit .multiexpand .glyphicon.check-mark,
#alerts_create .multiexpand .check-mark,
#alerts_create .multiexpand span.check-mark,
#alerts_create .multiexpand .glyphicon.check-mark,
#alerts_edit .multiexpand .check-mark,
#alerts_edit .multiexpand span.check-mark,
#alerts_edit .multiexpand .glyphicon.check-mark {
    display: none !important;
    width: 0 !important; height: 0 !important;
    margin: 0 !important; padding: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
    opacity: 0 !important;
    position: absolute !important;
}
/* Checkbox customizado via ::before */
#sharing .multiexpand .dropdown-menu li > a,
#sharing_create .multiexpand .dropdown-menu li > a,
#sharing_edit .multiexpand .dropdown-menu li > a,
#alerts_create .multiexpand .dropdown-menu li > a,
#alerts_edit .multiexpand .dropdown-menu li > a {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
#sharing .multiexpand .dropdown-menu li.selected > a::before,
#sharing_create .multiexpand .dropdown-menu li.selected > a::before,
#sharing_edit .multiexpand .dropdown-menu li.selected > a::before,
#alerts_create .multiexpand .dropdown-menu li.selected > a::before,
#alerts_edit .multiexpand .dropdown-menu li.selected > a::before {
    border-color: #2ecc71 !important;
    background: #2ecc71 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpolyline points='1,5 4.5,8.5 11,1' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-size: 10px 8px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}


/* ─── Footer buttons ────────────────────────────────────── */
#devices_create .modal-footer .btn,
#devices_edit .modal-footer .btn,
#clients_create .modal-footer .btn,
#clients_edit .modal-footer .btn {
    font-size: 13px !important;
    padding: 7px 16px !important;
    border-radius: 6px !important;
    font-weight: 500 !important;
}
#devices_create .modal-footer .btn-action,
#devices_create .modal-footer .btn-primary,
#devices_edit .modal-footer .btn-action,
#devices_edit .modal-footer .btn-primary,
#clients_create .modal-footer .btn-action,
#clients_create .modal-footer .btn-primary,
#clients_edit .modal-footer .btn-action,
#clients_edit .modal-footer .btn-primary {
    background: linear-gradient(135deg, #2ecc71, #27ae60) !important;
    border: none !important;
    color: #fff !important;
}

/* ─── Colunas (correção de padding Bootstrap) — somente nos modais admin ── */
#devices_create .col-sm-6,
#devices_create .col-md-6,
#devices_edit .col-sm-6,
#devices_edit .col-md-6,
#clients_create .col-sm-6,
#clients_create .col-md-6,
#clients_edit .col-sm-6,
#clients_edit .col-md-6 {
    padding: 0 4px !important;
}

/* ══════════════════════════════════════════════════════════
   Bootstrap-select — #devices_create
   Selects simples → nativo; multiexpand → inline expandido
   ══════════════════════════════════════════════════════════ */

/* Selects simples: esconde wrapper customizado */
#devices_create .bootstrap-select:not(.multiexpand-wrapper) > .btn.dropdown-toggle,
#devices_create .bootstrap-select:not(.multiexpand-wrapper) > .dropdown-menu,
#devices_create .bootstrap-select:not(.multiexpand-wrapper) .bs-caret {
    display: none !important;
}
#devices_create .bootstrap-select:not(.multiexpand-wrapper) > select.form-control,
#devices_create .bootstrap-select:not(.multiexpand-wrapper) select {
    position: static !important;
    clip: auto !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    width: 100% !important;
    height: 36px !important;
    padding: 6px 12px !important;
    font-size: 13px !important;
    color: #495057 !important;
    background-color: #fff !important;
    border: 1px solid #ced4da !important;
    border-radius: 4px !important;
    appearance: auto !important;
    -webkit-appearance: menulist !important;
}
#devices_create .bootstrap-select:not(.multiexpand-wrapper).form-control,
#devices_create div.bootstrap-select:not(.multiexpand-wrapper) {
    height: auto !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    width: 100% !important;
    display: block !important;
}

/* Multiexpand — expandido inline (sempre visível) */
#devices_create .bootstrap-select.multiexpand-wrapper {
    height: auto !important;
    padding: 0 !important;
    border: 1px solid #ced4da !important;
    background: #fff !important;
    box-shadow: none !important;
    width: 100% !important;
    display: block !important;
    position: relative !important;
    border-radius: 6px !important;
    overflow: hidden;
}
#devices_create .bootstrap-select.multiexpand-wrapper > .btn.dropdown-toggle {
    display: none !important;
}
#devices_create .bootstrap-select.multiexpand-wrapper .dropdown-menu {
    position: static !important;
    display: grid !important;
    grid-template-areas:
        "actions search"
        "list list"
        "pagination pagination" !important;
    grid-template-columns: auto 1fr !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    background: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    z-index: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    top: auto !important; left: auto !important; right: auto !important;
}

/* Barra superior: botões à esquerda, busca à direita */
#devices_create .bootstrap-select.multiexpand-wrapper .bs-actionsbox {
    grid-area: actions !important;
    padding: 6px 10px !important;
    background: #f8f9fa !important;
    border-bottom: 1px solid #e9ecef !important;
    border-right: 1px solid #e9ecef !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    box-sizing: border-box !important;
}
#devices_create .bootstrap-select.multiexpand-wrapper .bs-searchbox {
    grid-area: search !important;
    padding: 6px 10px !important;
    border-bottom: 1px solid #e9ecef !important;
    display: flex !important;
    align-items: center !important;
    background: #f8f9fa !important;
}
#devices_create .bootstrap-select.multiexpand-wrapper .bs-searchbox input {
    height: 32px !important;
    border-radius: 4px !important;
    font-size: 13px !important;
    padding: 6px 10px !important;
    border: 1px solid #ced4da !important;
    width: 100% !important;
    background: #fff !important;
}
#devices_create .bootstrap-select.multiexpand-wrapper .bs-searchbox input:focus {
    border-color: #2ecc71 !important;
    box-shadow: 0 0 0 3px rgba(46,204,113,0.12) !important;
    outline: none !important;
}
#devices_create .bootstrap-select.multiexpand-wrapper .bs-actionsbox .btn-group {
    display: flex !important;
    flex-direction: row !important;
    width: auto !important;
    float: none !important;
    gap: 6px !important;
}
#devices_create .bootstrap-select.multiexpand-wrapper .bs-actionsbox .btn-group button,
#devices_create .bootstrap-select.multiexpand-wrapper .bs-actionsbox button {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    float: none !important;
    padding: 5px 14px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    border: 1px solid #ced4da !important;
    background: #fff !important;
    color: #495057 !important;
    border-radius: 4px !important;
    line-height: 1.4 !important;
    box-shadow: none !important;
    white-space: nowrap !important;
}
#devices_create .bootstrap-select.multiexpand-wrapper .bs-actionsbox button:hover {
    background: #f0faf5 !important;
    border-color: #2ecc71 !important;
    color: #27ae60 !important;
}
#devices_create .bootstrap-select.multiexpand-wrapper .dropdown-menu .inner,
#devices_create .bootstrap-select.multiexpand-wrapper ul.dropdown-menu.inner {
    grid-area: list !important;
    max-height: 320px !important;
    overflow-y: auto !important;
    padding: 4px !important;
    list-style: none !important;
    margin: 0 !important;
    position: static !important;
    display: block !important;
    background: #fff !important;
}
#devices_create .bootstrap-select.multiexpand-wrapper .dropdown-menu li {
    list-style: none !important;
}
#devices_create .bootstrap-select.multiexpand-wrapper .dropdown-menu li > a {
    padding: 6px 10px !important;
    font-size: 13px !important;
    color: #495057 !important;
    border-radius: 4px !important;
    display: flex !important;
    align-items: center !important;
    cursor: pointer;
}
#devices_create .bootstrap-select.multiexpand-wrapper .dropdown-menu li > a:hover {
    background: #f0faf5 !important;
    color: #27ae60 !important;
}
#devices_create .bootstrap-select.multiexpand-wrapper .dropdown-menu li.selected > a {
    background: rgba(46,204,113,0.12) !important;
    color: #27ae60 !important;
    font-weight: 600;
}
#devices_create .bootstrap-select.multiexpand-wrapper .bs-pagination,
#devices_create .bootstrap-select.multiexpand-wrapper .pagination {
    grid-area: pagination !important;
    padding: 6px 8px !important;
    background: #f8f9fa !important;
    border-top: 1px solid #e9ecef !important;
    margin: 0 !important;
    display: flex !important;
    justify-content: flex-end;
    gap: 2px;
}
#devices_create .bootstrap-select.multiexpand-wrapper .bs-pagination li,
#devices_create .bootstrap-select.multiexpand-wrapper .pagination li { list-style: none !important; }
#devices_create .bootstrap-select.multiexpand-wrapper .bs-pagination li > a,
#devices_create .bootstrap-select.multiexpand-wrapper .pagination li > a {
    padding: 3px 8px !important;
    font-size: 12px !important;
    border-radius: 4px !important;
    background: #fff !important;
    border: 1px solid #ced4da !important;
    color: #495057 !important;
}
#devices_create .bootstrap-select.multiexpand-wrapper .bs-pagination li.active > a,
#devices_create .bootstrap-select.multiexpand-wrapper .pagination li.active > a {
    background: #2ecc71 !important;
    color: #fff !important;
    border-color: #27ae60 !important;
}

/* ─── Check-mark (multiselect) — create ────────────────── */

/* Esconde o span .check-mark original do bootstrap-select (show-tick) */
#devices_create .multiexpand-wrapper .check-mark,
#devices_create .multiexpand-wrapper span.check-mark,
#devices_create .multiexpand-wrapper .glyphicon.check-mark {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
    opacity: 0 !important;
    position: absolute !important;
    pointer-events: none !important;
}

/* Checkbox via ::before no <a> — sem conflito com a lib */
#devices_create .multiexpand-wrapper .dropdown-menu li > a {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

/* Altura maior para a lista de usuários */
#devices_create .multiexpand-wrapper .dropdown-menu .inner,
#devices_create .multiexpand-wrapper ul.dropdown-menu.inner {
    max-height: 320px !important;
}

/* Tab Ícones — create: grid 2 colunas (só na aba ativa) */
#devices_create #device-add-form-icons.active div[data-disablable="#device_icons_type;hide;arrow"] {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 0 18px;
}
#devices_create #device-add-form-icons .form-group {
    max-width: none;
    width: 100%;
}

/* ══════════════════════════════════════════════════════════
   Bootstrap-select — #devices_edit
   Selects simples → nativo; multiexpand → dropdown estilizado
   ══════════════════════════════════════════════════════════ */

/* Selects simples */
#devices_edit .bootstrap-select:not(.multiexpand-wrapper) > .btn.dropdown-toggle,
#devices_edit .bootstrap-select:not(.multiexpand-wrapper) > .dropdown-menu,
#devices_edit .bootstrap-select:not(.multiexpand-wrapper) .bs-caret {
    display: none !important;
}
#devices_edit .bootstrap-select:not(.multiexpand-wrapper) > select.form-control,
#devices_edit .bootstrap-select:not(.multiexpand-wrapper) select {
    position: static !important;
    clip: auto !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    width: 100% !important;
    height: 36px !important;
    padding: 6px 12px !important;
    font-size: 13px !important;
    color: #495057 !important;
    background-color: #fff !important;
    border: 1px solid #ced4da !important;
    border-radius: 4px !important;
    appearance: auto !important;
    -webkit-appearance: menulist !important;
}
#devices_edit .bootstrap-select:not(.multiexpand-wrapper).form-control,
#devices_edit div.bootstrap-select:not(.multiexpand-wrapper) {
    height: auto !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    width: 100% !important;
    display: block !important;
}

/* Multiexpand — dropdown estilizado */
#devices_edit .bootstrap-select.multiexpand-wrapper {
    height: auto !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    width: 100% !important;
    display: block !important;
    position: relative !important;
}
#devices_edit .bootstrap-select.multiexpand-wrapper > .btn.dropdown-toggle {
    height: 36px !important;
    padding: 6px 12px !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    color: #495057 !important;
    background-color: #fff !important;
    background-image: none !important;
    border: 1px solid #ced4da !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    width: 100% !important;
    text-align: left !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    outline: none !important;
}
#devices_edit .bootstrap-select.open > .btn.dropdown-toggle,
#devices_edit .bootstrap-select > .btn.dropdown-toggle:focus {
    border-color: #2ecc71 !important;
    box-shadow: 0 0 0 3px rgba(46,204,113,0.12) !important;
    background-color: #fff !important;
}
#devices_edit .bootstrap-select .filter-option {
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
#devices_edit .bootstrap-select .bs-caret,
#devices_edit .bootstrap-select .caret {
    margin-left: 8px;
    color: #6c757d;
}
#devices_edit .bootstrap-select { position: relative !important; }
#devices_edit .bootstrap-select .dropdown-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1060 !important;
    background: #fff !important;
    border-radius: 6px !important;
    border: 1px solid #e9ecef !important;
    box-shadow: 0 4px 14px rgba(0,0,0,0.10) !important;
    padding: 4px !important;
    margin-top: 4px !important;
    min-width: 100% !important;
}
#devices_edit .bootstrap-select.open { z-index: 1061 !important; }
#devices_edit .bootstrap-select .dropdown-menu .inner { padding: 0 !important; }
#devices_edit .bootstrap-select .dropdown-menu li > a {
    padding: 7px 10px !important;
    font-size: 13px !important;
    color: #495057 !important;
    border-radius: 4px !important;
    display: flex !important;
    align-items: center !important;
    transition: background 0.12s ease;
}
#devices_edit .bootstrap-select .dropdown-menu li > a:hover {
    background: #f0faf5 !important;
    color: #27ae60 !important;
}
#devices_edit .bootstrap-select .dropdown-menu li.selected > a {
    background: rgba(46,204,113,0.12) !important;
    color: #27ae60 !important;
    font-weight: 600;
}
#devices_edit .bootstrap-select .check-mark { margin-right: 4px; }
#devices_edit .bootstrap-select > select.form-control {
    position: absolute !important;
    clip: rect(0,0,0,0) !important;
    height: 0 !important;
    padding: 0 !important;
    border: none !important;
}

/* ─── Multiexpand — #devices_edit (mesmos estilos do create) ── */
#devices_edit .bootstrap-select.multiexpand-wrapper {
    border: 1px solid #ced4da !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    background: #fff !important;
}
#devices_edit .bootstrap-select.multiexpand-wrapper > .btn.dropdown-toggle {
    display: none !important;
}
#devices_edit .bootstrap-select.multiexpand-wrapper .dropdown-menu {
    position: static !important;
    display: grid !important;
    grid-template-areas:
        "actions search"
        "list list"
        "pagination pagination" !important;
    grid-template-columns: auto 1fr !important;
    float: none !important;
    width: 100% !important;
    background: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    z-index: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    top: auto !important; left: auto !important; right: auto !important;
}
#devices_edit .bootstrap-select.multiexpand-wrapper .bs-actionsbox {
    grid-area: actions !important;
    padding: 6px 10px !important;
    background: #f8f9fa !important;
    border-bottom: 1px solid #e9ecef !important;
    border-right: 1px solid #e9ecef !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    box-sizing: border-box !important;
}
#devices_edit .bootstrap-select.multiexpand-wrapper .bs-actionsbox .btn-group {
    display: flex !important;
    flex-direction: row !important;
    width: auto !important;
    float: none !important;
    gap: 6px !important;
}
#devices_edit .bootstrap-select.multiexpand-wrapper .bs-actionsbox .btn-group button,
#devices_edit .bootstrap-select.multiexpand-wrapper .bs-actionsbox button {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    float: none !important;
    padding: 5px 14px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    border: 1px solid #ced4da !important;
    background: #fff !important;
    color: #495057 !important;
    border-radius: 4px !important;
    line-height: 1.4 !important;
    box-shadow: none !important;
    white-space: nowrap !important;
}
#devices_edit .bootstrap-select.multiexpand-wrapper .bs-actionsbox button:hover {
    background: #f0faf5 !important;
    border-color: #2ecc71 !important;
    color: #27ae60 !important;
}
#devices_edit .bootstrap-select.multiexpand-wrapper .bs-searchbox {
    grid-area: search !important;
    padding: 6px 10px !important;
    border-bottom: 1px solid #e9ecef !important;
    display: flex !important;
    align-items: center !important;
    background: #f8f9fa !important;
}
#devices_edit .bootstrap-select.multiexpand-wrapper .bs-searchbox input {
    height: 32px !important;
    border-radius: 4px !important;
    font-size: 13px !important;
    padding: 6px 10px !important;
    border: 1px solid #ced4da !important;
    width: 100% !important;
    background: #fff !important;
}
#devices_edit .bootstrap-select.multiexpand-wrapper .bs-searchbox input:focus {
    border-color: #2ecc71 !important;
    box-shadow: 0 0 0 3px rgba(46,204,113,0.12) !important;
    outline: none !important;
}
#devices_edit .bootstrap-select.multiexpand-wrapper .dropdown-menu .inner,
#devices_edit .bootstrap-select.multiexpand-wrapper ul.dropdown-menu.inner {
    grid-area: list !important;
    max-height: 320px !important;
    overflow-y: auto !important;
    padding: 4px !important;
    list-style: none !important;
    margin: 0 !important;
    position: static !important;
    display: block !important;
    background: #fff !important;
}
#devices_edit .bootstrap-select.multiexpand-wrapper .dropdown-menu li {
    list-style: none !important;
}
#devices_edit .bootstrap-select.multiexpand-wrapper .dropdown-menu li > a {
    padding: 6px 10px !important;
    font-size: 13px !important;
    color: #495057 !important;
    border-radius: 4px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    cursor: pointer;
}
#devices_edit .bootstrap-select.multiexpand-wrapper .dropdown-menu li > a:hover {
    background: #f0faf5 !important;
    color: #27ae60 !important;
}
#devices_edit .bootstrap-select.multiexpand-wrapper .dropdown-menu li.selected > a {
    background: rgba(46,204,113,0.12) !important;
    color: #27ae60 !important;
    font-weight: 600;
}
/* Check-mark oculto + checkbox via ::before */
#devices_edit .multiexpand-wrapper .check-mark,
#devices_edit .multiexpand-wrapper span.check-mark,
#devices_edit .multiexpand-wrapper .glyphicon.check-mark {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
    opacity: 0 !important;
    position: absolute !important;
}
#devices_edit .multiexpand-wrapper .dropdown-menu li > a::before {
    content: '' !important;
    display: inline-block !important;
    flex-shrink: 0 !important;
    width: 15px !important;
    height: 15px !important;
    border: 2px solid #ced4da !important;
    border-radius: 3px !important;
    background: #fff !important;
    transition: border-color 0.15s, background 0.15s !important;
}
#devices_edit .multiexpand-wrapper .dropdown-menu li.selected > a::before {
    border-color: #2ecc71 !important;
    background: #2ecc71 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpolyline points='1,5 4.5,8.5 11,1' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-size: 10px 8px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}
#devices_edit .bootstrap-select.multiexpand-wrapper .bs-pagination,
#devices_edit .bootstrap-select.multiexpand-wrapper .pagination {
    grid-area: pagination !important;
    padding: 6px 8px !important;
    background: #f8f9fa !important;
    border-top: 1px solid #e9ecef !important;
    margin: 0 !important;
    display: flex !important;
    justify-content: flex-end;
    gap: 2px;
}
#devices_edit .bootstrap-select.multiexpand-wrapper .bs-pagination li,
#devices_edit .bootstrap-select.multiexpand-wrapper .pagination li { list-style: none !important; }
#devices_edit .bootstrap-select.multiexpand-wrapper .bs-pagination li > a,
#devices_edit .bootstrap-select.multiexpand-wrapper .pagination li > a {
    padding: 3px 8px !important;
    font-size: 12px !important;
    border-radius: 4px !important;
    background: #fff !important;
    border: 1px solid #ced4da !important;
    color: #495057 !important;
}
#devices_edit .bootstrap-select.multiexpand-wrapper .bs-pagination li.active > a,
#devices_edit .bootstrap-select.multiexpand-wrapper .pagination li.active > a {
    background: #2ecc71 !important;
    color: #fff !important;
    border-color: #27ae60 !important;
}

/* Tab Ícones — edit: grid 2 colunas (só na aba ativa) */
#devices_edit #device-form-icons.active div[data-disablable="#device_icons_type;hide;arrow"] {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 0 18px;
}
#devices_edit #device-form-icons .form-group {
    max-width: none;
    width: 100%;
}

/* ══════════════════════════════════════════════════════════
   #send_command — Enviar Comando
   ══════════════════════════════════════════════════════════ */
#send_command .modal-header {
    background: #f8f9fa;
    border-bottom: 2px solid #eee;
    padding: 14px 20px;
    border-radius: 8px 8px 0 0 !important;
}
#send_command .modal-header .close {
    margin-top: 6px;
    opacity: 0.5;
    font-size: 20px;
}
#send_command .modal-header .close:hover { opacity: 1; }
#send_command .modal-title { width: 100%; }

#send_command .modal-content {
    border-radius: 8px !important;
    border: none !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.15) !important;
    overflow: hidden !important;
}
#send_command .modal-footer {
    border-radius: 0 0 8px 8px !important;
    background: #f8f9fa !important;
    border-top: 1px solid #e9ecef !important;
}
#send_command .modal-footer .btn {
    font-size: 13px !important;
    padding: 7px 16px !important;
    border-radius: 6px !important;
    font-weight: 500 !important;
}
#send_command .modal-footer .btn-action,
#send_command .modal-footer .btn-primary {
    background: linear-gradient(135deg, #2ecc71, #27ae60) !important;
    border: none !important;
    color: #fff !important;
}

/* Tabs */
#send_command .nav-tabs,
#send_command ul.nav-tabs {
    border: none !important;
    border-bottom: 2px solid #e9ecef !important;
    padding: 0 16px !important;
    background: #fff !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 0 !important;
    list-style: none !important;
    margin: 0 !important;
    box-shadow: inset 0 -1px 0 #f1f3f5;
}
#send_command .nav-tabs > li,
#send_command .nav-tabs li {
    float: none !important;
    display: inline-flex !important;
    align-items: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    list-style: none !important;
    position: relative !important;
}
#send_command .nav-tabs > li > a,
#send_command .nav-tabs li a[data-toggle="tab"],
#send_command .nav-tabs li > a[role="tab"] {
    font-size: 12px !important;
    font-weight: 500 !important;
    padding: 10px 14px !important;
    margin: 0 !important;
    color: #6c757d !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    white-space: nowrap !important;
    transition: color 0.18s ease, border-color 0.18s ease !important;
    line-height: 1.4 !important;
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
    outline: none !important;
    margin-bottom: -2px !important;
    letter-spacing: 0.2px;
}
#send_command .nav-tabs > li > a:hover,
#send_command .nav-tabs > li > a:focus {
    color: #2ecc71 !important;
    background: transparent !important;
    border-bottom-color: #b6e8c9 !important;
    text-decoration: none !important;
}
#send_command .nav-tabs > li.active > a,
#send_command .nav-tabs > li.active > a:link,
#send_command .nav-tabs > li.active > a:visited,
#send_command .nav-tabs > li.active > a:focus,
#send_command .nav-tabs > li.active > a:hover {
    color: #27ae60 !important;
    background: transparent !important;
    border-color: transparent !important;
    border-bottom: 2px solid #2ecc71 !important;
    font-weight: 700 !important;
    width: auto !important;
    height: auto !important;
}
#send_command .tab-content {
    background: #fff;
    padding: 20px 22px;
}

/* Inputs */
#send_command .form-control,
#send_command input[type="text"],
#send_command select,
#send_command textarea {
    height: 36px !important;
    padding: 6px 12px !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    color: #495057 !important;
    background-color: #fff !important;
    border: 1px solid #ced4da !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
#send_command .form-control:focus,
#send_command input:focus,
#send_command select:focus,
#send_command textarea:focus {
    border-color: #2ecc71 !important;
    box-shadow: 0 0 0 3px rgba(46,204,113,0.12) !important;
    outline: none !important;
}
#send_command label {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #495057 !important;
    margin-bottom: 4px !important;
    display: inline-block;
}
#send_command .form-group {
    margin-bottom: 14px !important;
}

/* Bootstrap-select dentro do send_command (selects com live-search) */
#send_command .bootstrap-select > .btn.dropdown-toggle {
    height: 36px !important;
    padding: 6px 12px !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    color: #495057 !important;
    background-color: #fff !important;
    background-image: none !important;
    border: 1px solid #ced4da !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    width: 100% !important;
    text-align: left !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}
#send_command .bootstrap-select.open > .btn.dropdown-toggle,
#send_command .bootstrap-select > .btn.dropdown-toggle:focus {
    border-color: #2ecc71 !important;
    box-shadow: 0 0 0 3px rgba(46,204,113,0.12) !important;
    background-color: #fff !important;
}
#send_command .bootstrap-select { position: relative !important; }
#send_command .bootstrap-select.open { z-index: 1061 !important; }
#send_command .bootstrap-select .dropdown-menu {
    border-radius: 6px !important;
    border: 1px solid #e9ecef !important;
    box-shadow: 0 4px 14px rgba(0,0,0,0.10) !important;
    padding: 4px !important;
    margin-top: 4px !important;
}
#send_command .bootstrap-select .dropdown-menu li > a {
    padding: 7px 10px !important;
    font-size: 13px !important;
    color: #495057 !important;
    border-radius: 4px !important;
}
#send_command .bootstrap-select .dropdown-menu li > a:hover {
    background: #f0faf5 !important;
    color: #27ae60 !important;
}
#send_command .bootstrap-select .dropdown-menu li.selected > a,
#send_command .bootstrap-select .dropdown-menu li.active > a {
    background: rgba(46,204,113,0.12) !important;
    color: #27ae60 !important;
    font-weight: 600;
}
#send_command .bootstrap-select > select.form-control {
    position: absolute !important;
    clip: rect(0,0,0,0) !important;
    height: 0 !important;
    padding: 0 !important;
    border: none !important;
}
#send_command .bootstrap-select.form-control {
    height: auto !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* ══════════════════════════════════════════════════════════
   Câmera / Mídia — #camera_photos, #device_camera_create,
                    #device_camera_edit
   ══════════════════════════════════════════════════════════ */

/* Header padronizado */
#camera_photos .modal-header,
#device_camera_create .modal-header,
#device_camera_edit .modal-header {
    background: #f8f9fa;
    border-bottom: 2px solid #eee;
    padding: 14px 20px;
    border-radius: 8px 8px 0 0 !important;
}
#camera_photos .modal-header .close,
#device_camera_create .modal-header .close,
#device_camera_edit .modal-header .close {
    margin-top: 6px;
    opacity: 0.5;
    font-size: 20px;
}
#camera_photos .modal-header .close:hover,
#device_camera_create .modal-header .close:hover,
#device_camera_edit .modal-header .close:hover { opacity: 1; }
#camera_photos .modal-title,
#device_camera_create .modal-title,
#device_camera_edit .modal-title { width: 100%; }

/* Modal content */
#device_camera_create .modal-content,
#device_camera_edit .modal-content {
    border-radius: 8px !important;
    border: none !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.15) !important;
    overflow: hidden !important;
}
#device_camera_create .modal-footer,
#device_camera_edit .modal-footer {
    border-radius: 0 0 8px 8px !important;
    background: #f8f9fa !important;
    border-top: 1px solid #e9ecef !important;
}
#device_camera_create .modal-footer .btn,
#device_camera_edit .modal-footer .btn {
    font-size: 13px !important;
    padding: 7px 16px !important;
    border-radius: 6px !important;
    font-weight: 500 !important;
}
#device_camera_create .modal-footer .btn-action,
#device_camera_create .modal-footer .btn-primary,
#device_camera_edit .modal-footer .btn-action,
#device_camera_edit .modal-footer .btn-primary {
    background: linear-gradient(135deg, #2ecc71, #27ae60) !important;
    border: none !important;
    color: #fff !important;
}

/* Padding no body para modais sem tabs */
.modal-body-pad {
    padding: 20px 22px;
}

/* Inputs padronizados */
#device_camera_create .form-control,
#device_camera_create input[type="text"],
#device_camera_edit .form-control,
#device_camera_edit input[type="text"] {
    height: 36px !important;
    padding: 6px 12px !important;
    font-size: 13px !important;
    color: #495057 !important;
    background-color: #fff !important;
    border: 1px solid #ced4da !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
#device_camera_create .form-control:focus,
#device_camera_create input:focus,
#device_camera_edit .form-control:focus,
#device_camera_edit input:focus {
    border-color: #2ecc71 !important;
    box-shadow: 0 0 0 3px rgba(46,204,113,0.12) !important;
    outline: none !important;
}
#device_camera_create label,
#device_camera_edit label {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #495057 !important;
    margin-bottom: 4px !important;
    display: inline-block;
}
#device_camera_create .form-group,
#device_camera_edit .form-group {
    margin-bottom: 14px !important;
}
#device_camera_create .checkbox label,
#device_camera_edit .checkbox label {
    font-size: 13px !important;
    font-weight: 500 !important;
}

/* Modal full-screen câmera — layout e header */
#camera_photos .modal-dialog {
    width: calc(100vw - 20px) !important;
    max-width: none !important;
    height: calc(100vh - 20px) !important;
    margin: 10px !important;
}
#camera_photos .modal-content {
    height: 100% !important;
    border-radius: 8px !important;
    border: none !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.2) !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
}
#camera_photos .modal-body {
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    max-height: none !important;
    padding: 15px !important;
}
#camera_photos .modal-header {
    background: linear-gradient(135deg, #27ae60, #1e8449);
    border-bottom: none;
    flex-shrink: 0;
}
#camera_photos .modal-header .close {
    color: #fff;
    opacity: 0.7;
}
#camera_photos .modal-header .close:hover { opacity: 1; }

/* ══════════════════════════════════════════════════════════
   Tarefas — #tasks_edit, #tasks_assign, #tasks_import_set,
             #tasks_delete, #task_sets_create, #task_sets_edit
   ══════════════════════════════════════════════════════════ */

#tasks_edit .modal-header,
#tasks_assign .modal-header,
#tasks_import_set .modal-header,
#tasks_delete .modal-header,
#task_sets_create .modal-header,
#task_sets_edit .modal-header {
    background: #f8f9fa;
    border-bottom: 2px solid #eee;
    padding: 14px 20px;
    border-radius: 8px 8px 0 0 !important;
}
#tasks_edit .modal-header .close,
#tasks_assign .modal-header .close,
#tasks_import_set .modal-header .close,
#tasks_delete .modal-header .close,
#task_sets_create .modal-header .close,
#task_sets_edit .modal-header .close {
    margin-top: 6px;
    opacity: 0.5;
    font-size: 20px;
}
#tasks_edit .modal-header .close:hover,
#tasks_assign .modal-header .close:hover,
#tasks_import_set .modal-header .close:hover,
#tasks_delete .modal-header .close:hover,
#task_sets_create .modal-header .close:hover,
#task_sets_edit .modal-header .close:hover { opacity: 1; }

#tasks_edit .modal-title,
#tasks_assign .modal-title,
#tasks_import_set .modal-title,
#tasks_delete .modal-title,
#task_sets_create .modal-title,
#task_sets_edit .modal-title { width: 100%; }

#tasks_edit .modal-content,
#tasks_assign .modal-content,
#tasks_import_set .modal-content,
#tasks_delete .modal-content,
#task_sets_create .modal-content,
#task_sets_edit .modal-content {
    border-radius: 8px !important;
    border: none !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.15) !important;
    overflow: hidden !important;
}
#tasks_edit .modal-footer,
#tasks_assign .modal-footer,
#tasks_import_set .modal-footer,
#tasks_delete .modal-footer,
#task_sets_create .modal-footer,
#task_sets_edit .modal-footer {
    border-radius: 0 0 8px 8px !important;
    background: #f8f9fa !important;
    border-top: 1px solid #e9ecef !important;
}
#tasks_edit .modal-footer .btn,
#tasks_assign .modal-footer .btn,
#tasks_import_set .modal-footer .btn,
#tasks_delete .modal-footer .btn,
#task_sets_create .modal-footer .btn,
#task_sets_edit .modal-footer .btn {
    font-size: 13px !important;
    padding: 7px 16px !important;
    border-radius: 6px !important;
    font-weight: 500 !important;
}
#tasks_edit .modal-footer .btn-action,
#tasks_edit .modal-footer .btn-primary,
#tasks_assign .modal-footer .btn-action,
#tasks_assign .modal-footer .btn-primary,
#tasks_import_set .modal-footer .btn-action,
#tasks_import_set .modal-footer .btn-primary,
#task_sets_create .modal-footer .btn-action,
#task_sets_create .modal-footer .btn-primary,
#task_sets_edit .modal-footer .btn-action,
#task_sets_edit .modal-footer .btn-primary {
    background: linear-gradient(135deg, #2ecc71, #27ae60) !important;
    border: none !important;
    color: #fff !important;
}
/* Botão de confirmação de delete — vermelho */
#tasks_delete .modal-footer .btn-action {
    background: linear-gradient(135deg, #e74c3c, #c0392b) !important;
}

/* Inputs */
#tasks_edit .form-control,
#tasks_edit input[type="text"],
#tasks_edit select,
#tasks_edit textarea,
#tasks_assign .form-control,
#tasks_assign input[type="text"],
#tasks_assign select,
#tasks_import_set .form-control,
#tasks_import_set input[type="text"],
#tasks_import_set select,
#task_sets_create .form-control,
#task_sets_create input[type="text"],
#task_sets_edit .form-control,
#task_sets_edit input[type="text"] {
    height: 36px !important;
    padding: 6px 12px !important;
    font-size: 13px !important;
    color: #495057 !important;
    background-color: #fff !important;
    border: 1px solid #ced4da !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}
#tasks_edit textarea.form-control,
#tasks_assign textarea.form-control {
    height: auto !important;
    min-height: 70px !important;
}
#tasks_edit .form-control:focus,
#tasks_edit input:focus,
#tasks_edit select:focus,
#tasks_edit textarea:focus,
#tasks_assign .form-control:focus,
#tasks_assign input:focus,
#tasks_assign select:focus,
#tasks_import_set .form-control:focus,
#task_sets_create .form-control:focus,
#task_sets_create input:focus,
#task_sets_edit .form-control:focus,
#task_sets_edit input:focus {
    border-color: #2ecc71 !important;
    box-shadow: 0 0 0 3px rgba(46,204,113,0.12) !important;
    outline: none !important;
}
#tasks_edit label,
#tasks_assign label,
#tasks_import_set label,
#task_sets_create label,
#task_sets_edit label {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #495057 !important;
    margin-bottom: 4px !important;
    display: inline-block;
}
#tasks_edit .form-group,
#tasks_assign .form-group,
#tasks_import_set .form-group,
#task_sets_create .form-group,
#task_sets_edit .form-group {
    margin-bottom: 14px !important;
}

/* Bootstrap-select dentro dos modais de tarefas */
#tasks_edit .bootstrap-select > .btn.dropdown-toggle,
#tasks_assign .bootstrap-select > .btn.dropdown-toggle {
    height: 36px !important;
    padding: 6px 12px !important;
    font-size: 13px !important;
    color: #495057 !important;
    background-color: #fff !important;
    background-image: none !important;
    border: 1px solid #ced4da !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    width: 100% !important;
    text-align: left !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}
#tasks_edit .bootstrap-select.open > .btn.dropdown-toggle,
#tasks_edit .bootstrap-select > .btn.dropdown-toggle:focus,
#tasks_assign .bootstrap-select.open > .btn.dropdown-toggle,
#tasks_assign .bootstrap-select > .btn.dropdown-toggle:focus {
    border-color: #2ecc71 !important;
    box-shadow: 0 0 0 3px rgba(46,204,113,0.12) !important;
    background-color: #fff !important;
}
#tasks_edit .bootstrap-select,
#tasks_assign .bootstrap-select { position: relative !important; }
#tasks_edit .bootstrap-select.open,
#tasks_assign .bootstrap-select.open { z-index: 1061 !important; }
#tasks_edit .bootstrap-select .dropdown-menu,
#tasks_assign .bootstrap-select .dropdown-menu {
    border-radius: 6px !important;
    border: 1px solid #e9ecef !important;
    box-shadow: 0 4px 14px rgba(0,0,0,0.10) !important;
    padding: 4px !important;
    margin-top: 4px !important;
}
#tasks_edit .bootstrap-select .dropdown-menu li > a,
#tasks_assign .bootstrap-select .dropdown-menu li > a {
    padding: 7px 10px !important;
    font-size: 13px !important;
    color: #495057 !important;
    border-radius: 4px !important;
}
#tasks_edit .bootstrap-select .dropdown-menu li > a:hover,
#tasks_assign .bootstrap-select .dropdown-menu li > a:hover {
    background: #f0faf5 !important;
    color: #27ae60 !important;
}
#tasks_edit .bootstrap-select .dropdown-menu li.selected > a,
#tasks_edit .bootstrap-select .dropdown-menu li.active > a,
#tasks_assign .bootstrap-select .dropdown-menu li.selected > a,
#tasks_assign .bootstrap-select .dropdown-menu li.active > a {
    background: rgba(46,204,113,0.12) !important;
    color: #27ae60 !important;
    font-weight: 600;
}
#tasks_edit .bootstrap-select > select.form-control,
#tasks_assign .bootstrap-select > select.form-control {
    position: absolute !important;
    clip: rect(0,0,0,0) !important;
    height: 0 !important;
    padding: 0 !important;
    border: none !important;
}
#tasks_edit .bootstrap-select.form-control,
#tasks_assign .bootstrap-select.form-control {
    height: auto !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* ══════════════════════════════════════════════════════════
   Alerts modals — #alerts, #alerts_create, #alerts_edit, #alerts_destroy
   ══════════════════════════════════════════════════════════ */

/* ─── Header ──────────────────────────────────────────────── */
#alerts .modal-header,
#alerts_create .modal-header,
#alerts_edit .modal-header,
#alerts_destroy .modal-header {
    background: #f8f9fa;
    border-bottom: 2px solid #eee;
    padding: 14px 20px;
}
#alerts .modal-header .close,
#alerts_create .modal-header .close,
#alerts_edit .modal-header .close,
#alerts_destroy .modal-header .close {
    margin-top: 6px;
    opacity: 0.5;
    font-size: 20px;
}
#alerts .modal-header .close:hover,
#alerts_create .modal-header .close:hover,
#alerts_edit .modal-header .close:hover,
#alerts_destroy .modal-header .close:hover { opacity: 1; }

#alerts .modal-title,
#alerts_create .modal-title,
#alerts_edit .modal-title,
#alerts_destroy .modal-title { width: 100%; }

/* Permite dropdowns do Bootstrap Select escaparem do scroll container */
#alerts_create .modal-body,
#alerts_edit .modal-body {
    overflow: visible !important;
    max-height: none !important;
}

/* ─── Tabs (create + edit) ────────────────────────────────── */
#alerts_create .nav-tabs,
#alerts_create ul.nav-tabs,
#alerts_edit .nav-tabs,
#alerts_edit ul.nav-tabs {
    border: none !important;
    border-bottom: 2px solid #e9ecef !important;
    padding: 0 16px !important;
    background: #fff !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 0 !important;
    list-style: none !important;
    margin: 0 !important;
    box-shadow: inset 0 -1px 0 #f1f3f5;
}
#alerts_create .nav-tabs > li,
#alerts_create .nav-tabs li,
#alerts_edit .nav-tabs > li,
#alerts_edit .nav-tabs li {
    float: none !important;
    display: inline-flex !important;
    align-items: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    list-style: none !important;
    position: relative !important;
}
#alerts_create .nav-tabs > li > a,
#alerts_create .nav-tabs li a[data-toggle="tab"],
#alerts_create .nav-tabs li > a[role="tab"],
#alerts_edit .nav-tabs > li > a,
#alerts_edit .nav-tabs li a[data-toggle="tab"],
#alerts_edit .nav-tabs li > a[role="tab"] {
    font-size: 12px !important;
    font-weight: 500 !important;
    padding: 10px 14px !important;
    margin: 0 !important;
    color: #6c757d !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    white-space: nowrap !important;
    transition: color 0.18s ease, border-color 0.18s ease !important;
    line-height: 1.4 !important;
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
    outline: none !important;
    margin-bottom: -2px !important;
    letter-spacing: 0.2px;
}
#alerts_create .nav-tabs > li > a:hover,
#alerts_create .nav-tabs > li > a:focus,
#alerts_edit .nav-tabs > li > a:hover,
#alerts_edit .nav-tabs > li > a:focus {
    color: #2ecc71 !important;
    background: transparent !important;
    border-bottom-color: #b6e8c9 !important;
    text-decoration: none !important;
}
#alerts_create .nav-tabs > li.active > a,
#alerts_create .nav-tabs > li.active > a:link,
#alerts_create .nav-tabs > li.active > a:visited,
#alerts_create .nav-tabs > li.active > a:focus,
#alerts_create .nav-tabs > li.active > a:hover,
#alerts_edit .nav-tabs > li.active > a,
#alerts_edit .nav-tabs > li.active > a:link,
#alerts_edit .nav-tabs > li.active > a:visited,
#alerts_edit .nav-tabs > li.active > a:focus,
#alerts_edit .nav-tabs > li.active > a:hover {
    color: #27ae60 !important;
    background: transparent !important;
    border-color: transparent !important;
    border-bottom: 2px solid #2ecc71 !important;
    font-weight: 700 !important;
}
#alerts_create .tab-content,
#alerts_edit .tab-content {
    background: #fff;
    padding: 20px 22px;
}

/* ─── Inputs ──────────────────────────────────────────────── */
#alerts_create .form-control,
#alerts_create input[type="text"],
#alerts_create input[type="number"],
#alerts_create input[type="email"],
#alerts_create select,
#alerts_create textarea,
#alerts_edit .form-control,
#alerts_edit input[type="text"],
#alerts_edit input[type="number"],
#alerts_edit input[type="email"],
#alerts_edit select,
#alerts_edit textarea {
    height: 36px !important;
    padding: 6px 12px;
    font-size: 13px !important;
    line-height: 1.4 !important;
    color: #495057 !important;
    background-color: #fff !important;
    background-image: none !important;
    border: 1px solid #ced4da !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
#alerts_create textarea.form-control,
#alerts_edit textarea.form-control {
    height: auto !important;
    min-height: 70px !important;
}
#alerts_create .form-control:focus,
#alerts_create input:focus,
#alerts_create select:focus,
#alerts_create textarea:focus,
#alerts_edit .form-control:focus,
#alerts_edit input:focus,
#alerts_edit select:focus,
#alerts_edit textarea:focus {
    border-color: #2ecc71 !important;
    box-shadow: 0 0 0 3px rgba(46,204,113,0.12) !important;
    outline: none !important;
}
#alerts_create label,
#alerts_edit label {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #495057 !important;
    margin-bottom: 4px !important;
    display: inline-block;
}
#alerts_create .form-group,
#alerts_edit .form-group {
    margin-bottom: 14px !important;
    position: relative;
}

/* ─── Footer buttons ──────────────────────────────────────── */
#alerts .modal-footer .btn,
#alerts_create .modal-footer .btn,
#alerts_edit .modal-footer .btn,
#alerts_destroy .modal-footer .btn {
    font-size: 13px !important;
    padding: 7px 16px !important;
    border-radius: 6px !important;
    font-weight: 500 !important;
}
#alerts_create .modal-footer .btn-action,
#alerts_create .modal-footer .btn-primary,
#alerts_edit .modal-footer .btn-action,
#alerts_edit .modal-footer .btn-primary {
    background: linear-gradient(135deg, #2ecc71, #27ae60) !important;
    border: none !important;
    color: #fff !important;
}

/* ══════════════════════════════════════════════════════════
   Reports modals — #reports_create, #reports_destroy
   ══════════════════════════════════════════════════════════ */

/* ─── Header ──────────────────────────────────────────────── */
#reports_create .modal-header,
#reports_destroy .modal-header {
    background: #f8f9fa;
    border-bottom: 2px solid #eee;
    padding: 14px 20px;
}
#reports_create .modal-header .close,
#reports_destroy .modal-header .close {
    margin-top: 6px;
    opacity: 0.5;
    font-size: 20px;
}
#reports_create .modal-header .close:hover,
#reports_destroy .modal-header .close:hover { opacity: 1; }

#reports_create .modal-title,
#reports_destroy .modal-title { width: 100%; }

/* ─── Tabs ────────────────────────────────────────────────── */
#reports_create .nav-tabs,
#reports_create ul.nav-tabs {
    border: none !important;
    border-bottom: 2px solid #e9ecef !important;
    padding: 0 5px !important;
    background: #fff !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 0 !important;
    list-style: none !important;
    margin: 0 !important;
    box-shadow: inset 0 -1px 0 #f1f3f5;
}
#reports_create .nav-tabs > li,
#reports_create .nav-tabs li {
    float: none !important;
    display: inline-flex !important;
    align-items: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    list-style: none !important;
    position: relative !important;
}
#reports_create .nav-tabs > li > a,
#reports_create .nav-tabs li a[data-toggle="tab"],
#reports_create .nav-tabs li > a[role="tab"] {
    font-size: 12px !important;
    font-weight: 500 !important;
    padding: 10px 14px !important;
    margin: 0 !important;
    color: #6c757d !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    white-space: nowrap !important;
    transition: color 0.18s ease, border-color 0.18s ease !important;
    line-height: 1.4 !important;
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
    outline: none !important;
    margin-bottom: -2px !important;
    letter-spacing: 0.2px;
    width: auto !important;
}
#reports_create .nav-tabs > li > a:hover,
#reports_create .nav-tabs > li > a:focus {
    color: #2ecc71 !important;
    background: transparent !important;
    border-bottom-color: #b6e8c9 !important;
    text-decoration: none !important;
}
#reports_create .nav-tabs > li.active > a,
#reports_create .nav-tabs > li.active > a:link,
#reports_create .nav-tabs > li.active > a:visited,
#reports_create .nav-tabs > li.active > a:focus,
#reports_create .nav-tabs > li.active > a:hover {
    color: #27ae60 !important;
    background: transparent !important;
    border-color: transparent !important;
    border-bottom: 2px solid #2ecc71 !important;
    font-weight: 700 !important;
}
#reports_create .tab-content {
    background: #fff;
    padding: 20px 22px;
}

/* ─── Inputs nativos (text, email, number, textarea) ─────── */
#reports_create input[type="text"],
#reports_create input[type="number"],
#reports_create input[type="email"],
#reports_create textarea {
    height: 36px !important;
    padding: 6px 12px !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    color: #495057 !important;
    background-color: #fff !important;
    background-image: none !important;
    border: 1px solid #ced4da !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
#reports_create textarea {
    height: auto !important;
    min-height: 70px !important;
}
#reports_create input[type="text"]:focus,
#reports_create input[type="number"]:focus,
#reports_create input[type="email"]:focus,
#reports_create textarea:focus {
    border-color: #2ecc71 !important;
    box-shadow: 0 0 0 3px rgba(46,204,113,0.12) !important;
    outline: none !important;
}

/* ─── Bootstrap-select — botão dropdown ──────────────────── */
#reports_create .bootstrap-select {
    position: relative !important;
}
#reports_create .bootstrap-select.open {
    z-index: 9999 !important;
}
#reports_create .bootstrap-select > .btn.dropdown-toggle {
    height: 36px !important;
    padding: 6px 12px !important;
    font-size: 13px !important;
    color: #495057 !important;
    background-color: #fff !important;
    background-image: none !important;
    border: 1px solid #ced4da !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    width: 100% !important;
    text-align: left !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}
#reports_create .bootstrap-select.open > .btn.dropdown-toggle,
#reports_create .bootstrap-select > .btn.dropdown-toggle:focus {
    border-color: #2ecc71 !important;
    box-shadow: 0 0 0 3px rgba(46,204,113,0.12) !important;
    background-color: #fff !important;
    outline: none !important;
}
/* Garante que o <select> nativo (escondido pelo BS-select) não seja afetado */
#reports_create .bootstrap-select > select {
    position: absolute !important;
    clip: rect(0,0,0,0) !important;
    height: 1px !important;
    width: 1px !important;
    padding: 0 !important;
    border: 0 !important;
}
#reports_create .bootstrap-select .dropdown-menu .open{
    position:absolute !important;
    right: 0px !important;
}
.bs-searchbox:before, .form-group.search:before {
    /* line-height: 30px; */
}

#reports_create .bs-searchbox:before, #reports_create .form-group.search:before {
    /* line-height: 55px !important; */
    padding-left: 7px !important;
}

#reports_create .bootstrap-select .dropdown-menu {
    z-index: 9999 !important;
    border-radius: 6px !important;
    border: 1px solid #e9ecef !important;
    box-shadow: 0 4px 14px rgba(0,0,0,0.10) !important;
    padding: 4px !important;
    font-size: 13px !important;
}
#reports_create .bootstrap-select .dropdown-menu li > a {
    padding: 7px 10px !important;
    font-size: 13px !important;
    color: #495057 !important;
    border-radius: 4px !important;
}
#reports_create .bootstrap-select .dropdown-menu li > a:hover {
    background: #f0faf5 !important;
    color: #27ae60 !important;
}
#reports_create .bootstrap-select .dropdown-menu li.selected > a,
#reports_create .bootstrap-select .dropdown-menu li.active > a {
    background: rgba(46,204,113,0.12) !important;
    color: #27ae60 !important;
    font-weight: 600;
}

/* ─── Labels e form-group ─────────────────────────────────── */
#reports_create label {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #495057 !important;
    margin-bottom: 4px !important;
    display: inline-block;
}
#reports_create .form-group {
    margin-bottom: 14px !important;
    position: relative;
}

/* ─── Footer buttons ──────────────────────────────────────── */
#reports_create .modal-footer .btn,
#reports_destroy .modal-footer .btn {
    font-size: 13px !important;
    padding: 7px 16px !important;
    border-radius: 6px !important;
    font-weight: 500 !important;
}
#reports_create .modal-footer .btn-action,
#reports_create .modal-footer .btn-primary {
    background: linear-gradient(135deg, #2ecc71, #27ae60) !important;
    border: none !important;
    color: #fff !important;
}

/* ══════════════════════════════════════════════════════════
   Tasks — modal principal #tasks (index/criação)
   ══════════════════════════════════════════════════════════ */

/* ─── Header ──────────────────────────────────────────────── */
#tasks .modal-header {
    background: #f8f9fa;
    border-bottom: 2px solid #eee;
    padding: 14px 20px;
    border-radius: 8px 8px 0 0 !important;
}
#tasks .modal-header .close {
    margin-top: 6px;
    opacity: 0.5;
    font-size: 20px;
}
#tasks .modal-header .close:hover { opacity: 1; }
#tasks .modal-title { width: 100%; }

#tasks .modal-content {
    border-radius: 8px !important;
    border: none !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.15) !important;
    overflow: hidden !important;
}

/* ─── Tabs ────────────────────────────────────────────────── */
#tasks .nav-tabs,
#tasks ul.nav-tabs {
    border: none !important;
    border-bottom: 2px solid #e9ecef !important;
    padding: 0 16px !important;
    background: #fff !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 0 !important;
    list-style: none !important;
    margin: 0 !important;
    box-shadow: inset 0 -1px 0 #f1f3f5;
}
#tasks .nav-tabs > li,
#tasks .nav-tabs li {
    float: none !important;
    display: inline-flex !important;
    align-items: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    list-style: none !important;
    position: relative !important;
}
#tasks .nav-tabs > li > a,
#tasks .nav-tabs li a[data-toggle="tab"],
#tasks .nav-tabs li > a[role="tab"] {
    font-size: 12px !important;
    font-weight: 500 !important;
    padding: 10px 14px !important;
    margin: 0 !important;
    color: #6c757d !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    white-space: nowrap !important;
    transition: color 0.18s ease, border-color 0.18s ease !important;
    line-height: 1.4 !important;
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
    outline: none !important;
    margin-bottom: -2px !important;
    letter-spacing: 0.2px;
}
#tasks .nav-tabs > li > a:hover,
#tasks .nav-tabs > li > a:focus {
    color: #2ecc71 !important;
    background: transparent !important;
    border-bottom-color: #b6e8c9 !important;
    text-decoration: none !important;
}
#tasks .nav-tabs > li.active > a,
#tasks .nav-tabs > li.active > a:link,
#tasks .nav-tabs > li.active > a:visited,
#tasks .nav-tabs > li.active > a:focus,
#tasks .nav-tabs > li.active > a:hover {
    color: #27ae60 !important;
    background: transparent !important;
    border-color: transparent !important;
    border-bottom: 2px solid #2ecc71 !important;
    font-weight: 700 !important;
}
#tasks .tab-content {
    background: #fff;
    padding: 20px 22px;
}

/* ─── Inputs nativos ──────────────────────────────────────── */
#tasks input[type="text"],
#tasks input[type="number"],
#tasks input[type="email"],
#tasks textarea {
    height: 36px !important;
    padding: 6px 12px !important;
    font-size: 13px !important;
    color: #495057 !important;
    background-color: #fff !important;
    background-image: none !important;
    border: 1px solid #ced4da !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}
#tasks textarea {
    height: auto !important;
    min-height: 70px !important;
}
#tasks input[type="text"]:focus,
#tasks input[type="number"]:focus,
#tasks textarea:focus {
    border-color: #2ecc71 !important;
    box-shadow: 0 0 0 3px rgba(46,204,113,0.12) !important;
    outline: none !important;
}

/* ─── Bootstrap-select ────────────────────────────────────── */
#tasks .bootstrap-select { position: relative !important; }
#tasks .bootstrap-select.open { z-index: 9999 !important; }
#tasks .bootstrap-select > .btn.dropdown-toggle {
    height: 36px !important;
    padding: 6px 12px !important;
    font-size: 13px !important;
    color: #495057 !important;
    background-color: #fff !important;
    background-image: none !important;
    border: 1px solid #ced4da !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    width: 100% !important;
    text-align: left !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}
#tasks .bootstrap-select.open > .btn.dropdown-toggle,
#tasks .bootstrap-select > .btn.dropdown-toggle:focus {
    border-color: #2ecc71 !important;
    box-shadow: 0 0 0 3px rgba(46,204,113,0.12) !important;
    background-color: #fff !important;
    outline: none !important;
}
#tasks .bootstrap-select > select {
    position: absolute !important;
    clip: rect(0,0,0,0) !important;
    height: 1px !important;
    width: 1px !important;
    padding: 0 !important;
    border: 0 !important;
}
#tasks .bootstrap-select .dropdown-menu {
    z-index: 9999 !important;
    border-radius: 6px !important;
    border: 1px solid #e9ecef !important;
    box-shadow: 0 4px 14px rgba(0,0,0,0.10) !important;
    padding: 4px !important;
    font-size: 13px !important;
}
#tasks .bootstrap-select .dropdown-menu li > a {
    padding: 7px 10px !important;
    font-size: 13px !important;
    color: #495057 !important;
    border-radius: 4px !important;
}
#tasks .bootstrap-select .dropdown-menu li > a:hover {
    background: #f0faf5 !important;
    color: #27ae60 !important;
}
#tasks .bootstrap-select .dropdown-menu li.selected > a,
#tasks .bootstrap-select .dropdown-menu li.active > a {
    background: rgba(46,204,113,0.12) !important;
    color: #27ae60 !important;
    font-weight: 600;
}
#tasks label {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #495057 !important;
    margin-bottom: 4px !important;
    display: inline-block;
}
#tasks .form-group {
    margin-bottom: 14px !important;
}

/* ─── Footer ──────────────────────────────────────────────── */
#tasks .modal-footer {
    border-radius: 0 0 8px 8px !important;
    background: #f8f9fa !important;
    border-top: 1px solid #e9ecef !important;
}
#tasks .modal-footer .btn {
    font-size: 13px !important;
    padding: 7px 16px !important;
    border-radius: 6px !important;
    font-weight: 500 !important;
}
#tasks .modal-footer .btn-action,
#tasks .modal-footer .btn-primary {
    background: linear-gradient(135deg, #2ecc71, #27ae60) !important;
    border: none !important;
    color: #fff !important;
}

/* ══════════════════════════════════════════════════════════
   Sharing modals — #sharing, #sharing_create, #sharing_edit,
   #sharing_delete, #sharing_send, #sharing_device_delete
   ══════════════════════════════════════════════════════════ */

/* ─── Header ──────────────────────────────────────────────── */
#sharing .modal-header,
#sharing_create .modal-header,
#sharing_edit .modal-header,
#sharing_delete .modal-header,
#sharing_send .modal-header,
#sharing_device_delete .modal-header {
    background: #f8f9fa;
    border-bottom: 2px solid #eee;
    padding: 14px 20px;
    border-radius: 8px 8px 0 0 !important;
}
#sharing .modal-header .close,
#sharing_create .modal-header .close,
#sharing_edit .modal-header .close,
#sharing_delete .modal-header .close,
#sharing_send .modal-header .close,
#sharing_device_delete .modal-header .close {
    margin-top: 6px;
    opacity: 0.5;
    font-size: 20px;
}
#sharing .modal-header .close:hover,
#sharing_create .modal-header .close:hover,
#sharing_edit .modal-header .close:hover,
#sharing_delete .modal-header .close:hover,
#sharing_send .modal-header .close:hover,
#sharing_device_delete .modal-header .close:hover { opacity: 1; }

#sharing .modal-title,
#sharing_create .modal-title,
#sharing_edit .modal-title,
#sharing_delete .modal-title,
#sharing_send .modal-title,
#sharing_device_delete .modal-title { width: 100%; }

#sharing .modal-content,
#sharing_create .modal-content,
#sharing_edit .modal-content,
#sharing_delete .modal-content,
#sharing_send .modal-content,
#sharing_device_delete .modal-content {
    border-radius: 8px !important;
    border: none !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.15) !important;
    overflow: hidden !important;
}

/* ─── Tabs (#sharing index) ───────────────────────────────── */
#sharing .nav-tabs,
#sharing ul.nav-tabs {
    border: none !important;
    border-bottom: 2px solid #e9ecef !important;
    padding: 0 16px !important;
    background: #fff !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 0 !important;
    list-style: none !important;
    margin: 0 !important;
    box-shadow: inset 0 -1px 0 #f1f3f5;
}
#sharing .nav-tabs > li,
#sharing .nav-tabs li {
    float: none !important;
    display: inline-flex !important;
    align-items: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    list-style: none !important;
    position: relative !important;
}
#sharing .nav-tabs > li > a,
#sharing .nav-tabs li a[data-toggle="tab"],
#sharing .nav-tabs li > a[role="tab"] {
    font-size: 12px !important;
    font-weight: 500 !important;
    padding: 10px 14px !important;
    margin: 0 !important;
    color: #6c757d !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    white-space: nowrap !important;
    transition: color 0.18s ease, border-color 0.18s ease !important;
    line-height: 1.4 !important;
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
    outline: none !important;
    margin-bottom: -2px !important;
    letter-spacing: 0.2px;
}
#sharing .nav-tabs > li > a:hover,
#sharing .nav-tabs > li > a:focus {
    color: #2ecc71 !important;
    background: transparent !important;
    border-bottom-color: #b6e8c9 !important;
    text-decoration: none !important;
}
#sharing .nav-tabs > li.active > a,
#sharing .nav-tabs > li.active > a:link,
#sharing .nav-tabs > li.active > a:visited,
#sharing .nav-tabs > li.active > a:focus,
#sharing .nav-tabs > li.active > a:hover {
    color: #27ae60 !important;
    background: transparent !important;
    border-color: transparent !important;
    border-bottom: 2px solid #2ecc71 !important;
    font-weight: 700 !important;
}
#sharing .tab-content {
    background: #fff;
    padding: 20px 22px;
}

/* ─── Inputs ──────────────────────────────────────────────── */
#sharing_create input[type="text"],
#sharing_create input[type="email"],
#sharing_edit input[type="text"],
#sharing_edit input[type="email"],
#sharing_send input[type="text"],
#sharing_send input[type="email"],
#sharing .tab-content input[type="text"],
#sharing .tab-content input[type="email"] {
    height: 36px !important;
    padding: 6px 12px !important;
    font-size: 13px !important;
    color: #495057 !important;
    background-color: #fff !important;
    border: 1px solid #ced4da !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}
#sharing_create input[type="text"]:focus,
#sharing_create input[type="email"]:focus,
#sharing_edit input[type="text"]:focus,
#sharing_edit input[type="email"]:focus,
#sharing_send input[type="text"]:focus,
#sharing_send input[type="email"]:focus {
    border-color: #2ecc71 !important;
    box-shadow: 0 0 0 3px rgba(46,204,113,0.12) !important;
    outline: none !important;
}
#sharing_create label,
#sharing_edit label,
#sharing_send label,
#sharing .tab-content label {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #495057 !important;
    margin-bottom: 4px !important;
    display: inline-block;
}
#sharing_create .form-group,
#sharing_edit .form-group,
#sharing_send .form-group,
#sharing .tab-content .form-group {
    margin-bottom: 14px !important;
}

/* ─── Footer buttons ──────────────────────────────────────── */
#sharing .modal-footer,
#sharing_create .modal-footer,
#sharing_edit .modal-footer,
#sharing_delete .modal-footer,
#sharing_send .modal-footer,
#sharing_device_delete .modal-footer {
    border-radius: 0 0 8px 8px !important;
    background: #f8f9fa !important;
    border-top: 1px solid #e9ecef !important;
}
#sharing .modal-footer .btn,
#sharing_create .modal-footer .btn,
#sharing_edit .modal-footer .btn,
#sharing_delete .modal-footer .btn,
#sharing_send .modal-footer .btn,
#sharing_device_delete .modal-footer .btn {
    font-size: 13px !important;
    padding: 7px 16px !important;
    border-radius: 6px !important;
    font-weight: 500 !important;
}
#sharing .modal-footer .btn-action,
#sharing .modal-footer .btn-primary,
#sharing_create .modal-footer .btn-action,
#sharing_create .modal-footer .btn-primary,
#sharing_edit .modal-footer .btn-action,
#sharing_edit .modal-footer .btn-primary,
#sharing_send .modal-footer .btn-action,
#sharing_send .modal-footer .btn-primary {
    background: linear-gradient(135deg, #2ecc71, #27ae60) !important;
    border: none !important;
    color: #fff !important;
}

/* ══════════════════════════════════════════════════════════
   #showPoint — modal estático "Mostrar ponto"
   ══════════════════════════════════════════════════════════ */
#showPoint .modal-header {
    background: #f8f9fa;
    border-bottom: 2px solid #eee;
    padding: 14px 20px;
    border-radius: 8px 8px 0 0;
}
#showPoint .modal-header .close {
    margin-top: 6px;
    opacity: 0.5;
    font-size: 20px;
}
#showPoint .modal-header .close:hover { opacity: 1; }
#showPoint .modal-title { width: 100%; }

#showPoint .modal-content {
    border-radius: 8px !important;
    border: none !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.15) !important;
    overflow: hidden !important;
}

#showPoint input[type="text"] {
    height: 36px !important;
    padding: 6px 12px !important;
    font-size: 13px !important;
    color: #495057 !important;
    background-color: #fff !important;
    border: 1px solid #ced4da !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}
#showPoint input[type="text"]:focus {
    border-color: #2ecc71 !important;
    box-shadow: 0 0 0 3px rgba(46,204,113,0.12) !important;
    outline: none !important;
}
#showPoint label {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #495057 !important;
    margin-bottom: 4px !important;
    display: inline-block;
}
#showPoint .form-group { margin-bottom: 14px !important; }

#showPoint .modal-footer {
    border-radius: 0 0 8px 8px !important;
    background: #f8f9fa !important;
    border-top: 1px solid #e9ecef !important;
}
#showPoint .modal-footer .btn {
    font-size: 13px !important;
    padding: 7px 16px !important;
    border-radius: 6px !important;
    font-weight: 500 !important;
}
#showPoint .modal-footer .btn-action {
    background: linear-gradient(135deg, #2ecc71, #27ae60) !important;
    border: none !important;
    color: #fff !important;
}

/* ══════════════════════════════════════════════════════════
   #address_map — modal Localização (address_map)
   ══════════════════════════════════════════════════════════ */
#address_map .modal-header {
    background: #f8f9fa;
    border-bottom: 2px solid #eee;
    padding: 14px 20px;
    border-radius: 8px 8px 0 0;
}
#address_map .modal-header .close {
    margin-top: 6px;
    opacity: 0.5;
    font-size: 20px;
}
#address_map .modal-header .close:hover { opacity: 1; }
#address_map .modal-title { width: 100%; }

#address_map .modal-content {
    border-radius: 8px !important;
    border: none !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.15) !important;
    overflow: hidden !important;
}

/* Input de busca */
#address_map input[type="text"].form-control {
    height: 36px !important;
    padding: 6px 12px !important;
    font-size: 13px !important;
    color: #495057 !important;
    border: 1px solid #ced4da !important;
    border-radius: 6px 0 0 6px !important;
    box-shadow: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
#address_map input[type="text"].form-control:focus {
    border-color: #2ecc71 !important;
    box-shadow: 0 0 0 3px rgba(46,204,113,0.12) !important;
    outline: none !important;
    z-index: 3;
}

/* Botão de busca */
#address_map .input-group-btn .btn {
    height: 36px !important;
    width: 36px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 0 6px 6px 0 !important;
    background: linear-gradient(135deg, #2ecc71, #27ae60) !important;
    border: none !important;
    color: #fff !important;
}
#address_map .input-group-btn .btn:hover {
    background: linear-gradient(135deg, #27ae60, #219a52) !important;
}

/* Mapa sem padding extra */
#address_map #addressMap {
    margin: 0 !important;
    border-top: 1px solid #e9ecef !important;
}

/* Bootstrap-select oculto */
#address_map .bootstrap-select > select,
#address_map select.hide-picker {
    position: absolute !important;
    clip: rect(0,0,0,0) !important;
    height: 1px !important;
    width: 1px !important;
    padding: 0 !important;
    border: 0 !important;
}
#address_map .bootstrap-select .dropdown-menu {
    z-index: 9999 !important;
    border-radius: 6px !important;
    border: 1px solid #e9ecef !important;
    box-shadow: 0 4px 14px rgba(0,0,0,0.10) !important;
}

/* Footer */
#address_map .modal-footer {
    border-radius: 0 0 8px 8px !important;
    background: #f8f9fa !important;
    border-top: 1px solid #e9ecef !important;
}
#address_map .modal-footer .btn {
    font-size: 13px !important;
    padding: 7px 16px !important;
    border-radius: 6px !important;
    font-weight: 500 !important;
}
#address_map .modal-footer .btn-action {
    background: linear-gradient(135deg, #2ecc71, #27ae60) !important;
    border: none !important;
    color: #fff !important;
}

/* ══════════════════════════════════════════════════════════
   #showAddress — modal Mostrar endereço / Localização
   ══════════════════════════════════════════════════════════ */
#showAddress .modal-header {
    background: #f8f9fa;
    border-bottom: 2px solid #eee;
    padding: 14px 20px;
    border-radius: 8px 8px 0 0;
}
#showAddress .modal-header .close {
    margin-top: 6px;
    opacity: 0.5;
    font-size: 20px;
}
#showAddress .modal-header .close:hover { opacity: 1; }
#showAddress .modal-title { width: 100%; }

#showAddress .modal-content {
    border-radius: 8px !important;
    border: none !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.15) !important;
    overflow: hidden !important;
}

#showAddress input[type="text"] {
    height: 36px !important;
    padding: 6px 12px !important;
    font-size: 13px !important;
    color: #495057 !important;
    background-color: #fff !important;
    border: 1px solid #ced4da !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}
#showAddress input[type="text"]:focus {
    border-color: #2ecc71 !important;
    box-shadow: 0 0 0 3px rgba(46,204,113,0.12) !important;
    outline: none !important;
}
#showAddress label {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #495057 !important;
    margin-bottom: 4px !important;
    display: inline-block;
}
#showAddress .form-group { margin-bottom: 14px !important; }

#showAddress .modal-footer {
    border-radius: 0 0 8px 8px !important;
    background: #f8f9fa !important;
    border-top: 1px solid #e9ecef !important;
}
#showAddress .modal-footer .btn {
    font-size: 13px !important;
    padding: 7px 16px !important;
    border-radius: 6px !important;
    font-weight: 500 !important;
}
#showAddress .modal-footer .btn-action {
    background: linear-gradient(135deg, #2ecc71, #27ae60) !important;
    border: none !important;
    color: #fff !important;
}

/* ══════════════════════════════════════════════════════════
   #device_config — Ativação do dispositivo GPS
   ══════════════════════════════════════════════════════════ */

#device_config .modal-header {
    background: #f8f9fa;
    border-bottom: 2px solid #eee;
    padding: 14px 20px;
    border-radius: 8px 8px 0 0 !important;
}
#device_config .modal-header .close {
    margin-top: 6px;
    opacity: 0.5;
    font-size: 20px;
}
#device_config .modal-header .close:hover { opacity: 1; }
#device_config .modal-title { width: 100%; }

#device_config .modal-content {
    border-radius: 8px !important;
    border: none !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.15) !important;
    overflow: hidden !important;
}

/* ─── Inputs nativos ──────────────────────────────────────── */
#device_config input[type="text"],
#device_config input[type="password"] {
    height: 36px !important;
    padding: 6px 12px !important;
    font-size: 13px !important;
    color: #495057 !important;
    background-color: #fff !important;
    border: 1px solid #ced4da !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}
#device_config input[type="text"]:focus,
#device_config input[type="password"]:focus {
    border-color: #2ecc71 !important;
    box-shadow: 0 0 0 3px rgba(46,204,113,0.12) !important;
    outline: none !important;
}

/* ─── Bootstrap-select ────────────────────────────────────── */
#device_config .bootstrap-select {
    position: relative !important;
}
#device_config .bootstrap-select.open {
    z-index: 9999 !important;
}
#device_config .bootstrap-select > .btn.dropdown-toggle {
    height: 36px !important;
    padding: 6px 12px !important;
    font-size: 13px !important;
    color: #495057 !important;
    background-color: #fff !important;
    background-image: none !important;
    border: 1px solid #ced4da !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    width: 100% !important;
    text-align: left !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}
#device_config .bootstrap-select.open > .btn.dropdown-toggle,
#device_config .bootstrap-select > .btn.dropdown-toggle:focus {
    border-color: #2ecc71 !important;
    box-shadow: 0 0 0 3px rgba(46,204,113,0.12) !important;
    background-color: #fff !important;
    outline: none !important;
}
#device_config .bootstrap-select > select {
    position: absolute !important;
    clip: rect(0,0,0,0) !important;
    height: 1px !important;
    width: 1px !important;
    padding: 0 !important;
    border: 0 !important;
}
#device_config .bootstrap-select .dropdown-menu {
    z-index: 9999 !important;
    border-radius: 6px !important;
    border: 1px solid #e9ecef !important;
    box-shadow: 0 4px 14px rgba(0,0,0,0.10) !important;
    padding: 4px !important;
    font-size: 13px !important;
}
#device_config .bootstrap-select .dropdown-menu li > a {
    padding: 7px 10px !important;
    font-size: 13px !important;
    color: #495057 !important;
    border-radius: 4px !important;
}
#device_config .bootstrap-select .dropdown-menu li > a:hover {
    background: #f0faf5 !important;
    color: #27ae60 !important;
}
#device_config .bootstrap-select .dropdown-menu li.selected > a,
#device_config .bootstrap-select .dropdown-menu li.active > a {
    background: rgba(46,204,113,0.12) !important;
    color: #27ae60 !important;
    font-weight: 600;
}

/* ─── Labels e form-group ─────────────────────────────────── */
#device_config label {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #495057 !important;
    margin-bottom: 4px !important;
    display: inline-block;
}
#device_config .form-group { margin-bottom: 14px !important; }

/* ─── Footer ──────────────────────────────────────────────── */
#device_config .modal-footer {
    border-radius: 0 0 8px 8px !important;
    background: #f8f9fa !important;
    border-top: 1px solid #e9ecef !important;
}
#device_config .modal-footer .btn {
    font-size: 13px !important;
    padding: 7px 16px !important;
    border-radius: 6px !important;
    font-weight: 500 !important;
}
#device_config .modal-footer .btn-action,
#device_config .modal-footer .btn-primary {
    background: linear-gradient(135deg, #2ecc71, #27ae60) !important;
    border: none !important;
    color: #fff !important;
}

/* ══════════════════════════════════════════════════════════
   #chat — modal Bate-papo
   ══════════════════════════════════════════════════════════ */

#chat .modal-header {
    background: #f8f9fa;
    border-bottom: 2px solid #eee;
    padding: 14px 20px;
    border-radius: 8px 8px 0 0 !important;
}
#chat .modal-header .close {
    margin-top: 6px;
    opacity: 0.5;
    font-size: 20px;
}
#chat .modal-header .close:hover { opacity: 1; }
#chat .modal-title { width: 100%; }

#chat .modal-content {
    border-radius: 8px !important;
    border: none !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.15) !important;
    overflow: hidden !important;
}

/* Painéis internos do chat */
#chat .panel {
    border-radius: 6px !important;
    border-color: #e9ecef !important;
    box-shadow: none !important;
    margin-bottom: 0 !important;
}
#chat .panel-heading {
    background: #f8f9fa !important;
    border-bottom: 1px solid #e9ecef !important;
    border-radius: 6px 6px 0 0 !important;
    padding: 10px 12px !important;
}
#chat .panel-title {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #495057 !important;
}
#chat .form-control {
    height: 32px !important;
    font-size: 12px !important;
    border-radius: 6px !important;
    border-color: #ced4da !important;
    box-shadow: none !important;
}
#chat .form-control:focus {
    border-color: #2ecc71 !important;
    box-shadow: 0 0 0 3px rgba(46,204,113,0.12) !important;
    outline: none !important;
}

/* Footer vazio — sem borda desnecessária */
#chat .modal-footer:empty,
#chat .modal-footer {
    padding: 0 !important;
    border: none !important;
    min-height: 0 !important;
}

/* ══════════════════════════════════════════════════════════
   #subscriptions_edit — modal Membership / Informação da conta
   ══════════════════════════════════════════════════════════ */

#subscriptions_edit .modal-header {
    background: #f8f9fa;
    border-bottom: 2px solid #eee;
    padding: 14px 20px;
    border-radius: 8px 8px 0 0 !important;
}
#subscriptions_edit .modal-header .close {
    margin-top: 6px;
    opacity: 0.5;
    font-size: 20px;
}
#subscriptions_edit .modal-header .close:hover { opacity: 1; }
#subscriptions_edit .modal-title { width: 100%; }

#subscriptions_edit .modal-content {
    border-radius: 8px !important;
    border: none !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.15) !important;
    overflow: hidden !important;
}

#subscriptions_edit .form-group {
    font-size: 13px !important;
    color: #495057 !important;
    margin-bottom: 10px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid #f0f0f0 !important;
}
#subscriptions_edit .form-group:last-child {
    border-bottom: none !important;
    margin-bottom: 0 !important;
}

#subscriptions_edit .btn-action.btn-xs {
    font-size: 11px !important;
    padding: 3px 10px !important;
    border-radius: 4px !important;
    background: linear-gradient(135deg, #2ecc71, #27ae60) !important;
    border: none !important;
    color: #fff !important;
    margin-left: 8px !important;
    vertical-align: middle !important;
}

#subscriptions_edit .modal-footer {
    border-radius: 0 0 8px 8px !important;
    background: #f8f9fa !important;
    border-top: 1px solid #e9ecef !important;
}
#subscriptions_edit .modal-footer .btn {
    font-size: 13px !important;
    padding: 7px 16px !important;
    border-radius: 6px !important;
    font-weight: 500 !important;
}

/* ══════════════════════════════════════════════════════════
   #my_account_settings_edit — modal Configuração
   ══════════════════════════════════════════════════════════ */

#my_account_settings_edit .modal-header {
    background: #f8f9fa;
    border-bottom: 2px solid #eee;
    padding: 14px 20px;
    border-radius: 8px 8px 0 0 !important;
}
#my_account_settings_edit .modal-header .close {
    margin-top: 6px;
    opacity: 0.5;
    font-size: 20px;
}
#my_account_settings_edit .modal-header .close:hover { opacity: 1; }
#my_account_settings_edit .modal-title { width: 100%; }

#my_account_settings_edit .modal-content {
    border-radius: 8px !important;
    border: none !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.15) !important;
    overflow: hidden !important;
}

/* ─── Tabs ────────────────────────────────────────────────── */
#my_account_settings_edit .nav-tabs,
#my_account_settings_edit ul.nav-tabs {
    border: none !important;
    border-bottom: 2px solid #e9ecef !important;
    padding: 0 16px !important;
    background: #fff !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 0 !important;
    list-style: none !important;
    margin: 0 !important;
    box-shadow: inset 0 -1px 0 #f1f3f5;
}
#my_account_settings_edit .nav-tabs > li,
#my_account_settings_edit .nav-tabs li {
    float: none !important;
    display: inline-flex !important;
    align-items: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    list-style: none !important;
    position: relative !important;
}
#my_account_settings_edit .nav-tabs > li > a,
#my_account_settings_edit .nav-tabs li a[data-toggle="tab"],
#my_account_settings_edit .nav-tabs li > a[role="tab"] {
    font-size: 12px !important;
    font-weight: 500 !important;
    padding: 10px 14px !important;
    margin: 0 !important;
    color: #6c757d !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    white-space: nowrap !important;
    transition: color 0.18s ease, border-color 0.18s ease !important;
    line-height: 1.4 !important;
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
    outline: none !important;
    margin-bottom: -2px !important;
    letter-spacing: 0.2px;
    width: 100% !important;
}
#my_account_settings_edit .nav-tabs > li > a:hover,
#my_account_settings_edit .nav-tabs > li > a:focus {
    color: #2ecc71 !important;
    background: transparent !important;
    border-bottom-color: #b6e8c9 !important;
    text-decoration: none !important;
}
#my_account_settings_edit .nav-tabs > li.active > a,
#my_account_settings_edit .nav-tabs > li.active > a:link,
#my_account_settings_edit .nav-tabs > li.active > a:visited,
#my_account_settings_edit .nav-tabs > li.active > a:focus,
#my_account_settings_edit .nav-tabs > li.active > a:hover {
    color: #27ae60 !important;
    background: transparent !important;
    border-color: transparent !important;
    border-bottom: 2px solid #2ecc71 !important;
    font-weight: 700 !important;
}

/* ─── Tab content ─────────────────────────────────────────── */
#my_account_settings_edit .tab-content {
    padding: 16px 20px !important;
}
#my_account_settings_edit .tab-pane { padding: 0 !important; }

/* ─── Inputs e selects nativos ────────────────────────────── */
#my_account_settings_edit input[type="text"],
#my_account_settings_edit input[type="password"],
#my_account_settings_edit input[type="email"],
#my_account_settings_edit input[type="number"],
#my_account_settings_edit textarea {
    height: 36px !important;
    padding: 6px 12px !important;
    font-size: 13px !important;
    color: #495057 !important;
    background-color: #fff !important;
    border: 1px solid #ced4da !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}
#my_account_settings_edit textarea {
    height: auto !important;
    min-height: 70px !important;
}
#my_account_settings_edit input[type="text"]:focus,
#my_account_settings_edit input[type="password"]:focus,
#my_account_settings_edit textarea:focus {
    border-color: #2ecc71 !important;
    box-shadow: 0 0 0 3px rgba(46,204,113,0.12) !important;
    outline: none !important;
}

/* ─── Bootstrap-select ────────────────────────────────────── */
#my_account_settings_edit .bootstrap-select { position: relative !important; }
#my_account_settings_edit .bootstrap-select.open { z-index: 9999 !important; }
#my_account_settings_edit .bootstrap-select > .btn.dropdown-toggle {
    height: 36px !important;
    padding: 6px 12px !important;
    font-size: 13px !important;
    color: #495057 !important;
    background-color: #fff !important;
    background-image: none !important;
    border: 1px solid #ced4da !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    width: 100% !important;
    text-align: left !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}
#my_account_settings_edit .bootstrap-select.open > .btn.dropdown-toggle,
#my_account_settings_edit .bootstrap-select > .btn.dropdown-toggle:focus {
    border-color: #2ecc71 !important;
    box-shadow: 0 0 0 3px rgba(46,204,113,0.12) !important;
    background-color: #fff !important;
    outline: none !important;
}
#my_account_settings_edit .bootstrap-select > select {
    position: absolute !important;
    clip: rect(0,0,0,0) !important;
    height: 1px !important;
    width: 1px !important;
    padding: 0 !important;
    border: 0 !important;
}
#my_account_settings_edit .bootstrap-select .dropdown-menu {
    z-index: 9999 !important;
    border-radius: 6px !important;
    border: 1px solid #e9ecef !important;
    box-shadow: 0 4px 14px rgba(0,0,0,0.10) !important;
    padding: 4px !important;
    font-size: 13px !important;
}
#my_account_settings_edit .bootstrap-select .dropdown-menu li > a {
    padding: 7px 10px !important;
    font-size: 13px !important;
    color: #495057 !important;
    border-radius: 4px !important;
}
#my_account_settings_edit .bootstrap-select .dropdown-menu li > a:hover {
    background: #f0faf5 !important;
    color: #27ae60 !important;
}
#my_account_settings_edit .bootstrap-select .dropdown-menu li.selected > a,
#my_account_settings_edit .bootstrap-select .dropdown-menu li.active > a {
    background: rgba(46,204,113,0.12) !important;
    color: #27ae60 !important;
    font-weight: 600;
}

/* ─── Select nativo sem bootstrap-select ─────────────────── */
#my_account_settings_edit select.form-control:not(.bootstrap-select-hidden) {
    height: 36px !important;
    padding: 6px 12px !important;
    font-size: 13px !important;
    border: 1px solid #ced4da !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* ─── Labels e form-group ─────────────────────────────────── */
#my_account_settings_edit label {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #495057 !important;
    margin-bottom: 4px !important;
    display: inline-block;
}
#my_account_settings_edit .form-group { margin-bottom: 14px !important; }
#my_account_settings_edit h4 {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #343a40 !important;
    margin: 10px 0 12px !important;
}

/* ─── Footer ──────────────────────────────────────────────── */
#my_account_settings_edit .modal-footer {
    border-radius: 0 0 8px 8px !important;
    background: #f8f9fa !important;
    border-top: 1px solid #e9ecef !important;
}
#my_account_settings_edit .modal-footer .btn {
    font-size: 13px !important;
    padding: 7px 16px !important;
    border-radius: 6px !important;
    font-weight: 500 !important;
}
#my_account_settings_edit .modal-footer .btn-action,
#my_account_settings_edit .modal-footer .btn-primary {
    background: linear-gradient(135deg, #2ecc71, #27ae60) !important;
    border: none !important;
    color: #fff !important;
}

/* ══════════════════════════════════════════════════════════
   Fix alta especificidade: padding-left para inputs com ícone
   (#id + .has-feedback + .form-control = 1,2,0) supera
   (#id + element + [attr] = 1,1,1) das regras nativas de input
   ══════════════════════════════════════════════════════════ */
#tasks .has-feedback .form-control,
#tasks_edit .has-feedback .form-control,
#tasks_assign .has-feedback .form-control,
#task_sets_create .has-feedback .form-control,
#task_sets_edit .has-feedback .form-control,
#address_map .has-feedback .form-control,
#my_account_settings_edit .has-feedback .form-control,
#devices_create .has-feedback .form-control,
#devices_edit .has-feedback .form-control,
#sharing .has-feedback .form-control,
#sharing_create .has-feedback .form-control,
#sharing_edit .has-feedback .form-control,
#sharing_send .has-feedback .form-control,
#reports_create .has-feedback .form-control,
#alerts_create .has-feedback .form-control,
#alerts_edit .has-feedback .form-control,
#send_command .has-feedback .form-control,
#device_config .has-feedback .form-control,
#showAddress .has-feedback .form-control,
#showPoint .has-feedback .form-control {
    padding-left: 36px !important;
    padding-right: 12px !important;
}
/* Placeholder — mesma cor para todos esses modais */
#tasks .has-feedback .form-control::placeholder,
#tasks_edit .has-feedback .form-control::placeholder,
#tasks_assign .has-feedback .form-control::placeholder,
#task_sets_create .has-feedback .form-control::placeholder,
#task_sets_edit .has-feedback .form-control::placeholder,
#address_map .has-feedback .form-control::placeholder,
#my_account_settings_edit .has-feedback .form-control::placeholder,
#devices_create .has-feedback .form-control::placeholder,
#devices_edit .has-feedback .form-control::placeholder,
#sharing .has-feedback .form-control::placeholder,
#sharing_create .has-feedback .form-control::placeholder,
#sharing_edit .has-feedback .form-control::placeholder,
#sharing_send .has-feedback .form-control::placeholder,
#reports_create .has-feedback .form-control::placeholder,
#alerts_create .has-feedback .form-control::placeholder,
#alerts_edit .has-feedback .form-control::placeholder,
#send_command .has-feedback .form-control::placeholder,
#device_config .has-feedback .form-control::placeholder,
#showAddress .has-feedback .form-control::placeholder,
#showPoint .has-feedback .form-control::placeholder {
    color: #adb5bd !important;
    opacity: 1 !important;
}

/* ══════════════════════════════════════════════════════════
   #language-selection modal
   ══════════════════════════════════════════════════════════ */
#language-selection .modal-header {
    background: #f8f9fa;
    border-bottom: 2px solid #eee;
    padding: 14px 20px;
    border-radius: 8px 8px 0 0 !important;
}
#language-selection .modal-header .close {
    margin-top: 6px;
    opacity: 0.5;
    font-size: 20px;
}
#language-selection .modal-header .close:hover { opacity: 1; }
#language-selection .modal-title { width: 100%; }
#language-selection .modal-content {
    border-radius: 8px !important;
    border: none !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.15) !important;
    overflow: hidden !important;
}
#language-selection .modal-footer {
    border-radius: 0 0 8px 8px !important;
    background: #f8f9fa !important;
    border-top: 1px solid #e9ecef !important;
}
#language-selection .modal-footer .btn {
    font-size: 13px !important;
    padding: 7px 16px !important;
    border-radius: 6px !important;
    font-weight: 500 !important;
}
/* Grid de idiomas */
#language-selection .lang-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    padding: 20px 22px;
}
#language-selection .lang-card {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    background: #fff;
    color: #495057;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
    cursor: pointer;
}
#language-selection .lang-card:hover {
    border-color: #2ecc71;
    background: #f0faf5;
    color: #27ae60;
    box-shadow: 0 2px 8px rgba(46,204,113,0.15);
    text-decoration: none;
}
#language-selection .lang-card img {
    width: 24px;
    height: auto;
    border-radius: 3px;
    flex-shrink: 0;
    box-shadow: 0 1px 3px rgba(0,0,0,0.18);
}

/* ══════════════════════════════════════════════════════════
   #events_lookup — modal de listagem de eventos
   ══════════════════════════════════════════════════════════ */
#events_lookup .modal-header {
    background: #f8f9fa;
    border-bottom: 2px solid #eee;
    padding: 14px 20px;
    border-radius: 8px 8px 0 0 !important;
}
#events_lookup .modal-header .close {
    margin-top: 6px;
    opacity: 0.5;
    font-size: 20px;
}
#events_lookup .modal-header .close:hover { opacity: 1; }
#events_lookup .modal-title { width: 100%; }
#events_lookup .modal-content {
    border-radius: 8px !important;
    border: none !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.15) !important;
    overflow: hidden !important;
}
#events_lookup .modal-footer {
    border-radius: 0 0 8px 8px !important;
    background: #f8f9fa !important;
    border-top: 1px solid #e9ecef !important;
}

#vehicle-list {
    padding: 0px !important;
}
