.navbar-right { float: right !important; }

@media (max-width: 768px) {
	.playsms-responsive, input, select, option, textarea {
		width: 335px;
	}
	.label-sizer {
		width: 345px;
	}
	.dropdown-menu hr {
		display: none;
	}
}

@media (max-width: 600px) {
	.playsms-responsive, input, select, option, textarea {
		width: 251px;
	}
	.label-sizer {
		width: 261px;
	}
	.dropdown-menu hr {
		display: none;
	}
	.navbar-right { float: left !important; }
	.navbar-header:after { clear: none; }
	.navbar-nav.navbar-right > li { float: left; }
	.navbar-collapse:before { clear: both; }
	.navbar-collapse { overflow-y: hidden; }
	.navbar-collapse.in { overflow-y: visible; }
	.navbar-collapse.in > ul { border-top: none; }
}

@media (max-width: 480px) {
	.playsms-responsive, input, select, option, textarea {
		width: 200px;
	}
	.label-sizer {
		width: 210px;
	}
	.dropdown-menu hr {
		display: none;
	}
}

@media (max-width: 320px) {
	.playsms-responsive, input, select, option, textarea {
		width: 120px;
	}
	.label-sizer {
		width: 130px;
	}
	.dropdown-menu hr {
		display: none;
	}
}

@media (max-width: 240px) {
	.playsms-responsive, input, select, option, textarea {
		width: 75px;
	}
	.label-sizer {
		width: 85px;
	}
	.dropdown-menu hr {
		display: none;
	}
}

#main-content {
	padding-top: 50px;
	height: 100%;
	overflow: hidden;
}

#main-submenu {
	padding: 0;
	background-color: #f5f5f5;
	border-radius: 3px;
	top: 49px;
	position: fixed;
	width: 100%;
	z-index: 1000;
}

#main-submenu div {
	padding: 5px;
}
/* ==================================================================
   miSMS by T-VoIP - Branding + dashboard (añadido sobre el tema ubuntu)
   Paleta T-VoIP: rojo #E2231A / rojo oscuro #A81913 / tinta #101010
   Tipografía: Montserrat
   ================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');

:root{
  /* Tokens oficiales del sistema de diseño T-VoIP (tvoip.css) */
  --tv-rojo:#E2231A; --tv-rojo-o:#A81913; --tv-rojo-cl:#F7C6C2; --tv-rojo-vivo:#FF5B50;
  --tv-negro:#000000; --tv-tinta:#101010; --tv-grafito:#262626;
  --tv-hueso:#FAFAF8; --tv-blanco:#FFFFFF; --tv-gris-cl:#E4E2DC;
  --tv-gris-deco:#9B988D; --tv-gris-txt:#726F64;
  --tv-exito:#0F7B4F; --tv-aviso:#8A5200; --tv-info:#1F5F8B; --tv-error:#A81913;
  --tv-radio-sm:8px; --tv-radio:14px; --tv-radio-lg:22px; --tv-radio-full:999px;
  --tv-sombra-sm:0 2px 8px -2px rgba(16,16,16,.12);
  --tv-sombra:0 18px 40px -24px rgba(16,16,16,.30);
}

body{ font-family:'Montserrat',system-ui,-apple-system,sans-serif; background:var(--tv-hueso); color:var(--tv-grafito); }

