* { box-sizing: border-box; margin: 0; padding: 0; } body { width: 450px; min-height: 500px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; font-size: 14px; color: #333; background: #f5f5f5; } .container { display: flex; flex-direction: column; height: 100%; } header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 20px; text-align: center; } header h1 { font-size: 20px; margin-bottom: 5px; } header .subtitle { font-size: 12px; opacity: 0.9; } main { padding: 15px; flex: 1; overflow-y: auto; } section { background: white; border-radius: 8px; padding: 15px; margin-bottom: 15px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } section h2 { font-size: 16px; margin-bottom: 12px; color: #667eea; } .tracking-status { display: flex; align-items: center; margin-bottom: 12px; padding: 10px; background: #f9f9f9; border-radius: 4px; } .status-indicator { width: 10px; height: 10px; border-radius: 50%; background: #ccc; margin-right: 10px; } .status-indicator.active { background: #4caf50; animation: pulse 2s infinite; } @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } } #statusText { font-weight: 600; color: #555; } .button-group { display: flex; gap: 8px; margin-top: 10px; } .btn { flex: 1; padding: 10px 15px; border: none; border-radius: 4px; font-size: 14px; font-weight: 600; cursor: pointer; transition: all 0.2s; } .btn:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15); } .btn:disabled { opacity: 0.5; cursor: not-allowed; } .btn-primary { background: #667eea; color: white; } .btn-primary:hover:not(:disabled) { background: #5568d3; } .btn-secondary { background: #95a5a6; color: white; } .btn-secondary:hover:not(:disabled) { background: #7f8c8d; } .btn-danger { background: #e74c3c; color: white; } .btn-danger:hover:not(:disabled) { background: #c0392b; } .btn-sm { padding: 6px 12px; font-size: 12px; } .votes-list { max-height: 300px; overflow-y: auto; margin-bottom: 12px; } .empty-state { text-align: center; color: #999; padding: 20px; font-style: italic; } .vote-list { display: flex; flex-direction: column; gap: 8px; } .vote-item { padding: 10px; border-radius: 4px; border-left: 3px solid #ccc; } .vote-item.vote-positive { background: rgba(76, 175, 80, 0.05); border-left-color: #4caf50; } .vote-item.vote-negative { background: rgba(231, 76, 60, 0.05); border-left-color: #e74c3c; } .vote-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px; } .vote-header strong { color: #333; font-size: 13px; } .vote-time { font-size: 11px; color: #999; } .vote-message { font-size: 12px; color: #666; font-style: italic; }