/* v9.45.0 · Páginas para clientes de 19 80 TIC Cloud (propuesta, PQR, firma, acta, agenda, contacto, formulario, mesa de ayuda).
   El mismo aire de www.1980tic.cloud: blanco, violeta, Schibsted Grotesk, esquinas muy redondeadas y sombras suaves violeta.
   Los colores y la tipografía vienen de «TIC Marca → Páginas para clientes» (variables en templates/includes/tic_publico_head.html);
   aquí solo están los valores de fábrica por si falta alguno. Todo va bajo body.tp para no tocar el escritorio de QTBRAIN. */
:root{
	--x-ink:var(--qt-c-noche);--x-soft:var(--qt-c-tinta-suave);--x-line:rgba(11,11,20,.08);--x-v:var(--qt-c-morado-vivo);--x-v2:var(--qt-c-morado-vivo);--x-vd:var(--qt-c-morado);--x-lav:var(--qt-c-lila);
	--x-cy:var(--qt-c-celeste-medio);--x-go:var(--qt-c-senal-verde);--x-alt:var(--qt-c-lienzo);--x-v-rgb:90,63,222;--x-font:"Schibsted Grotesk";
	--grad:linear-gradient(90deg,var(--x-v),var(--x-cy));
	--x-err:var(--qt-c-rojo);--x-err-bg:var(--qt-c-rojo-suave);--x-ok:var(--qt-c-verde);--x-ok-bg:var(--qt-c-verde-suave);--x-warn:var(--qt-c-ambar);--x-warn-bg:var(--qt-c-ambar-suave);
	/* nombres de las páginas anteriores: así su diseño propio (tablas, cámara, firma…) toma los colores nuevos */
	--p:var(--x-v);--s:var(--x-cy);--texto:var(--x-ink);--suave:var(--x-soft);--fondo:var(--x-alt);--tarjeta:var(--qt-c-blanco);--borde:rgba(11,11,20,.10);
	--chip:var(--x-lav);--rojo:var(--x-err);--verde:var(--x-ok);--amarillo:var(--x-warn);--acento:var(--x-v);--morado:var(--x-v);
	--celeste:var(--x-cy);--lila:var(--x-lav);
	color-scheme:light;
}
body.tp{margin:0;background:var(--qt-c-blanco);color:var(--x-ink);font-family:var(--x-font),system-ui,-apple-system,"Segoe UI",sans-serif;
	font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.tp *{box-sizing:border-box}
body.tp button,body.tp input,body.tp select,body.tp textarea{font-family:inherit}
body.tp a{color:var(--x-v)}
body.tp a:hover{color:var(--x-v2)}
body.tp :focus-visible{outline:none;box-shadow:0 0 0 4px rgba(var(--x-v-rgb),.25);border-radius:var(--qt-r-boton)}

/* ---------------------------------------------------------------- encabezado fijo */
.tp-in{max-width:1240px;margin:0 auto;padding:0 24px}
.tp-top{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(16px) saturate(160%);
	backdrop-filter:blur(16px) saturate(160%);border-bottom:1px solid var(--x-line)}
.tp-top-in{height:72px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.tp-logo{display:flex;align-items:center;min-width:0}
.tp-logo img{display:block;width:auto;max-width:200px;object-fit:contain}
.tp-nav{display:flex;gap:10px;align-items:center}

/* ---------------------------------------------------------------- encabezado de la página */
.tp-hero{position:relative;overflow:hidden;background:var(--x-alt);border-bottom:1px solid var(--x-line)}
.tp-hero::before{content:"";position:absolute;inset:-40% -10% auto auto;width:620px;height:620px;border-radius:50%;
	background:radial-gradient(circle,rgba(var(--x-v-rgb),.12),transparent 65%);pointer-events:none}
.tp-hero::after{content:"";position:absolute;left:-180px;bottom:-260px;width:520px;height:520px;border-radius:50%;
	background:radial-gradient(circle,rgba(2,189,219,.10),transparent 65%);pointer-events:none}
.tp-hero .tp-in{position:relative;max-width:928px;padding-top:56px;padding-bottom:48px}
.tp-eti{font-size:15px;font-weight:700;color:var(--x-v);margin:0 0 10px;letter-spacing:0;text-transform:none;opacity:1}
body.tp h1,.tp-hero h1{font-size:clamp(34px,4.4vw,52px);font-weight:800;letter-spacing:-.045em;line-height:1.05;color:var(--x-ink);margin:0 0 14px;
	font-family:inherit}
.tp-lead{font-size:clamp(17px,1.6vw,20px);line-height:1.55;color:var(--x-soft);max-width:720px;margin:0}

/* ---------------------------------------------------------------- contenido */
body.tp main{max-width:928px;margin:0 auto;padding:36px 24px 56px;display:flex;flex-direction:column;gap:20px}
body.tp main > *{margin-top:0;margin-bottom:0}
body.tp h2{font-size:23px;font-weight:800;letter-spacing:-.02em;line-height:1.25;margin:0 0 14px;font-family:inherit;color:var(--x-ink)}
body.tp h3{font-size:18px;font-weight:700;letter-spacing:-.01em;margin:0 0 10px;font-family:inherit}
body.tp p{margin:0 0 10px}
body.tp .caja,body.tp .card{position:relative;background:var(--qt-c-blanco);border:1px solid var(--x-line);border-radius:24px;padding:28px 28px 24px;
	box-shadow:0 30px 60px -40px rgba(60,40,160,.30);margin:0}
body.tp .caja.principal::before{content:"";position:absolute;left:24px;right:24px;top:-1px;height:4px;border-radius:0 0 4px 4px;background:var(--grad)}
body.tp .suave,body.tp .help{color:var(--x-soft);font-size:14px}
body.tp .pie{text-align:center;color:var(--x-soft);font-size:14px;margin:4px 0 0}
.tp-ayuda{display:flex;gap:10px;align-items:center;justify-content:center;color:var(--x-soft);font-size:15px;text-align:center}
.tp-ayuda a{font-weight:700}

/* ---------------------------------------------------------------- botones (píldora) */
body.tp .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:999px;
	font-weight:700;font-size:15px;line-height:1.2;border:0;cursor:pointer;text-decoration:none;text-align:center;
	transition:transform .15s,background .2s,border-color .2s,box-shadow .2s;background:var(--x-v);color:var(--qt-c-blanco);
	box-shadow:0 14px 30px -14px rgba(var(--x-v-rgb),.8);width:auto;margin:0;font-family:inherit}
body.tp .btn:hover{background:var(--x-v2);color:var(--qt-c-blanco)}
body.tp .btn:active{transform:scale(.97)}
body.tp .btn.v{background:var(--x-v);color:var(--qt-c-blanco)}
body.tp .btn.o,body.tp .btn.sec{background:var(--qt-c-blanco);color:var(--x-ink);border:1.5px solid rgba(11,11,20,.14);box-shadow:none}
body.tp .btn.o:hover,body.tp .btn.sec:hover{border-color:var(--x-ink);background:var(--qt-c-blanco);color:var(--x-ink)}
body.tp .btn.g,body.tp .btn.verde{background:var(--x-go);color:var(--qt-c-blanco);box-shadow:0 14px 30px -16px rgba(31,174,84,.75)}
body.tp .btn.g:hover,body.tp .btn.verde:hover{filter:brightness(.95)}
body.tp .btn.rojo{background:var(--qt-c-blanco);color:var(--x-err);border:1.5px solid rgba(180,35,24,.35);box-shadow:none}
body.tp .btn.rojo:hover{border-color:var(--x-err);background:var(--x-err-bg)}
body.tp .btn.lg,body.tp .btn.bloque,body.tp form > .btn,body.tp #enviar,body.tp #ver{min-height:54px;padding:0 28px;font-size:16px}
body.tp .btn.peq{min-height:44px;padding:0 18px;font-size:15px}
body.tp .btn[disabled],body.tp .btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}
body.tp .btn + .btn{margin-left:8px}
body.tp .tp-acciones{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
body.tp .bloque{display:flex;width:100%;margin-top:14px}
.tp-i{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px}

/* ---------------------------------------------------------------- formularios */
body.tp label{display:block;font-size:14px;font-weight:600;color:var(--x-ink);margin:16px 0 8px;letter-spacing:0;text-transform:none}
body.tp input[type=text],body.tp input[type=email],body.tp input[type=tel],body.tp input[type=number],body.tp input[type=date],
body.tp input[type=password],body.tp input:not([type]),body.tp select,body.tp textarea{width:100%;font-size:16px;color:var(--x-ink);
	background:var(--qt-c-lienzo);border:1px solid rgba(11,11,20,.10);border-radius:var(--qt-r-tarjeta);padding:13px 14px;line-height:1.4;
	transition:border-color .2s,box-shadow .2s,background .2s;min-height:48px}
body.tp input:focus,body.tp select:focus,body.tp textarea:focus{outline:none;background:var(--qt-c-blanco);border-color:var(--x-v);box-shadow:0 0 0 4px rgba(var(--x-v-rgb),.14)}
body.tp textarea{min-height:110px;resize:vertical;line-height:1.5}
body.tp .opcional{color:var(--x-soft);font-weight:500}
body.tp .fila2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
body.tp input[type=checkbox],body.tp input[type=radio]{accent-color:var(--x-v);width:18px;height:18px}
body.tp .chk{display:flex;gap:12px;align-items:flex-start;margin-top:18px;font-size:15px;font-weight:400;line-height:1.55;color:var(--x-ink)}
body.tp .chk input{width:18px;height:18px;margin-top:3px;flex:none}
body.tp .error-msg{font-size:13px;color:var(--qt-c-senal-rojo);margin-top:6px}
/* adjuntos: el campo de archivo cubre el área (clic o arrastrar) */
body.tp .tp-drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:96px;
	border:1.5px dashed rgba(var(--x-v-rgb),.45);border-radius:var(--qt-r-tarjeta);background:var(--qt-c-lienzo);color:var(--x-soft);font-weight:500;
	font-size:15px;text-align:center;padding:16px;margin:0;cursor:pointer;transition:border-color .2s,background .2s}
