/* Triback Platform · estilos base. Los colores y fuentes salen de la configuración del cliente (variables :root). */
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:var(--f-texto);color:var(--texto);background:var(--suave);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--f-titulos);color:var(--oscuro);line-height:1.2;margin:0 0 .6em}
h1{font-size:1.75rem;font-weight:700}
h2{font-size:1.15rem;font-weight:600}
a{color:var(--primario)}
small{display:block;color:#888;font-size:.8em}
.sutil{color:#777}

/* Barra superior */
.barra{background:var(--oscuro);color:var(--claro);position:sticky;top:0;z-index:5}
.barra-in{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:24px;padding:10px 16px}
.logo img{height:34px;display:block}
.logo span{color:var(--claro);font-family:var(--f-titulos);font-weight:700;text-decoration:none}
.barra nav{display:flex;gap:4px;flex:1;overflow-x:auto}
.barra nav a{color:#ddd;text-decoration:none;padding:8px 12px;border-radius:8px;white-space:nowrap;font-size:.92rem}
.barra nav a:hover{background:rgba(255,255,255,.08);color:#fff}
.barra nav a.activo{color:#fff;box-shadow:inset 0 -3px 0 var(--primario);border-radius:0}
.quien{display:flex;align-items:center;gap:14px;font-size:.88rem;white-space:nowrap}
.quien small{color:#aaa}
.salir{color:#fff;border:1px solid #555;padding:6px 12px;border-radius:8px;text-decoration:none}
.salir:hover{border-color:var(--primario)}

/* Contenido */
.contenido{max-width:1200px;margin:0 auto;padding:28px 16px 60px}
.solo{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px}
.pie{text-align:center;color:#aaa;font-size:.78rem;padding:16px}
.solo + .pie{display:none}
.tarjeta{background:var(--claro);border-radius:14px;padding:22px;box-shadow:0 1px 3px rgba(0,0,0,.06);margin-bottom:20px}
.titulo-fila{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.cuadricula{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.cifras{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:20px 0}
.cifra{background:var(--claro);border-radius:14px;padding:18px 20px;border-top:4px solid var(--primario)}
.cifra span{font-family:var(--f-titulos);font-size:1.8rem;font-weight:700;color:var(--oscuro)}

/* Acceso */
.acceso{width:100%;max-width:420px}
.acceso-marca{text-align:center;margin-bottom:18px}
.acceso-marca img{max-width:180px;max-height:90px}
.acceso-marca p{color:#777;margin:.4em 0 0}
.acceso-form{display:flex;flex-direction:column;gap:14px;border-top:5px solid var(--primario)}
.enlace-sutil{text-align:center;font-size:.9rem;color:#777}

/* Formularios */
label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.88rem;color:var(--oscuro)}
input,select,textarea{font:inherit;font-weight:400;padding:10px 12px;border:1px solid #d6d6d6;border-radius:9px;background:#fff;color:var(--texto);width:100%}
input:focus,select:focus{outline:2px solid var(--primario);outline-offset:0;border-color:transparent}
input:disabled{background:#f2f2f2}
.formulario{display:flex;flex-direction:column;gap:14px}
.dos,.tres{display:grid;gap:14px}
@media(min-width:720px){.dos{grid-template-columns:1fr 1fr}.tres{grid-template-columns:1fr 1fr 1fr}}
fieldset{border:1px solid #e5e5e5;border-radius:12px;padding:14px}
legend{font-weight:700;padding:0 6px;color:var(--oscuro)}
.niveles{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:10px}
.radio,.check{flex-direction:row;align-items:center;gap:8px;font-weight:400}
.radio input,.check input{width:auto}
.refs{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 14px;max-height:280px;overflow:auto;padding:4px}
.botones{display:flex;justify-content:flex-end;gap:10px}
.en-linea{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.en-linea input{flex:1;min-width:120px}
.buscador{display:flex;gap:8px;margin:0 0 14px;max-width:520px}
.colores{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}
.color-fila{display:flex;gap:8px}
.color-fila input[type=color]{width:46px;padding:2px;height:42px}
.muestra-logo{background:var(--oscuro);padding:14px;border-radius:10px;display:inline-block}
.muestra-logo img{height:44px;display:block}
.copiable{font-family:monospace;font-size:.85rem}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-weight:600;padding:10px 18px;border-radius:9px;border:1px solid #cfcfcf;background:#fff;color:var(--oscuro);text-decoration:none;cursor:pointer}
.btn:hover{border-color:var(--oscuro)}
.btn-primario{background:var(--primario);border-color:var(--primario);color:#fff}
.btn-primario:hover{filter:brightness(.92);border-color:var(--primario)}
.enlace{background:none;border:0;padding:0;color:var(--primario);font:inherit;cursor:pointer;text-decoration:underline}

/* Tablas */
.tabla{width:100%;border-collapse:collapse;font-size:.9rem}
.tarjeta:has(.tabla){overflow-x:auto}
.tabla th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#888;font-weight:600;padding:8px 10px;border-bottom:2px solid #eee}
.tabla td{padding:10px;border-bottom:1px solid #f0f0f0;vertical-align:top}
.tabla tr.apagado td{color:#aaa}
.acciones{white-space:nowrap}
.acciones a,.acciones form{display:inline;margin-right:10px}
.detalle{font-size:.8rem;color:#666;max-width:420px}
.etiqueta{display:inline-block;font-size:.75rem;font-weight:600;padding:3px 9px;border-radius:20px;background:#eee}
.etiqueta-activo{background:#e7f6ec;color:#1d7a3b}
.etiqueta-inactivo{background:#f3f3f3;color:#888}
.lista{list-style:none;padding:0;margin:0 0 8px}
.lista li{padding:6px 0;border-bottom:1px solid #f2f2f2;display:flex;justify-content:space-between;gap:8px}

/* Avisos */
.aviso{padding:12px 14px;border-radius:10px;margin-bottom:14px;font-size:.92rem}
.aviso-ok{background:#e7f6ec;color:#1d5b31}
.aviso-error{background:#fdeceb;color:#8a1f19}
.aviso-info{background:#eef3fb;color:#24426e}

@media(max-width:720px){
  .barra-in{flex-wrap:wrap;gap:10px}
  .barra nav{order:3;width:100%}
  .quien{margin-left:auto}
}
