/* ============================================================
   Nodo — Tema moderno (rediseño)
   Paleta morada original. Se carga DESPUÉS de bootstrap.css.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  --nd-primary:#371a45;
  --nd-primary-dark:#1d0e26;
  --nd-primary-700:#4a2459;
  --nd-primary-600:#5d3170;
  --nd-accent:#8a5cf6;
  --nd-primary-soft:rgba(55,26,69,.06);
  --nd-primary-soft-2:rgba(55,26,69,.13);
  --nd-bg:#f4f3f8;
  --nd-surface:#ffffff;
  --nd-text:#241d2c;
  --nd-text-2:#4f4858;
  --nd-muted:#8d8799;
  --nd-border:#eceaf1;
  --nd-border-2:#e2dfe9;
  --nd-success:#1cc88a;--nd-success-bg:#e4f8f0;
  --nd-danger:#e74a3b;--nd-danger-bg:#fdecea;
  --nd-warning:#f6c23e;--nd-warning-bg:#fef6e0;
  --nd-info:#36b9cc;--nd-info-bg:#e5f7fa;
  --nd-radius:16px;--nd-radius-sm:11px;--nd-radius-xs:9px;
  --nd-shadow:0 1px 2px rgba(29,14,38,.04),0 10px 30px rgba(29,14,38,.07);
  --nd-shadow-sm:0 1px 3px rgba(29,14,38,.08);
}

/* ---------- Base ---------- */
*{box-sizing:border-box;}
body,body#page-top{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif !important;
  background:var(--nd-bg) !important;color:var(--nd-text);
  -webkit-font-smoothing:antialiased;letter-spacing:-.005em;
}
a{color:var(--nd-primary-600);text-decoration:none;}
a:hover{color:var(--nd-primary);}
::selection{background:var(--nd-primary-soft-2);}
small{font-size:.84rem;}

/* ---------- Layout ---------- */
#wrapper{align-items:stretch;}
#content-wrapper{background:var(--nd-bg);flex:1;min-width:0;}