body.tp .tp-drop:hover,body.tp .tp-drop:focus-within{border-color:var(--x-v);background:var(--x-lav)}
body.tp .tp-drop b{color:var(--x-v)}
body.tp .tp-drop input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}

/* ---------------------------------------------------------------- tarjetas de opción */
body.tp .opciones,body.tp .tipos{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
body.tp .tipos{grid-template-columns:repeat(5,1fr)}
body.tp .op,body.tp .tp{display:block;width:100%;border:1.5px solid rgba(11,11,20,.10);border-radius:var(--qt-r-tarjeta);padding:16px;background:var(--qt-c-blanco);
	cursor:pointer;transition:.2s;text-align:left;color:var(--x-ink);min-height:44px;font:inherit}
body.tp .op b,body.tp .tp b{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:var(--x-ink);line-height:1.3;font-family:inherit}
body.tp .op small,body.tp .tp small{display:block;font-size:13px;color:var(--x-soft);line-height:1.4;margin-top:4px}
body.tp .op:hover,body.tp .tp:hover{border-color:var(--x-v)}
body.tp .op[aria-pressed=true],body.tp .tp[aria-pressed=true],body.tp .op.sel{border-color:var(--x-v);background:var(--x-lav);
	box-shadow:0 10px 24px -16px rgba(var(--x-v-rgb),.7)}

/* ---------------------------------------------------------------- pestañas */
body.tp .pest{display:flex;gap:4px;background:var(--qt-c-lienzo);border-radius:999px;padding:4px;margin:0 0 22px;width:100%}
body.tp .pest button{flex:1;border:0;background:transparent;color:var(--x-soft);border-radius:999px;padding:10px 16px;min-height:44px;
	font-weight:600;font-size:15px;cursor:pointer;box-shadow:none;transition:background .2s,color .2s}
body.tp .pest button[aria-selected=true]{background:var(--qt-c-blanco);color:var(--x-ink);font-weight:700;box-shadow:0 4px 14px -6px rgba(11,11,20,.18)}

/* ---------------------------------------------------------------- desplegables */
body.tp details{border-top:0;border-bottom:1px solid var(--x-line);padding:16px 0}
body.tp details:last-of-type{border-bottom:0}
body.tp summary{cursor:pointer;font-weight:700;font-size:16px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}
body.tp summary::-webkit-details-marker{display:none}
body.tp summary::after{content:"";width:10px;height:10px;flex:none;border-right:2px solid var(--x-v);border-bottom:2px solid var(--x-v);
	transform:rotate(45deg);transition:transform .2s;margin-right:4px}
body.tp details[open] > summary::after{transform:rotate(-135deg)}
body.tp details > :not(summary){margin-top:12px}

/* ---------------------------------------------------------------- resumen clave–valor */
body.tp .cols{display:grid;grid-template-columns:minmax(120px,auto) 1fr;gap:0;font-size:15px}
body.tp .cols > span,body.tp .cols > b{padding:10px 0;border-bottom:1px solid var(--x-line)}
body.tp .cols > span{color:var(--x-soft);font-size:15px;padding-right:16px}
body.tp .cols > b{color:var(--x-ink);font-weight:600;word-break:break-word}
body.tp .cols > span:nth-last-child(2),body.tp .cols > b:last-child{border-bottom:0}

/* ---------------------------------------------------------------- avisos */
body.tp .nota,body.tp .exp,body.tp .info{background:var(--x-lav);border:1px solid var(--qt-c-lavanda-suave);border-radius:var(--qt-r-tarjeta);padding:14px 16px;font-size:15px;color:var(--x-ink);margin-top:14px}
body.tp .err{background:var(--x-err-bg);color:var(--x-err);border:0;border-radius:var(--qt-r-tarjeta);padding:14px 16px;font-size:15px;margin-top:14px}
body.tp .ok:not(.caja){background:var(--x-ok-bg);color:var(--x-ok);border-radius:var(--qt-r-tarjeta);padding:14px 16px;font-size:15px;margin-top:14px}
body.tp .advertencia{background:var(--x-warn-bg);color:var(--x-warn);border-radius:var(--qt-r-tarjeta);padding:14px 16px;font-size:15px;margin-top:14px}
body.tp .chip{display:inline-flex;align-items:center;background:var(--x-lav);color:var(--x-vd);border-radius:999px;padding:2px 12px;font-size:13px;font-weight:600}

/* mensaje grande (enviado, vencido, inválido) con ícono en círculo */
body.tp .aviso{text-align:center;padding:12px 4px}
body.tp .aviso .ico{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;
	background:var(--x-lav);color:var(--x-v);font-size:30px;line-height:1;margin:0 auto 6px}
body.tp .aviso .ico.bien{background:var(--x-ok-bg);color:var(--x-go)}
body.tp .aviso .ico.mal{background:var(--x-err-bg);color:var(--x-err)}
body.tp .aviso .ico .tp-i{width:30px;height:30px}
body.tp .aviso h2{margin-top:10px}
body.tp .aviso p{margin:8px auto 0;max-width:560px}
body.tp .numero,body.tp .aviso .num{display:inline-block;font-size:32px;font-weight:800;letter-spacing:-.01em;background:var(--grad);
	-webkit-background-clip:text;background-clip:text;color:transparent;margin:8px 0;user-select:all;font-family:inherit;padding:0}

/* línea de tiempo (consulta de PQR) */
body.tp .tp-linea{list-style:none;margin:8px 0 0;padding:0 0 0 22px;position:relative}
body.tp .tp-linea::before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:var(--x-line)}
body.tp .tp-linea li{position:relative;padding:0 0 16px}
body.tp .tp-linea li::before{content:"";position:absolute;left:-21px;top:7px;width:12px;height:12px;border-radius:50%;background:var(--qt-c-blanco);border:3px solid var(--x-v)}
body.tp .tp-linea li.futuro::before{border-color:rgba(11,11,20,.2)}
body.tp .tp-linea b{display:block;font-weight:700}
body.tp .tp-linea span{color:var(--x-soft);font-size:15px}

