.aj-tt-fab { position: fixed; bottom: 24px; left: 24px; z-index: 9998; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.aj-tt-button { min-width: 60px; height: 60px; padding: 0 18px; border-radius: 50%; background: linear-gradient(135deg, #7F77DD, #534AB7); color: white; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 4px 16px rgba(83,74,183,0.4); transition: all 0.2s; font-size: 1.5rem; }
.aj-tt-button:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(83,74,183,0.5); }
.aj-tt-button.activo { border-radius: 28px; height: 50px; animation: ajTtPulse 2.4s ease-in-out infinite; }
.aj-tt-button .aj-tt-icon { font-size: 1.4rem; }
.aj-tt-button.activo .aj-tt-timer { font-family: 'SF Mono', Monaco, 'Courier New', monospace; font-size: 0.95rem; margin-left: 10px; font-weight: 600; letter-spacing: 0.04em; }
@keyframes ajTtPulse { 0%, 100% { box-shadow: 0 4px 16px rgba(83,74,183,0.4); } 50% { box-shadow: 0 4px 28px rgba(83,74,183,0.75); } }
.aj-tt-panel { position: absolute; bottom: 75px; left: 0; width: 360px; max-width: calc(100vw - 48px); background: white; border-radius: 8px; box-shadow: 0 8px 32px rgba(0,0,0,0.18); display: none; flex-direction: column; border: 1px solid #e5e5e5; }
.aj-tt-panel.open { display: flex; }
.aj-tt-panel-header { padding: 0.9rem 1rem; border-bottom: 1px solid #eee; display: flex; justify-content: space-between; align-items: center; font-weight: 600; color: #333; }
.aj-tt-close { background: none; border: none; font-size: 1.2rem; cursor: pointer; color: #999; padding: 0; }
.aj-tt-close:hover { color: #333; }
.aj-tt-panel-body { padding: 1rem; }
.aj-tt-label { display: block; font-size: 0.85rem; color: #555; margin-bottom: 0.85rem; font-weight: 500; }
.aj-tt-label select, .aj-tt-label input { display: block; width: 100%; padding: 8px 10px; border: 1px solid #ddd; border-radius: 4px; font-size: 0.9rem; margin-top: 4px; box-sizing: border-box; font-family: inherit; }
.aj-tt-actions { display: flex; gap: 0.5rem; margin-top: 0.5rem; justify-content: flex-end; }
.aj-tt-btn-start { background: linear-gradient(135deg, #7F77DD, #534AB7); color: white; border: none; padding: 10px 18px; border-radius: 4px; cursor: pointer; font-weight: 600; font-size: 0.9rem; }
.aj-tt-btn-start:hover { opacity: 0.88; }
.aj-tt-btn-stop { background: #d32f2f; color: white; border: none; padding: 10px 18px; border-radius: 4px; cursor: pointer; font-weight: 600; font-size: 0.9rem; }
.aj-tt-btn-stop:hover { background: #b71c1c; }
.aj-tt-info { background: #f8f9fa; padding: 0.85rem; border-radius: 6px; margin-bottom: 0.5rem; }
.aj-tt-row { margin-bottom: 0.45rem; font-size: 0.9rem; color: #333; }
.aj-tt-row .lbl { color: #999; font-size: 0.8rem; display: inline-block; min-width: 85px; }
.aj-tt-row a { color: #534AB7; text-decoration: none; font-weight: 600; }
.aj-tt-timer-big { font-family: 'SF Mono', Monaco, 'Courier New', monospace; font-size: 1.8rem; font-weight: 700; text-align: center; color: #534AB7; padding: 0.5rem 0; letter-spacing: 0.05em; margin-top: 0.5rem; }