/* ---- Ajustes de color del chrome PlaySMS a la marca ---- */
.btn-primary{ background-color:var(--tv-rojo)!important; border-color:var(--tv-rojo)!important; color:#fff!important; }
.btn-primary:hover,.btn-primary:focus{ background-color:var(--tv-rojo-o)!important; border-color:var(--tv-rojo-o)!important; }
a{ color:var(--tv-rojo-o); }
a:hover{ color:var(--tv-rojo); }
#main-content a.btn{ color:#fff; }
.nav-pills>li.active>a, .nav-pills>li.active>a:hover, .nav-pills>li.active>a:focus{ background-color:var(--tv-rojo)!important; }

/* ---- Navbar de marca (rojo T-VoIP + logo blanco de miSMS) ---- */
.navbar-default, .navbar-inner{ background-color:var(--tv-rojo)!important; background-image:none!important; border-color:var(--tv-rojo-o)!important; box-shadow:var(--tv-sombra-sm); }
.navbar-default .navbar-nav>li>a{ color:#fff!important; font-weight:500; }
.navbar-default .navbar-nav>li>a:hover, .navbar-default .navbar-nav>li>a:focus{ background-color:var(--tv-rojo-o)!important; color:#fff!important; }
.navbar-default .navbar-nav>.active>a, .navbar-default .navbar-nav>.active>a:hover, .navbar-default .navbar-nav>.active>a:focus{ background-color:var(--tv-rojo-o)!important; color:#fff!important; }
.navbar-default .dropdown-menu>li>a{ color:var(--tv-grafito); }
.navbar-default .dropdown-menu>li>a:hover{ background-color:var(--tv-rojo)!important; color:#fff!important; }
.navbar-default .navbar-toggle{ border-color:rgba(255,255,255,.6); }
.navbar-default .navbar-toggle .icon-bar{ background-color:#fff; }
.navbar-brand.brand{ display:flex; align-items:center; padding:9px 16px; height:auto; }
.navbar-brand.brand .misms-brand-logo{ height:30px; width:auto; display:block; filter:brightness(0) invert(1); } /* logo en blanco */
.label-success{ background-color:var(--tv-exito)!important; }
.label-danger{ background-color:var(--tv-error)!important; }
.label-warning{ background-color:var(--tv-aviso)!important; }
.label-info{ background-color:var(--tv-info)!important; }

/* ==================================================================
   Dashboard del cliente
   ================================================================== */
.misms-dash{ max-width:1200px; margin:0 auto; }

.misms-hero{
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  background:linear-gradient(120deg,#101010 0%,#262626 60%,#3a1210 100%);
  color:#fff; border-radius:16px; padding:26px 30px; margin:6px 0 22px;
  box-shadow:0 10px 30px rgba(16,16,16,.18); position:relative; overflow:hidden;
}
.misms-hero:after{ content:""; position:absolute; right:-40px; top:-40px; width:220px; height:220px;
  background:radial-gradient(circle,rgba(226,35,26,.55),transparent 70%); }
.misms-hero-txt{ position:relative; z-index:1; }
.misms-hero-hi{ font-size:13px; letter-spacing:.5px; text-transform:uppercase; color:var(--tv-rojo-cl); font-weight:600; }
.misms-hero h1{ margin:2px 0 6px; font-size:30px; font-weight:800; color:#fff; }
.misms-hero-sub{ color:#d8d6d0; font-size:14px; font-weight:400; }
.misms-hero-sub strong{ color:#fff; }
.misms-chip{ background:var(--tv-rojo); color:#fff; padding:2px 10px; border-radius:20px; font-size:12px; font-weight:600; }
@media (max-width:640px){ .misms-hero{ flex-direction:column; align-items:flex-start; } }

/* KPIs */
.misms-kpis{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:22px; }
@media (max-width:900px){ .misms-kpis{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:480px){ .misms-kpis{ grid-template-columns:1fr; } }
.misms-kpi{ background:#fff; border:1px solid var(--tv-gris-cl); border-radius:14px; padding:18px 18px 16px;
  box-shadow:var(--tv-sombra-sm); position:relative; }
.misms-kpi:before{ content:""; position:absolute; left:0; top:14px; bottom:14px; width:4px; border-radius:4px; background:var(--tv-rojo); }
.misms-kpi-ic{ font-size:20px; opacity:.85; }
.misms-kpi-val{ font-size:28px; font-weight:800; color:var(--tv-tinta); line-height:1.1; margin-top:4px; }
.misms-kpi-lbl{ font-size:12.5px; color:var(--tv-gris-txt); font-weight:500; margin-top:4px; }

/* Grid de tarjetas de gráficos */
.misms-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
@media (max-width:820px){ .misms-grid{ grid-template-columns:1fr; } }
.misms-card{ background:#fff; border:1px solid var(--tv-gris-cl); border-radius:14px; padding:16px 18px 20px;
  box-shadow:var(--tv-sombra-sm); }
.misms-card-wide{ grid-column:1 / -1; }
.misms-card-h{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:12px; }
.misms-card-h h2{ font-size:16px; font-weight:700; color:var(--tv-tinta); margin:0; }
.misms-card-h span{ font-size:12px; color:var(--tv-gris-txt); font-weight:500; }
.misms-canvas{ position:relative; height:240px; }
.misms-card-wide .misms-canvas{ height:280px; }

/* ---- Login branded ---- */
.playsms-login-box{ background:#fff!important; border:1px solid var(--tv-gris-cl)!important; border-radius:16px!important;
  box-shadow:0 12px 40px rgba(16,16,16,.14)!important; padding:16px 10px 6px!important; margin-top:40px; }
.misms-login-logo{ text-align:center; padding:14px 0 4px; }
.misms-login-logo img{ height:52px; width:auto; }
.misms-login-sub{ text-align:center; color:var(--tv-gris-txt); font-size:13px; font-weight:500; margin:2px 0 14px; }
.playsms-login-box .form-control{ border-radius:9px; height:42px; margin-bottom:10px; }
.playsms-login-box input.button, .playsms-login-box input[type=submit]{
  background:var(--tv-rojo); color:#fff; border:0; border-radius:9px; height:44px; width:100%;
  font-weight:700; letter-spacing:.3px; cursor:pointer; }
.playsms-login-box input.button:hover{ background:var(--tv-rojo-o); }
.playsms-login-box a{ color:var(--tv-rojo-o); font-size:13px; }

/* Estado vacío */
.misms-empty{ background:#fff; border:1px dashed var(--tv-gris-cl); border-radius:14px; padding:26px; text-align:center; margin-bottom:22px; }
.misms-empty-ic{ font-size:34px; }
.misms-empty h3{ margin:8px 0 6px; color:var(--tv-tinta); font-weight:700; }
.misms-empty p{ color:var(--tv-gris-txt); max-width:560px; margin:0 auto; font-size:14px; }

/* ==================================================================
   miSMS UI 2.0 (T-VOIP) - capa de diseño sobre playSMS
   Solo aplica cuando main.js marca la página con .misms-ui, así que
   si el JavaScript falla la consola se ve como antes.
   ================================================================== */
.misms-ui{
  --mx-bg:#F7F6F3; --mx-surface:#FFFFFF; --mx-line:#E4E2DC; --mx-line-2:#F1EFEA; --mx-field:#CFCCC4;
  --mx-ink:#141414; --mx-ink-2:#3A3833; --mx-muted:#5E5B53; --mx-quiet:#6B6860;
  --mx-red:#E2231A; --mx-red-d:#A81913; --mx-red-t:#FDECEA;
  --mx-ok:#17603C; --mx-ok-t:#E6F2EC; --mx-info:#1F4E8C; --mx-info-t:#E8EEF8;
  --mx-warn:#6B4600; --mx-warn-t:#FBF0DA; --mx-err:#8E1F18; --mx-err-t:#FBE7E5;
  --mx-side:248px; --mx-r:10px; --mx-r-lg:14px;
}
html.misms-ui body{ background:var(--mx-bg); color:var(--mx-ink); font-family:'Montserrat',system-ui,-apple-system,sans-serif; font-size:14px; padding:0; }
.misms-ui a{ color:var(--mx-red-d); }
.misms-ui a:hover{ color:var(--mx-red); }

/* ---------- Estructura: menú lateral + contenido ---------- */
.misms-ui #main-menu, .misms-ui #main-submenu{ display:none !important; }
.misms-ui:not(.mx-login) #main-body, .misms-ui:not(.mx-login) #main-footer{ margin-left:var(--mx-side); }
.misms-ui #main-body > .container, .misms-ui #main-footer > .container{ width:auto; max-width:1240px; margin:0; padding:28px 40px 24px; }
.misms-ui #main-body{ padding-top:0; }
.misms-ui #main-content{ padding-top:0; height:auto; overflow:visible; }
.misms-ui #main-body > p:last-child{ display:none; }
.misms-ui #main-footer{ background:transparent; border:0; }
.misms-ui #main-footer .credit{ font-size:12px; color:var(--mx-muted); margin:0; }

.mx-side{ position:fixed; left:0; top:0; bottom:0; width:var(--mx-side); box-sizing:border-box; padding:20px 14px 16px; background:var(--mx-surface); border-right:1px solid var(--mx-line); display:flex; flex-direction:column; gap:14px; overflow-y:auto; z-index:1040; }
.mx-logo{ display:flex; align-items:center; padding:2px 8px 6px; }
.mx-logo img{ height:30px; width:auto; }
.mx-cta{ display:flex; align-items:center; justify-content:center; gap:8px; min-height:44px; border-radius:var(--mx-r); background:var(--mx-red); color:#fff !important; font-weight:700; font-size:14px; text-decoration:none !important; }
.mx-cta:hover, .mx-cta.is-active{ background:var(--mx-red-d); }
.mx-nav{ display:flex; flex-direction:column; gap:12px; }
.mx-group{ display:flex; flex-direction:column; gap:1px; }
.mx-group-t{ padding:0 10px 4px; font-size:11px; font-weight:700; letter-spacing:1.1px; text-transform:uppercase; color:var(--mx-quiet); }
details.mx-group > summary{ list-style:none; cursor:pointer; display:flex; align-items:center; gap:10px; min-height:36px; padding:0 10px; border-radius:8px; text-transform:none; letter-spacing:0; font-size:14px; font-weight:600; color:var(--mx-ink-2); }
details.mx-group > summary::-webkit-details-marker{ display:none; }
details.mx-group > summary:hover{ background:var(--mx-line-2); }
details.mx-group > summary::after{ content:""; margin-left:auto; width:7px; height:7px; border-right:2px solid var(--mx-quiet); border-bottom:2px solid var(--mx-quiet); transform:rotate(45deg); transition:transform .15s; }
details.mx-group[open] > summary::after{ transform:rotate(225deg); }
.mx-link{ display:flex; align-items:center; gap:10px; min-height:36px; padding:0 10px; border-radius:8px; font-size:14px; font-weight:500; color:var(--mx-ink-2) !important; text-decoration:none !important; }
.mx-link svg{ flex-shrink:0; color:var(--mx-quiet); }
.mx-link:hover{ background:var(--mx-line-2); }
.mx-link.is-active{ background:var(--mx-red-t); color:var(--mx-red-d) !important; font-weight:700; }
.mx-link.is-active svg{ color:var(--mx-red-d); }
.mx-side-foot{ margin-top:auto; padding-top:12px; border-top:1px solid var(--mx-line); display:flex; flex-direction:column; gap:4px; }
.mx-user{ display:flex; align-items:center; gap:10px; padding:4px 10px 6px; font-weight:600; color:var(--mx-ink); }
.mx-avatar{ width:30px; height:30px; border-radius:50%; background:var(--mx-line); display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; }

.mx-top{ position:sticky; top:0; z-index:1030; margin-left:var(--mx-side); height:60px; box-sizing:border-box; padding:0 40px; display:flex; align-items:center; gap:12px; background:rgba(247,246,243,.94); border-bottom:1px solid var(--mx-line); }
.mx-top-fill{ flex-grow:1; }
.mx-credit{ display:flex; align-items:baseline; gap:6px; height:38px; box-sizing:border-box; padding:9px 14px 0; border:1px solid var(--mx-line); border-radius:var(--mx-r); background:var(--mx-surface); font-size:13px; color:var(--mx-muted); }
.mx-credit strong{ font-size:15px; font-weight:800; color:var(--mx-ink); }
.mx-burger{ display:none; width:44px; height:44px; border:0; border-radius:var(--mx-r); background:transparent; color:var(--mx-ink); align-items:center; justify-content:center; cursor:pointer; }
.mx-shade{ display:none; }

@media (max-width: 900px){
  .misms-ui:not(.mx-login) #main-body, .misms-ui:not(.mx-login) #main-footer, .mx-top{ margin-left:0; }
  .misms-ui #main-body > .container, .misms-ui #main-footer > .container{ padding:20px 16px; }
  .mx-top{ padding:0 12px 0 8px; }
  .mx-burger{ display:flex; }
  .mx-side{ transform:translateX(-100%); transition:transform .2s ease; box-shadow:none; }
  .mx-open .mx-side{ transform:none; box-shadow:0 0 40px rgba(20,20,20,.25); }
  .mx-open .mx-shade{ display:block; position:fixed; inset:0; background:rgba(20,20,20,.35); z-index:1035; }
}

/* ---------- Tipografía de las pantallas ---------- */
.misms-ui #main-content h2{ font-size:26px; font-weight:800; letter-spacing:-.4px; color:var(--mx-ink); margin:4px 0 20px; }
.misms-ui #main-content h3{ font-size:17px; font-weight:700; color:var(--mx-ink); }
.misms-ui #main-content .misms-card-h h2{ font-size:16px; font-weight:700; letter-spacing:0; margin:0; }
.misms-ui #main-content label{ font-size:13px; font-weight:600; color:var(--mx-ink); }
.misms-ui #main-content .help-block{ font-size:12.5px; color:var(--mx-muted); }

/* ---------- Formularios ---------- */
.misms-ui #main-content input[type=text], .misms-ui #main-content input[type=password], .misms-ui #main-content input[type=email],
.misms-ui #main-content input[type=number], .misms-ui #main-content input[type=search], .misms-ui #main-content input[type=file],
.misms-ui #main-content select, .misms-ui #main-content textarea, .misms-ui #main-content .form-control{
  max-width:100%; min-height:42px; box-sizing:border-box; padding:8px 12px; border:1px solid var(--mx-field); border-radius:var(--mx-r);
  background:var(--mx-surface); color:var(--mx-ink); font:inherit; font-size:14px; box-shadow:none;
}
.misms-ui #main-content textarea{ min-height:140px; line-height:1.5; }
.misms-ui #main-content input[readonly]{ background:var(--mx-line-2); color:var(--mx-ink-2); }
.misms-ui #main-content input:focus, .misms-ui #main-content select:focus, .misms-ui #main-content textarea:focus, .misms-ui #main-content .form-control:focus{
  outline:2px solid var(--mx-red); outline-offset:1px; border-color:var(--mx-red); box-shadow:none;
}
.misms-ui #main-content input[type=checkbox], .misms-ui #main-content input[type=radio]{ accent-color:var(--mx-red); width:16px; height:16px; }
.misms-ui #main-content .input-group-addon{ border-color:var(--mx-field); background:var(--mx-line-2); border-radius:0 var(--mx-r) var(--mx-r) 0; }
.misms-ui #main-content .input-group .form-control{ border-radius:var(--mx-r) 0 0 var(--mx-r); }
.misms-ui .select2-container .select2-choices, .misms-ui .select2-container .select2-choice{ min-height:42px; border:1px solid var(--mx-field) !important; border-radius:var(--mx-r) !important; background:var(--mx-surface) !important; box-shadow:none !important; padding:4px 6px; }
.misms-ui .select2-container-multi .select2-choices .select2-search-choice{ border:0; border-radius:14px; background:var(--mx-line-2); box-shadow:none; color:var(--mx-ink); font-weight:600; padding:5px 10px 5px 22px; }
@media (max-width: 768px){
  .misms-ui #main-content input:not([type=checkbox]):not([type=radio]):not([type=hidden]), .misms-ui #main-content select, .misms-ui #main-content textarea{ width:100% !important; }
}

/* ---------- Botones ---------- */
.misms-ui #main-content .button, .misms-ui #main-content .btn-primary, .misms-ui #main-content input[type=submit]{
  display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 22px; border:0 !important; border-radius:var(--mx-r);
  background:var(--mx-red) !important; color:#fff !important; font:inherit; font-size:14px; font-weight:700; box-shadow:none; text-shadow:none; cursor:pointer;
}
.misms-ui #main-content .button:hover, .misms-ui #main-content input[type=submit]:hover{ background:var(--mx-red-d) !important; }
.misms-ui .btn-default{ border-radius:var(--mx-r); border-color:var(--mx-field); font-weight:600; }
.mx-btn-ghost{ display:inline-flex; align-items:center; min-height:34px; padding:0 12px; border:1px solid var(--mx-field); border-radius:8px; background:var(--mx-surface); color:var(--mx-ink); font:inherit; font-size:13px; font-weight:700; cursor:pointer; white-space:nowrap; }
.mx-btn-ghost:hover{ background:var(--mx-line-2); }

/* ---------- Barras de búsqueda y acciones ---------- */
.misms-ui .search_box{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 16px; }
.misms-ui .search_box > div{ float:none; margin:0; }
.misms-ui .search_box_input input{ min-width:280px; }
.misms-ui .actions_box{ display:flex; justify-content:space-between; align-items:center; gap:8px; margin:0 0 12px; }
.misms-ui .actions_box .pull-left, .misms-ui .actions_box .pull-right{ float:none !important; display:flex; gap:8px; }
.mx-act{ display:inline-flex; align-items:center; gap:6px; min-height:34px; padding:0 12px; border:1px solid var(--mx-line); border-radius:8px; background:var(--mx-surface); color:var(--mx-ink-2) !important; font-size:13px; font-weight:600; text-decoration:none !important; }
.mx-act:hover{ border-color:var(--mx-field); background:var(--mx-line-2); }
.mx-act .playsms-icon{ font-size:13px; color:var(--mx-quiet); margin:0; }
.misms-ui td .mx-act{ min-height:28px; padding:0 8px; font-size:12px; }
.misms-ui a.mx-act[onclick*="SubmitConfirm"], .misms-ui a.mx-act[href*="delete"]{ color:var(--mx-err) !important; }
.misms-ui a.mx-act[onclick*="SubmitConfirm"] .playsms-icon{ color:var(--mx-err); }

/* ---------- Tablas ---------- */
.misms-ui #main-content .table-responsive{ background:var(--mx-surface); border:1px solid var(--mx-line); border-radius:var(--mx-r-lg); overflow:auto; margin-bottom:16px; }
.misms-ui #main-content .playsms-table-list, .misms-ui #main-content .playsms-table{ margin:0; background:var(--mx-surface); border:0; }
.misms-ui #main-content .playsms-table-list > thead > tr > th{ padding:12px 16px; background:#FAF9F6; border-bottom:1px solid var(--mx-line); font-size:12px; font-weight:700; color:var(--mx-muted); white-space:nowrap; }
.misms-ui #main-content .playsms-table-list > tbody > tr > td{ padding:12px 16px; border-top:1px solid var(--mx-line-2); vertical-align:top; }
.misms-ui #main-content .table-striped > tbody > tr:nth-of-type(odd){ background:transparent; }
.misms-ui #main-content .table-hover > tbody > tr:hover{ background:#FAF9F6; }
.misms-ui #main-content .report_sender{ font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap; }
.misms-ui [id="msg_label"]{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; font-size:12.5px; color:var(--mx-muted); margin-bottom:4px; }
.misms-ui [id="user_outgoing_msg"], .misms-ui [id="user_inbox_msg"], .misms-ui [id="user_incoming_msg"], .misms-ui [id="all_outgoing_msg"], .misms-ui [id="all_inbox_msg"], .misms-ui [id="all_incoming_msg"]{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; background:none !important; color:var(--mx-ink) !important; padding:2px 0 6px !important; margin:0 !important; border-radius:0 !important; font-size:14px; box-shadow:none !important; }
.misms-ui [id="msg_option"]{ display:flex; gap:6px; }
.mx-chip{ display:inline-flex; align-items:center; height:22px; padding:0 8px; border-radius:11px; background:var(--mx-line-2); color:var(--mx-muted); font-size:11px; font-weight:700; }
.misms-ui .pagination > li > a, .misms-ui .pagination > li > span{ border-color:var(--mx-line); color:var(--mx-ink-2); }
.misms-ui .pagination > .active > a, .misms-ui .pagination > .active > span{ background:var(--mx-red); border-color:var(--mx-red); color:#fff; }

/* ---------- Estados de entrega con texto ---------- */
.misms-ui span[class^="status_"]{ display:inline-flex; align-items:center; gap:6px; width:auto !important; height:24px !important; padding:0 10px; border-radius:12px; background-image:none !important; background-color:var(--mx-line-2); color:var(--mx-ink-2); font-size:12px; font-weight:700; line-height:1; vertical-align:middle; }
.misms-ui span[class^="status_"]::before{ content:""; width:7px; height:7px; border-radius:50%; background:currentColor; }
.misms-ui span.status_delivered{ background-color:var(--mx-ok-t); color:var(--mx-ok); }
.misms-ui span.status_sent{ background-color:var(--mx-info-t); color:var(--mx-info); }
.misms-ui span.status_pending{ background-color:var(--mx-warn-t); color:var(--mx-warn); }
.misms-ui span.status_failed{ background-color:var(--mx-err-t); color:var(--mx-err); }

/* ---------- Redactar mensaje ---------- */
.mx-compose #fm_sendsms > .row:nth-of-type(2){ display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr); gap:20px; margin:0; }
.mx-compose #fm_sendsms > .row:nth-of-type(2) > [class*="col-"]{ width:auto; float:none; padding:22px; background:var(--mx-surface); border:1px solid var(--mx-line); border-radius:var(--mx-r-lg); }
.mx-compose #fm_sendsms > .row:nth-of-type(2)::before, .mx-compose #fm_sendsms > .row:nth-of-type(2)::after{ display:none; }
.mx-compose #fm_sendsms > .row:nth-of-type(3){ margin-top:20px; }
@media (max-width: 1000px){ .mx-compose #fm_sendsms > .row:nth-of-type(2){ grid-template-columns:1fr; } }
.mx-count{ display:flex; justify-content:space-between; align-items:center; margin:-4px 0 8px; font-size:13px; color:var(--mx-muted); }
.mx-count strong{ color:var(--mx-ink); font-weight:800; }
.mx-warn{ display:flex; gap:12px; align-items:center; margin:0 0 12px; padding:12px 14px; border-radius:var(--mx-r); background:var(--mx-warn-t); color:#4A3200; font-size:13px; line-height:1.45; }
.mx-warn[hidden]{ display:none; }
.mx-warn .mx-btn-ghost{ border-color:#C98A12; color:#4A3200; }
.mx-summary{ margin-top:18px; padding-top:16px; border-top:1px solid var(--mx-line); display:flex; flex-direction:column; gap:10px; font-size:14px; }
.mx-summary h3{ margin:0 0 2px; font-size:15px !important; }
.mx-summary > div{ display:flex; justify-content:space-between; gap:12px; }
.mx-summary > div span{ color:var(--mx-muted); }
.mx-summary .mx-s-total{ padding-top:10px; border-top:1px solid var(--mx-line); }
.mx-summary .mx-s-total span{ color:var(--mx-ink); font-weight:700; }
.mx-summary .mx-s-total strong{ font-size:18px; }
.mx-s-note{ margin:0; font-size:12px; color:var(--mx-muted); }
.mx-s-note:empty{ display:none; }

/* ---------- Login ---------- */
.mx-login body{ min-height:100vh; }
.mx-login #main-body > .container{ max-width:460px; margin:0 auto; padding:64px 16px 24px; }
.mx-login #main-footer > .container{ max-width:460px; margin:0 auto; text-align:center; }
.mx-login #main-content > table{ width:100%; }
.mx-login .playsms-login-box{ width:100%; margin-top:0 !important; padding:28px 12px 12px !important; border-radius:18px !important; box-shadow:0 18px 50px -24px rgba(20,20,20,.35) !important; }
.mx-login .playsms-login-box table{ width:88% !important; }
.mx-login .misms-login-logo img{ height:46px; }
.mx-login .misms-login-sub{ font-size:14px; margin:6px 0 22px; }
.mx-label{ display:block; margin:0 0 6px; font-size:13px; font-weight:600; color:var(--mx-ink); text-align:left; }
.mx-login .playsms-login-box .form-control{ height:48px !important; border:1px solid var(--mx-field); border-radius:var(--mx-r) !important; font-size:15px; margin-bottom:16px !important; box-shadow:none; }
.mx-login .playsms-login-box .form-control:focus{ outline:2px solid var(--mx-red); outline-offset:1px; border-color:var(--mx-red); }
.mx-passwrap{ position:relative; }
.mx-showpass{ position:absolute; right:7px; top:30px; min-height:34px; background:var(--mx-line-2); border:0; }
.mx-login .playsms-login-box input[type=submit]{ height:50px !important; border-radius:var(--mx-r) !important; font-size:16px; }
.mx-login .playsms-login-box a{ font-weight:600; }

/* ---------- Panel de inicio ---------- */
.misms-ui .misms-hero{ background:#141414 !important; box-shadow:none; }
.misms-ui .misms-hero:after{ display:none; }
.misms-ui .misms-kpi{ box-shadow:none; }
.misms-ui .misms-kpi:before{ display:none; }
.misms-ui .misms-card{ box-shadow:none; min-width:0; }
.misms-ui .misms-grid > *, .misms-ui .misms-kpis > *{ min-width:0; }
.misms-ui .misms-canvas canvas{ max-width:100%; }
.misms-ui .misms-hero{ margin-top:0; }
.misms-ui #main-content .select2-container input, .misms-ui #main-content .select2-search-field input{ min-height:0 !important; height:30px !important; padding:0 6px !important; border:0 !important; outline:0 !important; background:transparent !important; box-shadow:none !important; }
@media (min-width: 1001px) and (max-width: 1280px){ .mx-compose #fm_sendsms > .row:nth-of-type(2){ grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); } .mx-compose #fm_sendsms > .row:nth-of-type(2) > [class*="col-"]:first-child{ grid-row:span 2; } }

/* Buscador de reportes (playSMS 1.4.7): filtros en una grilla compacta */
.misms-ui .search_form_box{ margin:0 0 16px; }
.misms-ui .search_form_box .table-responsive{ padding:16px; }
.misms-ui .search_form_box table, .misms-ui .search_form_box tbody{ display:block; }
.misms-ui .search_form_box tbody{ display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:12px 16px; }
.misms-ui .search_form_box tr{ display:flex; flex-direction:column; gap:6px; }
.misms-ui #main-content .search_form_box td{ display:flex; align-items:center; gap:6px; padding:0 !important; border:0 !important; font-size:12px; font-weight:600; color:var(--mx-ink); }
.misms-ui .search_form_box td input[type=text]{ width:100%; }
.misms-ui .search_form_box tr:last-child{ grid-column:1 / -1; }
.misms-ui .search_form_box td[colspan] input[type=submit]{ display:inline-flex !important; }
.misms-ui .search_form_box > p{ margin:10px 2px 0; font-size:13px; color:var(--mx-muted); }
.misms-ui .playsms-nav-bar{ display:flex; gap:6px; justify-content:center; align-items:center; flex-wrap:wrap; font-size:13px; }
.misms-ui .playsms-nav-bar a, .misms-ui .playsms-nav-bar u{ display:inline-flex; align-items:center; justify-content:center; min-width:32px; height:32px; padding:0 8px; border:1px solid var(--mx-line); border-radius:8px; background:var(--mx-surface); text-decoration:none; }
.misms-ui .playsms-nav-bar u{ background:var(--mx-red); border-color:var(--mx-red); color:#fff; font-weight:700; }
/* Captcha del login (playSMS 1.4.7) */
.mx-login .playsms-login-box .well{ display:flex; flex-direction:column; align-items:flex-start; gap:8px; margin:0 0 16px; padding:12px; border:1px solid var(--mx-line); border-radius:var(--mx-r); background:#FAF9F6; box-shadow:none; font-size:12px; color:var(--mx-muted); text-align:left; }
.mx-login .playsms-login-box .well img{ border-radius:6px; }

/* Selector rápido de idioma (ES · EN · PT) */
.mx-lang{ display:inline-flex; gap:2px; padding:3px; border:1px solid var(--mx-line); border-radius:10px; background:var(--mx-surface); }
.mx-lang button{ min-width:36px; height:30px; padding:0 8px; border:0; border-radius:7px; background:transparent; color:var(--mx-muted); font:inherit; font-size:12px; font-weight:700; letter-spacing:.4px; cursor:pointer; }
.mx-lang button:hover{ background:var(--mx-line-2); color:var(--mx-ink); }
.mx-lang button[aria-pressed="true"]{ background:var(--mx-ink); color:#fff; }
.mx-lang button:focus-visible{ outline:2px solid var(--mx-red); outline-offset:1px; }
.mx-lang-login{ display:flex; width:max-content; margin:0 auto 20px; }
@media (max-width: 480px){ .mx-top .mx-lang button{ min-width:30px; padding:0 5px; } .mx-credit > span:first-child{ display:none; } }

/* Verificación en dos pasos */
.mx-mfa-box .mx-mfa-title{ margin:4px 0 10px; font-size:20px; font-weight:800; letter-spacing:-.3px; color:var(--mx-ink); text-align:left; }
.mx-mfa-box .mx-mfa-p{ margin:0 0 16px; font-size:14px; line-height:1.5; color:var(--mx-ink-2); text-align:left; }
.mx-mfa-box .mx-mfa-small{ font-size:12.5px; color:var(--mx-muted); margin-top:-6px; }
.mx-mfa-box .mx-otp{ font-size:22px !important; letter-spacing:4px; text-align:center; font-variant-numeric:tabular-nums; }
.mx-mfa-box .mx-check{ display:flex; align-items:center; gap:8px; margin:0 0 16px; font-size:13px; font-weight:500; color:var(--mx-ink-2); text-align:left; }
.mx-mfa-box .mx-check input{ accent-color:var(--mx-red); width:16px; height:16px; margin:0; }
.mx-mfa-box input[type=submit], .mx-mfa-box .mx-btn-block{ width:100%; }
.mx-mfa-box .mx-btn-block{ display:flex; align-items:center; justify-content:center; min-height:48px; border-radius:var(--mx-r); background:var(--mx-red); color:#fff !important; font-weight:700; text-decoration:none !important; }
.mx-mfa-box .mx-recovery{ margin:0 0 14px; text-align:left; font-size:13px; }
.mx-mfa-box .mx-recovery summary{ cursor:pointer; color:var(--mx-red-d); font-weight:600; margin-bottom:10px; }
.mx-mfa-box .mx-mfa-steps{ margin:0 0 16px; padding-left:20px; text-align:left; font-size:14px; line-height:1.5; color:var(--mx-ink-2); display:flex; flex-direction:column; gap:10px; }
.mx-mfa-box .mx-qr{ width:190px; height:190px; margin:12px 0 8px; padding:6px; background:#fff; border:1px solid var(--mx-line); border-radius:12px; }
.mx-mfa-box .mx-qr svg{ width:100%; height:100%; display:block; }
.mx-mfa-box .mx-key-wrap{ font-size:12.5px; color:var(--mx-muted); }
.mx-mfa-box .mx-key{ display:block; margin-top:6px; padding:8px 10px; border-radius:8px; background:var(--mx-line-2); color:var(--mx-ink); font-size:14px; letter-spacing:1px; word-break:break-all; white-space:normal; }
.mx-mfa-box .mx-codes{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px; margin:0 0 18px; padding:0; list-style:none; }
.mx-mfa-box .mx-codes li{ padding:10px; border:1px dashed var(--mx-field); border-radius:8px; font-family:ui-monospace, Menlo, monospace; font-size:15px; font-weight:700; text-align:center; letter-spacing:1px; }
.mx-mfa-box .mx-alert{ margin:0 0 16px; padding:10px 12px; border-radius:var(--mx-r); font-size:13px; line-height:1.45; text-align:left; }
.mx-mfa-box .mx-alert-err{ background:var(--mx-err-t); color:var(--mx-err); }
.mx-mfa-box .mx-alert-ok{ background:var(--mx-ok-t); color:var(--mx-ok); }
.mx-mfa-box .mx-mfa-actions{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:12px; }
.mx-mfa-box .mx-mfa-actions .button{ flex:1 1 auto; }
.mx-mfa-box .mx-mfa-links{ margin:16px 0 0; font-size:13px; text-align:center; }
.mx-mfa-box details form input[type=submit]{ margin-top:4px; }

/* Accesos directos del panel (visibles con ambos diseños) */
.misms-hero-act{ position:relative; z-index:1; display:flex; gap:10px; flex-wrap:wrap; }
.misms-hero-btn{ display:inline-flex; align-items:center; min-height:44px; padding:0 18px; border-radius:10px; background:#E2231A; color:#fff !important; font-weight:700; text-decoration:none !important; }
.misms-hero-btn:hover{ background:#A81913; }
.misms-hero-btn2{ background:transparent; border:1px solid rgba(255,255,255,.4); }
.misms-hero-btn2:hover{ background:rgba(255,255,255,.1); }
.misms-kpi-ic svg{ display:block; }

/* Captcha del login: imagen grande y clara, campo debajo */
.mx-login .playsms-login-box .mx-captcha{ margin:0 0 16px; padding:0; border:0; background:none; box-shadow:none; text-align:left; }
.mx-login .mx-captcha-row{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:0 0 8px; }
.mx-login .mx-captcha-img{ display:block; width:220px; max-width:100%; height:auto; border:1px solid var(--mx-line); border-radius:8px; background:#fff; }
.mx-login .mx-captcha-new{ font-size:13px; font-weight:600; color:var(--mx-red-d); text-decoration:underline; cursor:pointer; }
.mx-login .mx-captcha-new[aria-busy=true]{ opacity:.5; pointer-events:none; }
.mx-login #mx-cap{ letter-spacing:.12em; }

/* Contraseña: pantalla propia y acceso desde la lista de usuarios */
.mx-pwd-box .form-control{ margin-bottom:12px; }
.mx-pwd-box .mx-mfa-small{ margin-top:-4px; }
.mx-pwd-box .mx-temp{ margin:10px 0; font-size:20px; font-weight:800; letter-spacing:2px; text-align:center; font-family:ui-monospace, Menlo, monospace; }
.mx-pwd-box details .mx-btn-ghost{ width:100%; min-height:44px; }
a.mx-pwd-reset{ display:inline-flex; align-items:center; margin-left:6px; color:var(--mx-ink-2); vertical-align:middle; }
a.mx-pwd-reset:hover{ color:var(--mx-red-d); }
[aria-busy=true].button, input[aria-busy=true], button[aria-busy=true]{ opacity:.6; cursor:progress; }