/* ---------- Sidebar (claro, minimalista) ---------- */
html,body{overflow-x:hidden;}
#wrapper{overflow-x:hidden;}
.sidebar{
  background:var(--nd-surface) !important;background-image:none !important;
  min-height:100vh;width:16rem !important;border:none !important;
  border-right:1px solid var(--nd-border) !important;box-shadow:none;
  padding:0 !important;overflow-x:hidden;overflow-y:auto;
}
.sidebar .container-fluid{padding:0;}
.sidebar .sidebar-brand,.sidebar .navbar-brand{
  height:auto;padding:1.5rem 1.25rem 1rem;justify-content:flex-start !important;
}
.sidebar .sidebar-brand-icon span,.navbar-brand span{
  color:var(--nd-primary) !important;font-weight:800;letter-spacing:.04em;font-size:1.4rem;
}
.sidebar .sidebar-brand-icon span::after{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--nd-accent);margin-left:2px;vertical-align:1px;}
.sidebar hr.sidebar-divider{border-top:1px solid var(--nd-border);margin:.2rem 1.1rem .5rem;opacity:1;}
.sidebar .nav{padding:0 .7rem !important;width:100%;display:block;}
.sidebar .nav-item{margin:.15rem 0;list-style:none;}
.sidebar .nav-item .nav-link{
  display:flex;align-items:center;gap:.75rem;position:relative;
  width:100% !important;box-sizing:border-box;
  color:var(--nd-text-2) !important;font-size:.875rem;font-weight:500;
  padding:.55rem .7rem !important;border-radius:var(--nd-radius-xs);
  transition:background .15s,color .15s;
}
.sidebar .nav-item .nav-link span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sidebar .nav{box-sizing:border-box;width:100%;}
.sidebar .nav-item{width:100%;}
.sidebar .nav-item .nav-link i{
  font-size:.95rem;width:2rem;height:2rem;flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;
  background:#f3f1f7;color:var(--nd-primary);border-radius:9px;transition:all .15s;
}
.sidebar .nav-item .nav-link span{display:inline !important;}
.sidebar .nav-item .nav-link:hover{color:var(--nd-primary) !important;background:var(--nd-primary-soft);}
.sidebar .nav-item .nav-link:hover i{background:#e9e4f2;}
.sidebar .nav-item .nav-link.active{color:var(--nd-primary) !important;background:var(--nd-primary-soft);font-weight:600;}
.sidebar .nav-item .nav-link.active i{background:var(--nd-primary);color:#fff;}
#sidebarToggle{display:none !important;}

/* Backdrop para móvil */
.nd-nav-backdrop{position:fixed;inset:0;background:rgba(29,14,38,.45);opacity:0;visibility:hidden;transition:opacity .25s;z-index:1042;}
body.nd-nav-open .nd-nav-backdrop{opacity:1;visibility:visible;}

/* ---------- Topbar ---------- */
.topbar,.navbar.bg-white{
  background:rgba(255,255,255,.85) !important;backdrop-filter:saturate(180%) blur(8px);
  box-shadow:none !important;border-bottom:1px solid var(--nd-border) !important;
  min-height:4.1rem;margin-bottom:0 !important;
}
.topbar .dropdown-toggle::after{display:none;}
.topbar .nav-link{display:flex;align-items:center;gap:.6rem;color:var(--nd-text) !important;}
.topbar .text-gray-600{color:var(--nd-text) !important;font-weight:600;font-size:.86rem;}
.topbar .fa-power-off{color:var(--nd-muted);font-size:.95rem;}
#sidebarToggleTop{color:var(--nd-primary);}
.topbar{position:relative;z-index:1040;}
.topbar .dropdown-menu{z-index:1060 !important;}
.topbar-divider{display:none !important;}
.nd-avatar{
  width:2.1rem;height:2.1rem;border-radius:50%;flex-shrink:0;
  background:var(--nd-primary);background-image:linear-gradient(135deg,var(--nd-primary-600),var(--nd-primary));
  color:#fff;font-weight:700;font-size:.85rem;display:inline-flex;align-items:center;justify-content:center;
  box-shadow:0 2px 8px rgba(55,26,69,.35);
}
.dropdown-menu{
  border:1px solid var(--nd-border) !important;border-radius:var(--nd-radius-sm) !important;
  box-shadow:var(--nd-shadow) !important;padding:.4rem;
}
.dropdown-item{border-radius:var(--nd-radius-xs);font-size:.85rem;padding:.5rem .7rem;color:var(--nd-text-2);}
.dropdown-item:hover{background:var(--nd-primary-soft);color:var(--nd-primary);}

/* ---------- Page container & header ---------- */
.container-fluid{padding:1.8rem 2rem;}
h1,h2,h3,h4,h5{color:var(--nd-text);font-weight:700;letter-spacing:-.02em;}
.text-dark{color:var(--nd-text) !important;}
h2.text-dark{font-size:1.6rem;}
.nd-page-header{
  display:flex;align-items:center;justify-content:flex-start;gap:1rem;
  flex-wrap:wrap;margin-bottom:1.4rem;position:relative;z-index:1;
}
.nd-page-header .btn{margin-left:.25rem;}
.nd-page-header h2{font-size:1.6rem;margin:0;display:flex;align-items:center;gap:.7rem;}
.nd-count{
  display:inline-flex;align-items:center;font-size:.78rem;font-weight:600;
  background:var(--nd-primary-soft);color:var(--nd-primary);
  padding:.25rem .65rem;border-radius:99px;letter-spacing:0;
}

/* ---------- Stat cards ---------- */
.nd-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.4rem;}
.nd-stat{
  background:var(--nd-surface);border:1px solid var(--nd-border);border-radius:var(--nd-radius);
  padding:1.1rem 1.25rem;box-shadow:var(--nd-shadow-sm);display:flex;align-items:center;gap:.9rem;
}
.nd-stat .nd-stat-ic{width:2.7rem;height:2.7rem;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;background:var(--nd-primary-soft);color:var(--nd-primary);}
.nd-stat .nd-stat-val{font-size:1.4rem;font-weight:700;line-height:1.1;}
.nd-stat .nd-stat-lbl{font-size:.76rem;color:var(--nd-muted);font-weight:500;}

/* ---------- Cards ---------- */
.card{
  border:1px solid var(--nd-border) !important;border-radius:var(--nd-radius) !important;
  box-shadow:var(--nd-shadow) !important;background:var(--nd-surface);
}
.card .card-header{background:transparent;border-bottom:1px solid var(--nd-border);font-weight:600;}
.shadow,.shadow-sm,.shadow-lg{box-shadow:var(--nd-shadow) !important;}

/* ---------- Tables ---------- */
.table-responsive{
  background:var(--nd-surface);border:1px solid var(--nd-border);border-radius:var(--nd-radius);
  box-shadow:var(--nd-shadow);padding:.3rem .5rem 0;overflow-x:auto;overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
}
table.table{margin-bottom:.2rem;color:var(--nd-text);border-collapse:separate;border-spacing:0;}
table.table thead th{
  border:none !important;border-bottom:1px solid var(--nd-border) !important;
  text-transform:uppercase;font-size:.68rem;letter-spacing:.06em;color:var(--nd-muted);
  font-weight:600;padding:.9rem .8rem;white-space:nowrap;
}
table.table tbody td{
  border:none !important;border-top:1px solid #f5f4f8 !important;
  padding:.75rem .8rem;vertical-align:middle;font-size:.86rem;color:var(--nd-text-2);
}
table.table tbody tr{transition:background .12s;}
table.table.table-striped tbody tr:nth-of-type(odd){background:transparent;}
table.table tbody tr:hover{background:var(--nd-primary-soft);}
.nd-id{display:inline-flex;align-items:center;justify-content:center;min-width:1.9rem;height:1.5rem;padding:0 .4rem;border-radius:7px;background:#f1eff5;color:var(--nd-primary);font-weight:600;font-size:.76rem;}
.nd-name{font-weight:600;color:var(--nd-text) !important;}
.nd-wa{display:inline-flex;align-items:center;gap:.4rem;color:var(--nd-text-2) !important;font-weight:500;}
.nd-wa i{color:#25d366;font-size:.95rem;}
.nd-wa:hover{color:var(--nd-primary) !important;}

/* ---------- Badges ---------- */
.nd-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.76rem;font-weight:600;padding:.28rem .6rem;border-radius:8px;letter-spacing:0;}
.nd-badge-pago{background:var(--nd-success-bg);color:#0c8a5e;}
.badge{border-radius:7px;font-weight:600;padding:.4em .65em;}

/* ---------- Buttons ---------- */
.btn{
  border-radius:var(--nd-radius-xs);font-weight:600;font-size:.82rem;
  padding:.5rem .95rem;border:none;transition:transform .14s ease,box-shadow .14s ease,background .14s ease;
  box-shadow:none;display:inline-flex;align-items:center;gap:.4rem;line-height:1.1;
}
.btn i{font-size:.85rem;}
.btn:focus{box-shadow:0 0 0 .2rem var(--nd-primary-soft-2);outline:none;}
.btn:active{transform:scale(.97);}
.btn-sm{padding:.4rem .75rem;font-size:.78rem;border-radius:8px;}
.btn-primary{background:var(--nd-primary) !important;color:#fff !important;}
.btn-primary:hover{background:var(--nd-primary-700) !important;transform:translateY(-1px);box-shadow:0 6px 16px rgba(55,26,69,.28);}
.btn-dark{background:#2e2937 !important;color:#fff !important;}
.btn-dark:hover{background:#211d29 !important;transform:translateY(-1px);}
.btn-secondary{background:#efedf4 !important;color:var(--nd-primary) !important;}
.btn-secondary:hover{background:#e6e2ef !important;transform:translateY(-1px);}
.btn-success{background:var(--nd-success) !important;color:#fff !important;}
.btn-danger{background:var(--nd-danger) !important;color:#fff !important;}
.btn-warning{background:var(--nd-warning) !important;color:#5a4708 !important;}
.btn-info{background:var(--nd-info) !important;color:#fff !important;}
.btn-block{display:flex;width:100%;justify-content:center;}
.btn-link{color:var(--nd-primary) !important;box-shadow:none;}
.btn a,.btn a:hover{color:inherit !important;text-decoration:none !important;}
.nd-actions{display:flex;gap:.4rem;flex-wrap:wrap;}
.btn-group{gap:.4rem;box-shadow:none !important;}
.btn-group>.btn{border-radius:8px !important;}

/* ---------- Forms ---------- */
.form-control,.form-control-user{
  border-radius:var(--nd-radius-sm);border:1px solid var(--nd-border-2);padding:.62rem .9rem;
  font-size:.88rem;color:var(--nd-text);background-color:#fbfafc;
  transition:border-color .15s,box-shadow .15s,background-color .15s;
}
.form-control:focus{border-color:var(--nd-primary-600);background-color:#fff;box-shadow:0 0 0 .2rem var(--nd-primary-soft-2);}
.form-control::placeholder{color:#b3aebd;}
label{font-weight:500;color:var(--nd-text-2);font-size:.85rem;margin-bottom:.35rem;}

/* ---------- DataTables ---------- */
.dataTables_wrapper{padding:.4rem .6rem 1rem;}
.dataTables_filter{margin-bottom:.4rem;}
.dataTables_filter input,.dataTables_length select{
  border-radius:var(--nd-radius-sm) !important;border:1px solid var(--nd-border-2) !important;
  padding:.45rem .8rem !important;font-size:.84rem;background:#fbfafc;
}
.dataTables_filter input:focus{border-color:var(--nd-primary-600) !important;outline:none;box-shadow:0 0 0 .2rem var(--nd-primary-soft-2);}
.dataTables_wrapper .dataTables_paginate .paginate_button{
  border-radius:8px !important;border:none !important;padding:.32rem .68rem !important;
  margin:0 .12rem;color:var(--nd-muted) !important;font-size:.83rem;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{
  background:var(--nd-primary) !important;color:#fff !important;border:none !important;box-shadow:none;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover{background:var(--nd-primary-soft) !important;color:var(--nd-primary) !important;border:none !important;}
.dataTables_info,.dataTables_length,.dataTables_filter label{color:var(--nd-muted);font-size:.84rem;}

/* ---------- Footer ---------- */
.sticky-footer,footer.bg-white{background:transparent !important;border:none;}
.sticky-footer .copyright{color:var(--nd-muted);font-size:.8rem;}

/* ---------- Login ---------- */
body.bg-gradient-primary{
  background:var(--nd-primary-dark) !important;
  background-image:radial-gradient(1100px 600px at 75% -15%,var(--nd-primary-600),var(--nd-primary) 40%,var(--nd-primary-dark) 100%) !important;
}
body.bg-gradient-primary .card{border:none !important;border-radius:20px !important;box-shadow:0 24px 70px rgba(0,0,0,.32) !important;}
body.bg-gradient-primary .card .p-5{padding:2.7rem 2.5rem !important;}
body.bg-gradient-primary .form-control-user{border-radius:var(--nd-radius-sm);height:auto;padding:.72rem 1rem;}
.btn-user{border-radius:var(--nd-radius-sm) !important;padding:.75rem 1rem !important;font-size:.92rem;justify-content:center;}

/* ---------- Modal ---------- */
.modal-content{border:none;border-radius:var(--nd-radius);box-shadow:0 24px 70px rgba(0,0,0,.28);}
.modal-header,.modal-footer{border-color:var(--nd-border);}
.modal-title{font-weight:700;}

/* ---------- SweetAlert tweak ---------- */
.swal2-popup{border-radius:var(--nd-radius) !important;font-family:'Inter',sans-serif !important;}
.swal2-styled.swal2-confirm{background:var(--nd-primary) !important;border-radius:var(--nd-radius-xs) !important;}

/* ---------- Scrollbar ---------- */
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-thumb{background:#d6d2de;border-radius:8px;}
::-webkit-scrollbar-thumb:hover{background:#c2bdce;}

/* ---------- Animations ---------- */
@keyframes ndFade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
.container-fluid>*{animation:ndFade .35s ease both;}

/* ---------- Responsive ---------- */
/* ---------- Responsive ---------- */
@media (min-width:992px){
  #sidebarToggleTop{display:none !important;}
}
@media (max-width:991.98px){
  #sidebarToggleTop{display:inline-flex !important;align-items:center;justify-content:center;}
  .sidebar{
    position:fixed;top:0;left:0;height:100vh;width:16rem !important;
    transform:translateX(-100%);transition:transform .28s ease;z-index:1045;
    box-shadow:0 0 50px rgba(29,14,38,.22);
  }
  body.nd-nav-open .sidebar{transform:none;}
  #content-wrapper{width:100%;}
}
@media (max-width:768px){
  .container-fluid{padding:1.1rem;}
  .nd-actions{flex-wrap:wrap;}
  table.table tbody td{font-size:.82rem;}
}

/* ============================================================
   Pantalla de cobro / cliente (usr/pay.php)
   ============================================================ */
.nd-pay-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.3rem;}
.nd-pay-head h4{font-size:1.5rem;font-weight:700;display:flex;align-items:center;gap:.5rem;margin:0;}
.nd-pay-head .nd-sub{color:var(--nd-muted);font-size:.82rem;margin-top:.2rem;}
.nd-pay-head-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;}
.nd-profile{padding:1.3rem 1.5rem;margin-bottom:1.3rem;}
.nd-profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.1rem 1.8rem;}
.nd-field{display:flex;flex-direction:column;gap:.22rem;min-width:0;}
.nd-field-lbl{font-size:.66rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;}
.nd-field-val{font-size:1.02rem;font-weight:700;color:var(--nd-text);word-break:break-word;}
.nd-field-val a{color:var(--nd-primary);}
.nd-lbl-name{color:var(--nd-primary);}
.nd-lbl-addr{color:#0c8a5e;}
.nd-lbl-tel{color:#b07d10;}
.nd-lbl-ip{color:#1186a0;}
.nd-lbl-pago{color:var(--nd-muted);}
.nd-warn{background:var(--nd-danger-bg);color:#a3271b;border-radius:var(--nd-radius-xs);padding:.7rem .9rem;font-size:.85rem;}
.nd-warn i{color:var(--nd-danger);}
.custom-select.form-control{height:auto;}
/* list-group */
.card .list-group{border-radius:0 0 var(--nd-radius) var(--nd-radius);overflow:hidden;}
.list-group-item{border:none !important;border-top:1px solid #f4f4f8 !important;padding:.85rem 1.1rem;background:transparent;}
.list-group-flush>.list-group-item:first-child{border-top:none !important;}
.list-group-item:hover{background:var(--nd-primary-soft);}
.nd-hist-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;}
.nd-hist-title{font-weight:700;color:var(--nd-text);}
.nd-hist-folio{color:var(--nd-text-2);font-weight:600;font-size:.85rem;}
.nd-hist-date{color:var(--nd-muted);font-size:.78rem;}
.nd-hist-actions{display:flex;gap:.4rem;flex-wrap:wrap;}
/* colapsable */
.nd-collapse-head{display:flex !important;align-items:center;justify-content:space-between;cursor:pointer;user-select:none;}
.nd-chevron{color:var(--nd-muted);transition:transform .25s;font-size:.8rem;}
.nd-collapse-head[aria-expanded="true"] .nd-chevron{transform:rotate(180deg);}
.nd-rep-lbl{font-weight:700;color:var(--nd-primary);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;margin-right:.35rem;}
.nd-rep-txt{color:var(--nd-text);margin-top:.2rem;}
.nd-rep-work{color:var(--nd-text-2);font-size:.85rem;margin-top:.15rem;}
.card-header h6 .nd-count{margin-left:.4rem;font-size:.7rem;padding:.15rem .55rem;vertical-align:middle;}
.nd-auto-react{font-size:.72rem;font-weight:600;color:#8a5b08;background:var(--nd-warning-bg);padding:.32rem .65rem;border-radius:8px;display:inline-flex;align-items:center;gap:.35rem;}
.nd-auto-react i{color:#d39e00;}

/* Anular el estado colapsado heredado del template (clase .toggled) */
.sidebar.toggled{width:16rem !important;overflow-x:hidden !important;overflow-y:auto !important;}
.sidebar.toggled .nav-item .nav-link{width:100% !important;text-align:left !important;padding:.55rem .7rem !important;font-size:.875rem !important;}
.sidebar.toggled .nav-item .nav-link span{display:inline !important;}
.sidebar.toggled .nav-item .nav-link i{margin-right:0 !important;}
.sidebar.toggled .sidebar-brand .sidebar-brand-text{display:inline !important;}

/* Botón eliminar pago en la lista de Pagos */
#users .list li{position:relative;}
#users .nd-del-pago{position:absolute;top:14px;right:14px;}
@media (max-width:576px){ #users .nd-del-pago{position:static;margin-top:.6rem;} }

/* Etiquetas de tipo en Agenda */
.nd-tag{display:inline-flex;align-items:center;gap:.35rem;font-size:.74rem;font-weight:600;padding:.28rem .6rem;border-radius:8px;white-space:nowrap;}
.nd-tag-rep{background:var(--nd-danger-bg);color:#a3271b;}
.nd-tag-rep i{color:var(--nd-danger);}
.nd-tag-mig{background:var(--nd-info-bg);color:#10788a;}
.nd-tag-mig i{color:var(--nd-info);}
.nd-tag-inst{background:var(--nd-success-bg);color:#0c8a5e;}
.nd-tag-inst i{color:var(--nd-success);}

/* ===== Tabla apilable en móvil (.nd-stack) — usada en Agenda ===== */
@media (max-width:768px){
  .nd-stack thead{display:none;}
  /* !important para anular el ancho fijo en px que DataTables pone inline */
  .nd-stack, .nd-stack tbody, .nd-stack tr, .nd-stack td{display:block !important;width:100% !important;max-width:100% !important;}
  .nd-stack td{box-sizing:border-box;}
  .dataTables_wrapper{max-width:100%;overflow-x:hidden;}
  .nd-stack tr{
    background:var(--nd-surface);border:1px solid var(--nd-border);
    border-radius:var(--nd-radius-sm);box-shadow:var(--nd-shadow-sm);
    margin-bottom:.85rem;padding:.55rem .35rem;
  }
  .nd-stack tr:hover{background:var(--nd-surface) !important;}
  .nd-stack td{
    border:none !important;border-top:none !important;
    padding:.3rem .9rem;text-align:left;font-size:.88rem;
  }
  .nd-stack td::before{
    display:block;content:attr(data-label);
    font-weight:700;color:var(--nd-muted);font-size:.66rem;
    text-transform:uppercase;letter-spacing:.05em;margin-bottom:1px;
  }
  /* Acción/Acciones: botones a todo el ancho, sin etiqueta, siempre visibles */
  .nd-stack td[data-label^="Acci"]{padding-top:.65rem;}
  .nd-stack td[data-label^="Acci"]::before{display:none;}
  .nd-stack td[data-label^="Acci"] .btn{width:100%;justify-content:center;padding:.7rem;font-size:.9rem;}
  .nd-stack td[data-label^="Acci"] .nd-actions{flex-direction:column;gap:.45rem;width:100%;}
  /* el wrapper no necesita marco extra al apilar */
  .table-responsive:has(.nd-stack){border:none;box-shadow:none;background:transparent;padding:0;overflow:visible;}
}

/* Bloque de comandos Mikrotik (pantalla de Corte) */
.nd-cmd{
  font-family:'Courier New',ui-monospace,monospace;font-size:.8rem;line-height:1.55;
  background:#1d0e26 !important;color:#e9e3f2 !important;border:none;border-radius:var(--nd-radius-sm);
  white-space:pre;overflow:auto;padding:.8rem 1rem;resize:vertical;
}
.nd-cmd:focus{background:#1d0e26 !important;color:#e9e3f2 !important;box-shadow:0 0 0 .2rem var(--nd-primary-soft-2);}

/* Selects con chevron propio (acorde al diseño) */
select.form-control, .custom-select, select.custom-select{
  -webkit-appearance:none;-moz-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238d8799' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .95rem center;background-size:15px;
  padding-right:2.5rem;cursor:pointer;
}
select.form-control:focus, .custom-select:focus{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23371a45' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .95rem center;background-size:15px;
}
select.form-control::-ms-expand, .custom-select::-ms-expand{display:none;}

/* Campos de solo lectura (bloqueados) se ven grises */
.form-control[readonly]{background-color:#efedf3 !important;color:#6c6478;cursor:not-allowed;}