/* ---------------------------------------------------------------- tabla de productos */
body.tp table{width:100%;border-collapse:collapse;font-size:15px}
body.tp th{background:var(--x-alt);color:var(--x-soft);font-size:13px;font-weight:600;text-align:left;padding:10px 12px}
body.tp td{padding:12px;border-bottom:1px solid var(--x-line);vertical-align:top}
body.tp td.n,body.tp th.n{text-align:right;font-variant-numeric:tabular-nums}

/* ---------------------------------------------------------------- pie */
.tp-pie{border-top:1px solid var(--x-line);background:var(--qt-c-blanco);color:var(--x-soft);font-size:14px}
.tp-pie-in{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;justify-content:space-between;padding-top:22px;padding-bottom:22px}
.tp-pie-enl{display:flex;gap:18px}
.tp-pie a{color:var(--x-soft);text-decoration:none}
.tp-pie a:hover{color:var(--x-v);text-decoration:underline}

/* ---------------------------------------------------------------- celular */
@media (max-width:860px){
	body.tp .opciones{grid-template-columns:repeat(2,1fr)}
	body.tp .tipos{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
	.tp-in{padding:0 16px}
	.tp-top-in{height:64px}
	.tp-logo img{max-width:150px;height:auto!important;max-height:30px}
	.tp-volver{display:none!important}
	body.tp .tp-nav .btn{min-height:44px;padding:0 16px;font-size:14px}
	.tp-hero .tp-in{padding-top:36px;padding-bottom:32px}
	body.tp main{padding:24px 16px 40px;gap:16px}
	body.tp .caja,body.tp .card{padding:22px 18px 20px;border-radius:var(--qt-r-tarjeta)}
	body.tp .fila2{grid-template-columns:1fr}
	body.tp main .btn:not(.peq):not(.tp-chico),body.tp form .btn{width:100%}
	body.tp .btn + .btn{margin-left:0;margin-top:10px}
	body.tp .cols{grid-template-columns:1fr}
	body.tp .cols > span{border-bottom:0;padding:10px 0 0}
	body.tp .cols > b{padding:2px 0 10px}
	.tp-pie-in{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){
	body.tp *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
