*{box-sizing:border-box}.tq-app{max-width:1100px;margin:20px auto;color:#111827;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}.tq-header{background:#111827;color:#fff;padding:24px;border-radius:0 0 22px 22px}.tq-brand{font-size:22px;font-weight:900;letter-spacing:.4px}.tq-sub{font-size:12px;color:#cbd5e1;margin-top:4px}.tq-header h2{font-size:25px;margin:20px 0 4px}.tq-header p{margin:4px 0;color:#e5e7eb}.tq-main{padding:16px}.tq-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.tq-stat,.tq-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:18px;margin-bottom:13px}.tq-stat b{display:block;font-size:26px}.tq-stat span,.tq-muted{color:#6b7280;font-size:13px;line-height:1.5}.tq-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tq-card h3{margin:0 0 10px;font-size:18px}.tq-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.tq-item{padding:12px 0;border-top:1px solid #eee}.tq-item p{margin:6px 0}.tq-item small{color:#6b7280}.tq-badge{display:inline-block;background:#dbeafe;color:#1e40af;border-radius:30px;padding:5px 9px;font-size:11px;font-weight:800}.tq-form label,.tq-card form label{display:block;font-size:12px;font-weight:800;margin:12px 0 6px}.tq-form input:not([type=checkbox]),.tq-form select,.tq-form textarea,.tq-card form input:not([type=checkbox]),.tq-card form select,.tq-card form textarea{width:100%;padding:11px;border:1px solid #d1d5db;border-radius:9px;background:#fff;font:inherit;max-width:100%}.tq-consent{display:flex!important;gap:8px;align-items:flex-start;font-weight:400!important;line-height:1.4}.tq-consent input{width:auto!important;margin-top:3px}.tq-primary,.tq-download{display:inline-block;border:0;border-radius:10px;background:#111827;color:#fff!important;padding:12px 15px;font-weight:800;text-decoration:none;cursor:pointer;margin-top:12px}.tq-download{background:#eef2ff;color:#1e3a8a!important;margin-top:4px}.tq-alert{background:#dcfce7;color:#166534;border:1px solid #bbf7d0;border-radius:10px;padding:12px;margin:12px 0}.tq-error{background:#fee2e2;color:#991b1b}.tq-logout{display:inline-block;color:#fff!important;text-decoration:underline;margin-top:10px}.tq-app a{word-break:break-word}@media(max-width:720px){.tq-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tq-columns{grid-template-columns:1fr}.tq-main{padding:10px}.tq-header{padding:20px}.tq-card{padding:14px}}/* v0.3: dashboard with separate button-led sections */
.tq-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.tq-tile{position:relative;display:flex;flex-direction:column;gap:8px;min-height:175px;padding:18px;background:linear-gradient(145deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:18px;color:#111827!important;text-decoration:none!important;box-shadow:0 4px 14px rgba(15,23,42,.04);transition:transform .15s,box-shadow .15s}.tq-tile:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(15,23,42,.10)}.tq-tile-icon{font-size:30px;line-height:1.1}.tq-tile b{font-size:16px}.tq-tile small{font-size:12px;line-height:1.45;color:#64748b}.tq-tile-count{position:absolute;right:14px;top:14px;background:#dbeafe;color:#1d4ed8;border-radius:30px;padding:4px 8px;font-weight:800;font-size:11px}.tq-tile-arrow{margin-top:auto;font-size:12px;font-weight:800;color:#1d4ed8}.tq-back{display:inline-block;margin:2px 0 18px;color:#1d4ed8;text-decoration:none;font-weight:800}.tq-section-title{padding:12px 2px 5px}.tq-section-title h2{margin:0 0 5px;font-size:25px}.tq-section-title p{color:#64748b;margin:0 0 14px}.tq-record-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:18px;margin:12px 0;box-shadow:0 3px 12px rgba(15,23,42,.035)}.tq-record-card h3{margin:0;font-size:17px}.tq-footnote{padding:8px 4px}.tq-admin-summary{display:flex;gap:14px;margin:20px 0}.tq-admin-summary>div{background:#fff;border:1px solid #dcdcde;border-radius:12px;padding:18px;min-width:170px}.tq-admin-summary b,.tq-admin-summary span{display:block}.tq-admin-summary b{font-size:25px}.tq-admin-summary span{color:#646970}.tq-admin-client{background:#fff;border:1px solid #dcdcde;border-radius:12px;padding:18px;margin:16px 0;max-width:1000px}.tq-admin-client h2{margin-top:0}.tq-admin .widefat td{vertical-align:middle}.tq-admin .form-table input,.tq-admin .form-table select,.tq-admin .form-table textarea{max-width:100%}@media(max-width:800px){.tq-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.tq-tile{min-height:155px;padding:14px}}@media(max-width:430px){.tq-tiles{gap:9px}.tq-tile{min-height:145px;padding:12px}.tq-tile b{font-size:14px}.tq-tile-icon{font-size:25px}}

/* --- v0.6.0 · seguimiento de reparación, aprobación de presupuestos y app móvil --- */
.tq-badge-ok{background:#dcfce7;color:#166534}
.tq-approved{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;border-radius:12px;padding:12px 14px;font-weight:700;margin:12px 0 0;line-height:1.5}
.tq-approve-form{margin:12px 0 0}
.tq-approve{display:block;width:100%;border:0;border-radius:10px;background:#16a34a;color:#fff;padding:13px 15px;font:inherit;font-weight:800;cursor:pointer}
.tq-approve:hover{background:#15803d}
.tq-progress{height:8px;background:#e5e7eb;border-radius:9px;margin:14px 0;overflow:hidden}
.tq-progress i{display:block;height:100%;background:#111827;border-radius:9px;transition:width .3s}
.tq-steps{margin:6px 0 10px}
.tq-step{display:flex;gap:12px;margin:14px 0}
.tq-step-dot{width:18px;height:18px;border-radius:50%;border:3px solid #d1d5db;background:#fff;flex:none;margin-top:2px}
.tq-step.done .tq-step-dot{background:#16a34a;border-color:#16a34a}
.tq-step.current .tq-step-dot{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.16)}
.tq-step b{display:block}
.tq-step p{margin:4px 0 0;color:#6b7280;font-size:13px;line-height:1.45}
.tq-step.current b{color:#1d4ed8}
.tq-step:not(.done):not(.current){opacity:.85}
.tq-step:not(.done):not(.current) b{color:#9ca3af}
.tq-secondary{display:inline-block;background:#eef2ff;color:#1e3a8a!important;border-radius:10px;padding:11px 14px;font-weight:800;text-decoration:none;margin-top:12px}
.tq-install-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:18px;margin:13px 0}
.tq-install-btn{display:block;width:100%;border:0;border-radius:10px;background:#111827;color:#fff;padding:13px 15px;font:inherit;font-weight:800;cursor:pointer;margin-top:12px}
.tq-install-btn:hover{background:#1f2937}
.tq-install-help{margin-top:12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:12px 14px}
.tq-install-help p{margin:6px 0;font-size:13px;color:#374151;line-height:1.5}
.tq-repair-summary .tq-progress{margin-bottom:10px}
.tq-repair-summary p{margin:0 0 4px}
.tq-quote-card .tq-badge-ok,.tq-record-card .tq-badge-ok{font-weight:800}

/* --- v1.0.0 · botones y condiciones más visibles, citas y rendimiento --- */
.tq-terms{display:flex!important;gap:12px;align-items:flex-start;background:#f9fafb;border:2px solid #d1d5db;border-radius:14px;padding:14px 16px;margin:16px 0 8px!important;font-size:14px!important;line-height:1.5;font-weight:600!important;color:#111827}
.tq-terms input[type=checkbox]{width:22px!important;height:22px!important;min-width:22px;margin:1px 0 0!important;flex:none;accent-color:#16a34a;cursor:pointer}
.tq-terms a{text-decoration:underline}
.tq-primary,.tq-approve{font-size:16px!important;padding:16px 18px!important;border-radius:12px;letter-spacing:.02em}
.tq-primary{box-shadow:0 4px 14px rgba(17,24,39,.18)}
.tq-approve{box-shadow:0 4px 14px rgba(22,163,74,.25)}
.tq-approve-form{margin-top:14px}
.tq-terms+.tq-primary,.tq-terms+.tq-approve{margin-top:12px}
.tq-section-label{margin:26px 4px 8px;font-size:13px;font-weight:800;color:#64748b;letter-spacing:.06em;text-transform:uppercase}
.tq-next-appointment h3{margin:0 0 6px}
.tq-next-appointment .tq-countdown{margin-top:12px}
.tq-next-appointment .tq-primary{margin-top:14px;display:block;text-align:center;text-decoration:none}
.tq-appointment-card .tq-countdown{margin-top:10px;padding:10px 14px}
.tq-appointment-card .tq-countdown-days{font-size:17px;margin:0}
.tq-appointment-card .tq-countdown p{margin:4px 0 0}
.tq-review-banner{display:block;background:#fffbeb;border:1px solid #fcd34d;border-left:5px solid #f59e0b;color:#92400e!important;border-radius:14px;padding:14px 16px;margin:12px 0;text-decoration:none!important;font-weight:800;line-height:1.4}
.tq-review-banner span{display:block;font-weight:400;font-size:13px;color:#b45309;margin-top:4px}
.tq-review-banner-late{background:#fef2f2;border-color:#fca5a5;border-left-color:#dc2626;color:#991b1b!important}
.tq-review-banner-late span{color:#b91c1c}
.tq-countdown{border-radius:14px;padding:14px 16px;margin:14px 0 0;border:1px solid #e5e7eb;background:#f9fafb}
.tq-countdown-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}
.tq-countdown-title{font-weight:800;font-size:13px}
.tq-countdown-date{color:#6b7280;font-size:13px;font-weight:700}
.tq-countdown-days{display:block;font-size:20px;margin:8px 0 2px}
.tq-countdown-ok{background:#f0fdf4;border-color:#bbf7d0}
.tq-countdown-ok .tq-countdown-days{color:#166534}
.tq-countdown-soon{background:#fffbeb;border-color:#fcd34d}
.tq-countdown-soon .tq-countdown-days{color:#b45309}
.tq-countdown-soon .tq-progress i{background:#f59e0b}
.tq-countdown-late{background:#fef2f2;border-color:#fca5a5}
.tq-countdown-late .tq-countdown-days{color:#b91c1c}
.tq-countdown-late .tq-progress i{background:#dc2626}
.tq-countdown p{margin:6px 0 0;font-size:13px;color:#4b5563;line-height:1.5}
.tq-review-card .tq-secondary{margin-top:10px}
.tq-due-ok{background:#f0fdf4;color:#166534}
.tq-due-soon{background:#fffbeb;color:#b45309}
.tq-due-late{background:#fef2f2;color:#b91c1c}

/* --- v0.8.0 · saludo visible, avisos destacados, presupuestos plegables y aviso de variación --- */
.tq-header h2{color:#fff}
.tq-app .tq-header h2{color:#fff!important}
.tq-app .tq-header p{color:#e5e7eb!important}
.tq-app .tq-header .tq-brand{color:#fff!important}
.tq-app .tq-header .tq-sub{color:#cbd5e1!important}
.tq-header h2,.tq-header .tq-brand{text-shadow:0 1px 2px rgba(0,0,0,.35)}
.tq-notice-banner{display:block;background:#fff7ed;border:1px solid #fdba74;border-left:5px solid #f97316;color:#9a3412!important;border-radius:14px;padding:14px 16px;margin:12px 0;text-decoration:none!important;font-weight:800;line-height:1.4}
.tq-notice-banner span{display:block;font-weight:400;font-size:13px;color:#c2410c;margin-top:4px}
.tq-notices-read{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;border-radius:12px;padding:10px 14px;font-size:13px;margin:12px 0}
.tq-quote-details{background:#fff;border:1px solid #e2e8f0;border-radius:16px;margin:12px 0;overflow:hidden;box-shadow:0 3px 12px rgba(15,23,42,.035)}
.tq-quote-details>summary{display:flex;align-items:center;gap:10px;padding:15px 16px;cursor:pointer;list-style:none}
.tq-quote-details>summary::-webkit-details-marker{display:none}
.tq-quote-service{flex:1;font-weight:800;font-size:15px}
.tq-quote-total{font-weight:800;white-space:nowrap}
.tq-quote-open{font-size:12px;color:#1d4ed8;font-weight:800;white-space:nowrap}
.tq-quote-details[open] .tq-quote-open::after{content:' ▲'}
.tq-quote-details:not([open]) .tq-quote-open::after{content:' ▼'}
.tq-quote-body{padding:2px 16px 16px;border-top:1px solid #f1f5f9}
.tq-quote-body h3{margin:14px 0 0;font-size:17px}
.tq-warning{background:#fffbeb;border:1px solid #fcd34d;color:#92400e;border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.55;margin:14px 0 0}
.tq-warning b{font-weight:800}
.tq-approve-check{font-size:13px;line-height:1.5;color:#374151}
.tq-vehicle-picker{max-width:100%}

/* --- v0.7.0 · vehículos añadidos por el cliente --- */
.tq-plate{display:inline-block;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;padding:3px 9px;font-weight:800;letter-spacing:.06em;font-size:13px;color:#111827;margin-top:6px}
#tq-add-vehicle{margin-top:14px}
#tq-add-vehicle h3{margin-bottom:6px}

/* --- v1.3.0 · fotos de reparación --- */
.tq-logo{width:38px;height:38px;border-radius:9px;vertical-align:-9px;margin-right:10px;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.tq-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin:14px 0 8px}
.tq-photo{display:block;position:relative;padding-top:75%;border-radius:12px;overflow:hidden;background:#e5e7eb;border:1px solid #e2e8f0}
.tq-photo img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block}
.tq-photo:hover img{opacity:.92}
.tq-photos-card h3{margin:0}

/* --- v1.4.0 · ficha de taller --- */
.tq-badge-taller{background:#fef3c7;color:#92400e}

/* --- v1.6.0 · carpetas de presupuestos y ajustes de citas --- */
.tq-quote-folder{font-size:19px;line-height:1}
.tq-quote-details[open] .tq-quote-folder{filter:saturate(1.2)}
.tq-quote-service{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tq-quote-details>summary{align-items:center}
.tq-quote-details>summary .tq-badge{white-space:nowrap}
.tq-date-weekdays{max-width:100%}

/* =====================================================================
   v1.8.0 · respuesta visual al pulsar (barra + aviso con el nombre)
   ===================================================================== */
.tq-progress {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	z-index: 99999;
	pointer-events: none;
	opacity: 0;
	transition: opacity .15s;
}

.tq-progress.tq-on {
	opacity: 1;
}

.tq-progress > span {
	display: block;
	height: 100%;
	width: 38%;
	background: linear-gradient(90deg, #fca5a5, #e11d1d, #fca5a5);
	animation: tq-progress-move 1.1s ease-in-out infinite;
}

@keyframes tq-progress-move {
	0% { transform: translateX(-100%); }
	100% { transform: translateX(300%); }
}

.tq-loading {
	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 99998;
	display: none;
	pointer-events: none;
}

.tq-loading.tq-on {
	display: block;
	animation: tq-rise .18s ease both;
}

.tq-loading-card {
	display: flex;
	align-items: center;
	gap: 10px;
	background: #fff;
	color: #111827;
	border: 1px solid #e5e7eb;
	border-radius: 999px;
	padding: 9px 16px 9px 13px;
	box-shadow: 0 10px 26px rgba(15, 23, 42, .18);
	font-size: 13.5px;
	font-weight: 600;
	max-width: 86vw;
}

@keyframes tq-rise {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: none; }
}

.tq-turbo {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #e11d1d;
	animation: tq-spin 1.1s linear infinite;
}

.tq-turbo svg {
	display: block;
}

@keyframes tq-spin {
	to { transform: rotate(360deg); }
}

.tq-busy {
	pointer-events: none;
	opacity: .8;
}

.tq-btn-spin {
	display: inline-flex;
	align-items: center;
	vertical-align: -3px;
	margin-right: 7px;
	color: currentColor;
	animation: tq-spin 1.1s linear infinite;
}

.tq-btn-spin svg {
	display: block;
	width: 15px;
	height: 15px;
}

.tq-menu a.tq-on {
	background: rgba(225, 29, 29, .12);
}

/* La sección aparece suavemente al cambiar de apartado */
.tq-area > section {
	animation: tq-fade-up .22s ease both;
}

@keyframes tq-fade-up {
	from { opacity: 0; transform: translateY(5px); }
	to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	.tq-progress > span,
	.tq-turbo,
	.tq-btn-spin,
	.tq-loading-card,
	.tq-area > section {
		animation: none;
	}
}

/* --- v1.9.0 · avisos con varios mensajes: título y fecha, se abren al pulsar --- */
.tq-notice-item {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	margin: 10px 0;
	box-shadow: 0 3px 12px rgba(15, 23, 42, .035);
	overflow: hidden;
}

.tq-notice-item > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 15px 18px;
	cursor: pointer;
	list-style: none;
}

.tq-notice-item > summary::-webkit-details-marker {
	display: none;
}

.tq-notice-text {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

.tq-notice-text b {
	font-size: 16px;
	color: #111827;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tq-notice-text small {
	color: #64748b;
	font-size: 12.5px;
}

.tq-notice-open {
	flex: 0 0 auto;
	font-size: 12.5px;
	font-weight: 800;
	color: #e11d1d;
	background: #fef2f2;
	border-radius: 30px;
	padding: 6px 12px;
}

.tq-notice-item[open] .tq-notice-open {
	background: #f1f5f9;
	color: #475569;
}

.tq-notice-item[open] .tq-notice-open::after {
	content: ' ✓';
}

.tq-notice-body {
	padding: 0 18px 16px;
	color: #334155;
	line-height: 1.6;
	border-top: 1px solid #f1f5f9;
	padding-top: 14px;
}

@media (max-width: 600px) {
	.tq-loading {
		right: 12px;
		left: 12px;
		bottom: 12px;
	}

	.tq-loading-card {
		justify-content: center;
		width: 100%;
	}
}
